猿人学反混淆刷题平台:https://match.yuanrenxue.com/match/16
# 第十六题:抓取五页数字,求和
# 抓包查看请求,毫无疑问
m
是加密参数# 查看堆栈,在
window.request
调用栈中找到加密参数。# 继续分析,发现参数就是用
btoa
函数传入时间戳生成的,我们都知道btoa
是base64
编码,不可能这么简单,实际上确实如此,btoa
被魔改了# 代码扣下来,先补补环境,调试了一下就知道为啥这题叫蜜罐了。。。几个地方投了点毒,废了点劲跟了下代码。这里其实可以直接把移位后的数组抠出来,这样就可以少踩一个毒坑。
# 数组搞定后,下面又有个
c
函数有毒,node
执行也会卡死。# 继续调试,发现还有两处投毒位置,调试一下就可以看到。
# 解完毒,终于可以跑到最后了,但是还缺个
md5
,验证了一下,也是魔改的,浏览器跳转就找到了,直接补上。# 补完
md5
,加密结果就可以输出了,用 py 代码验证无误,可以获取正确的结果。
本题主要是加了些环境检测,重点不在于 webpack
了,代码不多,跟着调一下就能看到检测点。