本文已参与「新人创作礼」活动,一起开启掘金创作之路。
网址:52.52dun.cn/
目标:提交发送的POST请求中的key
F12打开开发者工具会进入无限debug
看一下堆栈
这里可以看到应该是启动反调 直接替换这里的js 代码运行不了
所以再往上找堆栈 也就是这个 'uMNsN'
将函数改写 直接return
可以发现就干掉无限debug了 那么接下来就是来看看那个key是怎么生成的
提交的请求是xhr的 所以可以在xhr这下断
可以看到key在之前已经生成了 所以往上找堆栈
'_0x58240c'
这个里面有key,往上翻,可以看到生成的地方
下个断点,然后重新提交一下 断到之后,进入下一个函数调用
"1520001123428888xjdsb1655878586"
非常可疑 因为key是32位的,应该是md5
所以先试一下直接md5加密 结果发现不对 那就继续跟着
最后会找到这么一个地方 MTUyMDAwMTEyMzQyODg4OHhqZHNiMTY1NTg3OTMxOQ==
看着很像base64编码后的 解码一下会发现其实就是上面的那个明文
1520001123428888xjdsb1655879319
我这里重新提交了一次 时间戳不一样
所以很明显 key就是先把这个字符串进行base64编码,然后再进行md5加密
字符串格式:账号 + 1 + 密码 + 步数 + 2 + xjdsb + 时间戳
多抓几次测试发现没问题
字符串:1520001123428888xjdsb1655879583
base64编码:MTUyMDAwMTEyMzQyODg4OHhqZHNiMTY1NTg3OTU4Mw==
md5加密:2a84e6b456b0936ba491b4be9eee1ef7
网站生成的key:2a84e6b456b0936ba491b4be9eee1ef7