BurpGuard 的使用案例
前言
越来越多的师傅正在针对渗透中前端加解密生成解决方案,例如 Galaxy:https://github.com/outlaws-bai/Galaxy,而 BurpGuard
是依赖于 mitmproxy
的开发的一个简易代理框架,可以一键启动上下游代理,并编写 Python
代码对请求和响应进行自定义修改。
阅读本文前建议读者先掌握一些 Python
的基础语法,并前往项目地址,阅读项目的使用帮助。
项目地址:https://github.com/yinsel/BurpGuard
靶场项目:https://github.com/0ctDay/encrypt-decrypt-vuls/
在线练习地址:http://39.98.108.20:8085/(非本人搭建,由先知师傅搭建,轻点测)
在线靶场来源:https://xz.aliyun.com/t/15252
JS 逆向
JS 逆向的话不是特别难,可以参考先知师傅的,讲的很详细。
https://xz.aliyun.com/t/15252
下面介绍下逆向的结果。
加密
加密采用 AES CBC 模式,PKCS 7 填充模式以及 Base 64 。
签名
根据当前日期生成时间戳 timestamp,以及 32 位的 id(通过 uuid 生成),最终通过以下公式生成 sign 值:
编写脚本并调试
以下 Demo 可直接贴在 ClientProxyHandler.py
或者是 BurpProxyHandler.py
的最下方直接运行。
解密请求数据 Demo
结果:
生成签名 Demo
原始:
结果:
复制新的签名到 Burp 中:
加密请求数据
结果:
解密响应:
结果:
最终成品
ClientProxyHandler.py
BurpProxyHandler.py
效果: