js 校验存折号_JS逆向 | 非常骚的环境自吐法(以某条最新版个人主页为例)

9435e1966c4a43a5d779b43155db271a.png

所有文章首发在我的微信公众号“逆向新手”,更多逆向系列请关注公众号,谢谢!

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

目标网站:

aHR0cHM6Ly9wcm9maWxlLnpqdXJsLmNuL3JvZ3VlL3VnYy9wcm9maWxlLz91c2VyX2lkPTM2MjMxMjAzNjE=

引言

最新版的某条反爬出来后,难倒了一大片,可谓其系列产品web端反爬检测最严格的。原来的反爬,只需要根据报错,补充环境,使之能运行即可获取到数据。但最新版的我操作过,能运行但无法获取数据。后来我全部模拟出来,只要有一项检测错误,它都不通过,改了那项后马上就通过了,说明这次它真的认真了!

其实它的套路还是原来的套路,只是原来检测了环境,但可能后端校验不严格,现在增加了一些骚操作后,后端的校验也严格了而已。既然套路一样,那我们还是走模拟浏览器环境这条路。

笔者试过利用ProxyObject.defineProperty的方法来监测JS调用了哪些环境,但这种方法监测得不够全面且不够深入,容易漏监测,一旦漏了,那其实前面监测到的可能就全盘无效了,因为不同的环境,它的控制流会走不同的路线,比如canvas的操作无法监测到,或类似下面的代码无法监测到

window.Object.prototype.toString.call.apply(window.Object.prototype.toString, [window])

下面介绍一种简单高效的环境自吐法(笔者自取的名字hhh),直接上几张效果图,前方高能,不要眨眼!!!

b7b13168275bcfaa05b0c8817d759187.png
XMLHttpRequest操作

8aac087aaa5263733ce4184471f6271e.png
document操作

dfe0e2e1e357f01857692021d01de5c0.png
storage操作

c472f4933b8e8b3bce78eab71e32f89f.png
window对象的各种检测方法

a7b0b0275314533bcd03f2969a21206a.png
canvas相关操作

可以看到,再难再深入的检测,全部自己吐出来了,连它的算法过程都可以吐出来。有耐心的,甚至可以自己将它翻译还原了。而且这方法是基于浏览器自身环境,且直接在它的页面调用,生成的算法就是它的原生算法,因此只要对照着模拟到位,可以100%获取数据。

2b4f1a244d178ce272936e0b43e059bd.png
成果展示1

6300ae2837ba1af86b0b13dad084b5e0.png
成果展示2

想看详细内容,请使用微信浏览:

https://mp.weixin.qq.com/s/595CjegcOLbLIyzR8DxuYw

欢迎关注我的公众号“逆向新手”,逆向系列将持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值