浅谈js在挖掘CNVD通用漏洞中的思路,附实战案例
前言:本文中涉及到的相关技术或工具仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担,如有侵权请联系。
本文纯干货详细记述了利用js在挖掘cnvd通用漏洞中的思路以及附带的实战案例。
一、前言
JS渗透测试是一种针对客户端JavaScript代码的安全测试方法,旨在发现和利用应用程序中潜在的安全漏洞。那么在本文中,我们不去讲述常见的XSS、CSRF这些漏洞,我们要去讲述一些在挖掘漏洞中非常实用的技巧,并且依靠这种方法,我也是成功挖掘到了许多cnvd的通用漏洞,欢迎各位师傅一起补充、指点。
二、正文
首先,当我们拿到一个登陆站点,常见的漏洞方法都尝试却依然无果,那么此时我们可以尝试查看网页源代码,看看都加载或者调用了哪些js文件。查看重要文件,一是寻找配置文件,二是查看app.xxx.js文件。
常见的重要文件:
配置文件 | /config/index.js | /config/menu.js | 包含index | 包含config | 包含menu | 包含common | 包含login | 包含cookie | 可以找到后台登录成功页面的地址 |
app系统主文件 | app.xxx.js | method:"get" | http.get(" | method:"post" | $.ajax | service.httppost | http.post(" | service.httpget | 会包含许多未授权接口信息 |
以上信息可以通过一些工具来完成,例如:
Findsomething:
https://www.crxsoso.com/webstore/detail/kfhniponecokdefffkpagipffdefeldb
这款工具是浏览器的插件,可以在你访问目标网站的时候,自动爬取js文件中的路径,方便后续拼接url,寻找未授权漏洞。
工具毕竟只是工具,如果你有充足的时间完全可以自己查看js文件,寻找上述敏感的配置文件,打开文件后使用CTRL+F 用来搜索敏感字符,针对app系统主文件,可以打开app.xxx.js,搜索后面我例举的那些关键字,还有一些关键字如:http、https、url、api等等,熟练使用这些查找关键字,可以成为你寻找突破点的关键。
下面给大家看一个实战某路由器的案例:
访问目标网址,前台页面
右键查看网页源代码,可以看到,当type值为0时,进入用户界面,后台地址为index.html
随意输入用户名密码,点击登陆,抓取响应包
将type值修改为0,放包
这里放包,出现验证cookie页面
这里是访问config.js文件,搜索cookie,看到当type值不为1时返回登陆界面
我们这里修改type值为1,绕过登陆验证
成功进入后台
三、总结
这个案例就是,它将登陆页面的判断逻辑放在了网页源代码中,加上查看config.js文件,通过组合的形式,我们拿到了后台。大家可能会好奇,又是怎么想到找cookie的判断逻辑呢,当我发现前端可以绕过的时候,我就猜测它其他的信息可能也会存放在网页源代码中,加上之前提到的那些敏感关键字,所以我有刻意去寻找这些文件。渗透测试还是要更多的细心,你注意到其他人没注意到的点,那你就会比别人更有机会挖到漏洞。
如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
前面有同学问我有没优惠券,这里发放100张100元的优惠券,用完今年不再发放
首发Freebuf,作者授权
原文链接:https://www.freebuf.com/articles/web/390857.html
笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,基础视频总共约200多集,目前已经录制完毕,后续还有更多视频出品
https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374
技术交流请加笔者微信:richardo1o1 (暗号:growing)