最近在做某银行项目,发现站点数据传输都是加密的,测试时遇到目标站点数据传输时加密。
使用js进行调试,打开f12,发现debug
先绕过debug:
第一步清除浏览器缓存,快捷键是ctrl+shift+delete
清空后重新访问目标web页面,用bp抓取返回包
将这段<script>删除,或者注释掉,然后放数据包
此时在网页,发现没有debug了
找到ajac请求的js文件
打开文件
找到发送请求和返回请求的两个函数并打断点:
返回函数(做了混淆,未做混淆的话是rpdata函数但是也不难找,如图)
再找到发送函数
两个函数都打完断点后点击相应要测试的功能点,断点来到发送函数
看成员对象_0x8823aa['params'],下面这就看到了明文参数字段
想改哪个参数就可以改了
改完后发送数据包,断点来到系统返回函数
查看返回包结果
期间如果遇到时间戳认证,可以把时间数值调大试一试绕过
以上是手工一点点弄,比较慢,也可以利用bp和脚本进行解码
(参考https://github.com/G-Security-Team/JS-Forward)
bp里边绕过debug需要在这里注释掉debug