此篇文章来源于 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、常见断点调试方法
3、加密算法调用分析
4、插件结合BURP发包
1、下载phantomjs并设置环境变量 https://phantomjs.org/download.html
2、BurpSuite加载jsEncrypter插件 https://github.com/c0ny1/jsEncrypter
3、先将引用JS文件下载后,修改插件配置文件代码
4、phantomjs执行修改后的文件,插件进行连接测试 5、抓包增加参数变量进行实例测试发包
|