关于某解析站的无限Debugger的分析

 

目标网站

aHR0cDovL3FxZTIuY29tL1ZpZGVvL2RlZmF1bHQuaHRtbA==

今天要分析的是一个视频解析网站,这一类网站大多都是借用别人写好的视频解析接口,再套上自己的 UI 就是一个新的解析站了,所以有时候解析服务一挂,很多类似的网站都用不了,而且这类解析的网站一般都有法律风险,不建议私自搭建(律师函警告format,png

我们今天主要是分析这个网站的反爬措施,看下有没有值得学习的地方。

网站反爬分析

打开控制台会遇到第一个反爬。

可以看到这里是一个无限的 debugger 循环。【图1-1】

format,png
图1-1

对应着右侧的堆栈【图1-2】

format,png

图1-2

可以看到这个 vm 的代码是由这里的xxxx.js:3973中的代码执行出来的,所以来看看这行代码都做了哪些事情。【图1-3】

format,png

图1-3

这里用到的是浏览器的console面板,通过逐一将代码粘贴到console中执行,可以看到这里构造了一个debugger字符串。【图1-4】

format,png图1-4

那么这个debugger字符串又是怎么被执行的呢?我们把关注点放到construtor上。

format,png

通过搜索引擎,我们可以得到下面的结论。

constructor是一种用于创建和初始化class创建的对象的特殊方法。

结合整行的混淆代码,可以大致得出这样的一个结论,这一行的混淆代码通过constructor构造了一个执行 debugger 的函数。

那么面对这样的debugger应该怎么办?

其实面对这样的反爬,同样可以使用置空法完成。不过之前我们遇到是将整个函数置空,这里是将construtor置空。

通过在console中键入Function.prototype.constructor=function(){}即可完成。【图1-4】

format,png

图1-5

输入这个之后,点击屏幕中的蓝色箭头就可以正常调试了。

format,png

 

---------------------
作者:煌金
来源:CSDN
原文:https://blog.csdn.net/weixin_43189702/article/details/104624220?fps=1&locationNum=2
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值