js 反斜杠替换_js逆向上瘾|极验滑块验证码(二)

js逆向极验滑块验证码

如果反爬界要开庆功宴,极验滑块验证码一定得坐上主席。很多教程都在说模拟浏览器、鼠标轨迹来实现绕过。但一遇上大规模数据,这露水大的效率,随便一个bug就给吹散了。我下定决心利用这段时间js逆向逆向他的加密,也没把握一定会实现,step by step,骑驴看唱本—走着瞧罗。最后,项目纯属理论实践,谁要敢商用,劳资今黑放了你的血。

8d843a4828fab4a8dc956b7088b05375.gif

js代码再寻找

无法实施精准打击已成事实,只能手工爆破一一排除。

F12打开chrome控制台,切换到source面板。主浏览器模拟登录的同时,在source文件中寻找可疑文件。

这里我选择鹏城某银行登录,fine,找到了。

9ddacdc4bc03b727461244104a49c19b.png

一旦改变网站,source文件结构也更着改变,那如何判可疑呢?两个思路:

•混淆加密的js已经和你混过脸熟了,代码文件名千变万化,但加密逻辑长的那叫一个像啊。•非要摸到点路径规律,xxx.com/static/js/xx.js•别问,多动手。不信,往下瞧。

235deeb019b360b7a621ab19909aae6a.png

反混淆js代码

前端写js特有意思,打个比方,他干的活很像咋们高中考试打小抄

考试分数要高,考前小抄得好。

什么才叫好呢?考试时自己瞧的哈哈笑,被抓时老师丈二和尚摸不着头脑,这是好。

我们瞧瞧极验同学打的小抄,看他好不好。

16dd44054e3febc0a064d58b9050b286.png

这哪是好,这是妙啊。一眼下去,至少两个妙:

•黄色部分,代码Unicode编码过, 这可能是ctrl+F搞不定的元凶。•橙色部分,大量类似rkjC(5)、USiw(149)、TiQg(94)代码,老师视力再好也看不清小抄到底写了个啥。

打开Source控制面板,右键单击js代码,保存本地

下面一步一步解决混淆问题。

e7963fcf7c45a241829aff7e40495ec2.gif

unicode解码

全选代码,复制到unicode在线解码网页[1],复制明文,另存本地,完成unicode解码。

代码已经部分开始人模人样了。小惊喜,challenge也露出了马甲。

afdd11e9c31c463b3f569220c23bb576.png

替换加密字符串

想要知道小抄怎么打,最方便快捷的方法就是看极验同学怎么抄。

回到chrome 控制台,在js代码中打上断点调试,一探究竟。

一个小窍门,我们本地折腾js代码,调试却要在chrome控制台中完成。我们在本地如果发现了关键代码,需要记住他的行号,回到控制台,运用ctrl+g快捷键跳转到该行即可。

a9a2406e2adbad2b109ca0a7ac7df3fb.png

我在6357行打上断点,调试收获满满

•UtTs(568)解密后为字符串"challenge",说明UtTs可能是一个明文数组。•去console调试台,顺藤摸瓜,追溯UtFs到TFBa,进一步确认猜想。

for (i=0;i<10;i++){console.log("UtTs("+i+")->",TFBa(i))}out:UtTs(0)-> stringUtTs(1)-> documentUtTs(2)-> setTimeoutUtTs(3)-> canvasUtTs(4)-> getContextUtTs(5)-> wPlNUtTs(6)-> rgobUtTs(7)-> getTimeUtTs(8)-> prototypeUtTs(9)-> status:

下一步任务明确,抠出生成明文数组的js代码,然后将密文一一替换掉。

晚上论文答辩,明天续更。


欢迎关注我的公众号“老雷的客房”,原创技术文章第一时间推送。

745cba290688ae527280b81e241babfe.gif
引用链接

[1] unicode在线解码网页: https://www.css-js.com/tools/unicode.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值