攻防比赛_猿人学攻防比赛第一题记录

实战地址:

http://match.yuanrenxue.com/match/1

打开f12 随即出现了无限debugger反调试

aece6fdb5467d969c5e7406ada6160fa.png

在debugger所在右击出现的菜单栏点击never pause here 去掉断点

6f0a08a5875f8044d4e5c916e05ac6d5.png

之后清空控制面板。 开始抓包分析,发现只有一个加密参数m

c23e5ae3a87baf1ed0687bd99f58a8eb.png

全局搜索m=,m: 发现结果 有点多。也没发现什么。。。

9ad7a259472bb5c8000d39b918bb786a.png

最后通过ajax请求的回调栈找了线索

ded3e7ab68700554458e2cb06e6e7e90.png

b42df6350afedb9e32f69a2380feacca.png

复制出来格式化此处代码

9479b19c80ccd589b5fc44399df2a1e2.png

看到这问题范围就缩小了。。。可以明确oo0O0 函数 和 window.f是关键
扣出这部分代码放到node js 中运行。

3a120b3bca2dc943218e8f6b47999bdb.png

然后本着缺啥补啥的原则继续补下去

ef88deffcce6c11ddd95d4984dea17f9.png

缺失的东西可以去控制台找譬如 document.f 值应为多少

8ee386df5a7dc205939a587d9ca50c25.png

因为不停的打印永不言弃。。。淹没自己的运行结果。。。所以我直接在那句话打了断点。防止干扰视线。

066b6b09f1f12398f1eb193800c432dc.png

继续分析oo0O0 函数,发现最后有个eval

c21d6612e588f6680708c6f28f57f4a2.png

而且函数最后也只是返回了空

可以到控制台或者node中输出一下

 atob(window['b']) , J('0x0', ']dQW'), J('0x1', 'GTu!') , '\x27' + mw + '\x27')

c3726b6e24ec873d67465e5da3b232b2.png

格式化分析atob(window['b']) 返回的代码发现了window.f的藏身之地。。哈哈哈,

7670acd836aafafdaa54c45b6c6c2f6d.png

再次回看刚刚输出的。replace   mwqqppz 等关键字。。。嗯。。

window.f的值为hex_md5(mwqqppz),   而mwqqppz被replace成了oo0O0 
函数传入的时间戳字符串参数,到此即可修改代码为

e4e614e51cacd0f41b659d4a2c0b46c7.png

最后放到一个js文件中供调用(直接用字符串传入出现了编码错误。换成文件调用成功了)。成品如下

2cca9e77faae3ae82cb0dceab804eb87.png

成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值