PHP+CMS+网站 · 2019年10月24号 0

绕过Cloudflare-JSfuck防护验证

绕过Cloudflare-JSfuck防护验证

近日在爬取某个站点的时候发现,默认必须通过首页跳转才可以访问其内容页,就像这样..

绕过Cloudflare-JSfuck防护验证

经过使用Chrome调试工具审查Network过程后我们可以发现,在未设置cf_clearancecookie时,访问将无法进行。

绕过Cloudflare-JSfuck防护验证

我们可以红框内容看到首次访问返回503其后通过访问chk_jschi后触发302跳转至main并成功响应,并且在绿框中我们可以看到在第二个set-cookie取到后再次加载main界面成功

通过查看 chk_jschi 响应头我们可以看到其中的set-cookie内容正是我们所需要的

绕过Cloudflare-JSfuck防护验证

那么问题来了,这个是请求是怎么生成的呢?此时我们通过搜索蓝框内的键

我们来测试一下如果通过View-source会返回怎么样的结果,这里要注意要先将cookie清理干净

绕过Cloudflare-JSfuck防护验证

成功找到相关参数,看起来似乎是没啥问题了。不过有没有注意到jschl_answer并没有内容 并且存在一个id属性 这就让我立即想到会通过js将其赋值的可能。

于是根据ID查找,发现了惊喜

绕过Cloudflare-JSfuck防护验证

那么上面一堆乱七八糟的东西是什么呢。。

绕过Cloudflare-JSfuck防护验证

或许大部分人并不知道,这就是Jsfuck

也就是说,这些代码是可执行的 我们直接取出部分代码丢入console

绕过Cloudflare-JSfuck防护验证

非常好,接下来就到了根据JS转写成python的过程了,这里我们使用execjs作为执行模块。

源码地址: https://github.com/aoii103/AntiCloudFare 有需要的同学可自行前往下载。

###测试执行结果

可以看到成功生成了相应的url,这里有一点要注意下,在生成成功后,任然需要等待4秒钟再访问该链接才可以取到对应cookie。所以转写代码能全则全,毕竟用来做摆设的占少数。

绕过Cloudflare-JSfuck防护验证