此篇文章来源于
V2023-1第63天课件
JS前言
在Javascript中也存在变量和函数,当存在可控变量及函数调用即可参数漏洞,JS开发应用和PHP,JAVA等区别在于即没源代码,也可通过浏览器查看源代码。获取URL,获取JS敏感信息,获取代码传参等,所以相当于JS开发的WEB应用属于白盒测试,
一般会在JS中寻找更多URL地址,(加密算法,APIkey配置,验证逻辑等)进行后期安全测试。
1、会增加攻击面(URL、接口)
2、敏感信息(用户密码、ak/sk、token/session)
3、潜在危险函数(eval、dangerallySetInnerHTML)
4、流行JS框架(寻找历史漏洞Vue、NodeJS、jQuery、Angular等)
1、作用域及堆栈
作用域:简单来说就是运行后相关的数据值
调用堆栈:简单来说就是代码执行逻辑顺序
2、常见断点调试方法
-
全局搜索:通过抓包参数名或URL全局搜索
-
流程断点:F12抓网络请求包发起程序进行断点
-
标签断点:F12对标签按钮事件加入断点
-
XHR断点:F12源代码中加入XHR断点配置
3、加密算法调用分析
4、插件结合BURP发包
1、下载phantomjs并设置环境变量
https://phantomjs.org/download.html
2、BurpSuite加载jsEncrypter插件
https://github.com/c0ny1/jsEncrypter
3、先将引用JS文件下载后,修改插件配置文件代码
4、phantomjs执行修改后的文件,插件进行连接测试
5、抓包增加参数变量进行实例测试发包
原文始发于微信公众号(小迪安全):JS安全挖掘-断点|堆栈|算法|插件
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论