图书馆挠痒大作战请求参数分析,MurmurHash3、HMAC-MD5、反调试
js逆向
本次测试全部在本地或授权环境中进行,内容仅用于学习、技术参考与交流讨论。严禁将本文所述方法或技术用于任何非法用途。
文中提及的所有漏洞均已上报并完成修复。若读者进行类似测试,务必确保所有操作在合法、合规且获得授权的前提下进行。
如有读者因使用本文内容从事危害网络安全的行为,相关后果由其自行承担,原作者不承担任何责任。
本文为原创内容,未经授权,禁止任何形式的转载、复制或引用。如需使用,请联系作者获取授权。
图书馆挠痒大作战
aHR0cHM6Ly94aWFvbW14LmNuL25vLXVzZS9saWJyYXJ5LWl0Y2g=
创作者小毛毛熊丶制作并上线的“图书馆挠痒大作战”网页小游戏,玩家需在学习中抓痒躲避诬告,获取学习点并参与全网排名。
先看成果
过控制台检测
打开AntiDebugBreaker,勾选「Hook table」「Hook clear」
第一次请求start-session
点击开始挑战,查看请求,发现存在三个参数需要逆向,直接搜索即可
X-Timestamp
o为当前时间戳/60000
X-Auth-Hash
u
为e|t|o|s|l
拼接而来
e
为请求方法
t
为请求URL
o
为当前时间戳/60000
l
为空
s
为t()
,就在上方,t()
会保存在localStorage
中需要清空缓存获取,获取后可写死
跟进去看一下,会获取一些参数,不用管,重点看一下w()
跟进去看一下
看不懂没关系,发给AI分析一下,得到是MurmurHash3
「第一次见」
MurmurHash3功能简介
- 这是一个返回 无符号 32 位整数的哈希函数
- 接受两个参数:
o
:字符串(要计算哈希的内容)u
:初始种子值(seed)
- 输出是一个稳定的哈希值(相同字符串 + 相同种子,结果恒定)
输出结果不会改变,所以拿到结果即可
好了,t()
也获取到了,可拼接u
看下go()
是什么,跟进去
交给AI分析一下是HMAC-MD5
,密钥是bo
,也就是x
结果一致
X-Fingerprint
也就是t()
发送请求可以获取到token
第二次请求submit-score
X-Auth-Hash
l
为学习点数+token+时间
其他不变,继续拼接进u
进入go()
计算
请求体
请求体也为l
直接封装进行拼接即可