目录
签名防重放现象
BurpSuite抓包 → 发送到repeater → 点击“发送”:响应结果提示“请求异常”
防重放分析
观察BurpSuite抓到的数据
发现每次请求signature字段的值都不一样。
查找“signature”关键词
浏览器中搜索JS代码中的“signature”
发现使用了nonce + timestamp(随机数+时间戳)然后用RSA加密,进行签名防重放。
查找公钥(RSA加密秘钥)
浏览器中搜索JS代码中的“setPublicKey”
拿到publickey并保存到”crypto_public_key.pem“文件中,文件格式如下图:
后续会从此文件读取公钥,用于RSA加密。
绕过思路
(1)获取“浏览器、BurpSuite repeater模块,BurpSuite 插件”发送的请求数据。
(2)重新生成nonce、timestamp、signature的值。
(3)替换原请求中的nonce、timestamp、signature的值。
(4)发送新的请求数据。
autoDecoder(BurpSuite插件)
autoDecoder项目地址
autoDecoder下载地址:https://github.com/f0ng/autoDecoder/releases
autoDecoder配置
(1)接口加解密配置
(2)选项配置
(3)配置保存