什么是JS-Forward?
不了解的同学,可以先看看JS-Forward的Github仓库介绍,https://github.com/G-Security-Team/JS-Forward
JS-Forward是一款可以配合类似Burp Suite等抓包软件的脚本,脚本的功能是可以将js里面的参数通过Http请求将参数发送出来,在外部进行修改,最后将修改后的返回值再替换回原参数。在一些特定场景是可以方便做渗透测试、功能测试...。
比较常见是在JS加密解密场景下使用。
流程时序图
sequenceDiagram Client ->> JS_Forward: Plaintext JS_Forward ->> Brup_Suite: Plaintext Brup_Suite ->> Client: Modified Plaintext Client ->> Client: encrypt(Modified_Plaintext) Client ->> Brup_Suite: Ciphertext Brup_Suite ->> Servers: Ciphertext Servers ->> Brup_Suite: Respones Brup_Suite ->> Client: Respones使用流程
前置知识: 新版的chrome,直接修改JS代码已经不能生效,需要做替换操作,这个步骤不是本次重点,不会的同学请先自行查阅。
-
抓包查看请求接口的数据,选择被加密的参数和参数名;
-
启动JS-Forward
-
设置参数、获得payload
-
插入js代码中
-
测试
5.1
5.2
5.3
源码解读
查看源码,程序还是比较简单明了的,主要是两个部分:
- 手动设置参数;
- 开启线程监听http请求,并做转发。
总结
个人觉得配合Burp Suite手动操作,效率不是最优。有些特定接口,编写自动发包程序去自动化测试才能达到最好结果。
Reference
chrome浏览器F12调式,修改替换js文件
https://blog.csdn.net/m0_67390963/article/details/123344330