什么是JS渗透测试?
在Javascript中也存在变量和函数,当存在可控变量及函数调用即可产生漏洞
JS开发的WEB应用和PHP,JAVA,NET等区别在于即便没有源代码,也可以通过浏览器的查看源代码获取真实的源码。所以相当于测试JS开发的WEB应用属于白盒测试(默认有源码参考)。
如何判定是JS开发应用?
1.浏览器插件wappalyzer
2.源代码简短,页面简单
3.引入多个js文件
4.一般有/static/js/app.js 等顺序的js文件
5.cookie中有connect.sid
真实应用(福利期货)-APP应用直接重置密码
burp抓包获取app重置密码的url地址
浏览器访问地址,查看页面元素获取源码进行代码审计
代码审计得知验证逻辑,状态码为200即可验证成功
更改状态码,验证成功,进入重置密码页面
又发现验证代码中跳转到重置密码页面的功能没有验证用户是否已经通过前置验证,攻击者可以直接访问如下地址+电话号码即可到重置密码页面
直接访问地址,成功到达重置密码页面。但是————重置密码时提示流程错误,无法重置密码。
再次代码审计,发现还是状态码为200即可重置密码成功
直接抓取重置密码返回包,更改状态码
放包成功重置密码,试试登录——登录成功
测试用js开发的网站时,可以查看网站是否使用了js框架,浏览器搜索框架公开漏洞进行安全测试
浏览器搜索漏洞
原文始发于微信公众号(小黑子安全):jsweb-判断js+js代码审计
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论