什么是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框架,浏览器搜索框架公开漏洞进行安全测试


浏览器搜索漏洞

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。