前言
分析
调试
nonce
这个应该是取随机值,然后乘以1e7,也就是1,后面7个0
最后再取整数
然后O(5)是啥,
仔细看了逻辑,虽然有ob,但我断定就是随机的5个a-z的字母。
这里直接让gpt给一个js的随机数生成方法:
ok,nonce搞定了。
sign
接着往下看,sign就在nonce下面
对这里打上断点,然后调试的时候,又看到了这个经典的问候语
怎么说,他越这样,只能越说明我们找对了。那么不出意外,g就是sign生成逻辑了。
看着确实像
g,进去看看:
最后这个l()(o),调试了发现就是md5了:
发现,这个问候语好像并没有起到任何作用。
ok,sign就搞定了。
token
再来看token,回到主逻辑代码
上面是sign,然后headers那里就是把请求的参数都生成好了,那么也就是说,token的逻辑生成只能是上面红框标注的地方,h方法断点打上,一调试:
ok,根据经验,应该就是这里了,因为它又把这个问候语传进去了。
看着逻辑也跟sign生成基本保持一致,就是它了。同样的打上断点,看看:
ok,它把nonce+10,然后把sign生成的也传入进去了,并作md5。
算法还原
稍微调整下逻辑,然后把参数封装一下请求:
over。
结语
报课优惠、工作避坑&内推(仅成都)、技术交流、商务合作、技术交流群
扫码或者搜ID:geekbyte
原文始发于微信公众号(编角料):某平台js安全逆向分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论