0x00 案例场景
请求包的body全部base64编码
Base64解密后的请求数据包格式如下:
每次解密,然后再手动加payload测试过于麻烦,于是就萌发了联动xray来进行扫描的想法。
0x01 流程梳理
简单梳理下流程
1、burp1负责解密,autoDecode插件貌似只做了自动加密发送到服务端,所以我们需要在加密接口里写解密脚本
Repeater中发送加密数据包,在burp的logger中查看解密出明文数据
burp1设置代理,将流量转发给xray
2、xray设置监听7777端口,同时设置代理,将流量转发给burp2,为了测试效果,xray只启用了sql注入检测
3、burp2监听xray的流量,同时将其body内容base64加密后传给服务器
0x02 实战测试
配置完成,直接通过burp1的reperter发送数据包,看看效果:
burp1解密后的body经过xray传到burp2,变成了很神奇的格式了,测试发现是因为xray无法识别这种特殊格式的body内容,到处询问未果,在某深夜,突发灵感,是不是可以自定义这个数据包内容呢?将其改成xray和服务器都可以识别的不就行了吗?
Body内容是在Request下Data中包含json格式的键值对数据,然后整体base64编码发送到服务端,在发送到xray和服务器前都是可以自定义的,那么思路就来了
Burp1中autoDecoder调用接口改组数据包body内容,如下:
xray接收到明文的json格式数据包
Burp2改组新的数据包body后加密发给服务器
0x03 实战结果
最后:感谢f神的autoDecoder,f神yyds
插件参考:https://github.com/f0ng/autoDecoder