利用js文件进行渗透
【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。
本文作者:eth10(贝塔安全实验室-核心成员)
当我们访问的站点只是一个简单的登录页面时,我们应充分利用涉及到的JavaScript脚本函数或文件。
(1) 如何判断是JS开发的站
查看登录页面的页面源代码是如下图时,那么可以简单判断本站是一个纯JS开发的站。
(2) 查看重要js文件

通过页面源码可以看到是否存在有js配置文件,如图所示:

通过获取的敏感信息,有时可以直接绕过登录进入到系统中,如图:
(4) 查看app.xxx.js文件
app.xxx.js文件是系统主文件,里面可以查看到很多接口,如图:
通过获取的接口信息对应构造请求,如请求方法,header,content-type等。
(5) 构造请求

尝试功能树中的接口,可以直接获取到管理员加密hash密码,如图:
(6) 查找接口技巧
这里提供一个简单的方式,直接在浏览器中Ctrl + F进行下列关键字搜索,对于命中的会有颜色标出。也可以使用python进行页面解析一次性提取等。
搜索关键字:
http.get(”
method:”post”
http.post(“
0x02 Ajax通用接口写法
直接查看源码中的script函数,如果发现$.ajax,那么恭喜你找到了部分接口,可能存在未授权访问。
(2) 构造请求

对应构造请求,如图:
service.httppost
service.httpget
0x03 js加密密码字典生成
当你登录是发现密码是这样的:7ADAB2400D8F864E3EA5F882E124FB17270ADEC2FE75F46C300242FBB0B7D487B505364016E6E555298A3EF48ADD05FB2C93757E8C7317B246366050AA071359
如果你登录一个网站时,发现bp抓不了数据包,但是页面提示账户密码错误,那么很大可能密码是写在页面中,通过去js文件中搜索即可获取到账户密码。
- 当文件上传是通过js前端校验的,那么通过bp抓包或者禁用js即可绕过其限制;
- 当验证码是通过前端校验的,那么通过bp截断即可绕过进行暴力破解;
更多案例请参考以下文章:
- https://www.secpulse.com/archives/35877.html
- https://zhuanlan.zhihu.com/p/79335206
原创文章,作者:mOon,如若转载,请注明出处:https://www.moonsec.com/8749.html