前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cloudflare(5秒盾)分析!!

Cloudflare(5秒盾)分析!!

作者头像
懒py夏洛
发布2022-06-02 08:47:27
8.9K2
发布2022-06-02 08:47:27
举报
文章被收录于专栏:python爬虫与js逆向
该文章主要提供交流学习使用,请勿利用其进行不当行为!
如本篇文章侵犯了贵公司的隐私,请联系我立刻删除!

如因滥用解密技术而产生的风险与本人无关!

会看到这个东西。

等待5秒!!!

这要是在国内,让用户强制等待5秒。。。这。。。这。。

前几天我看到另外一个名叫 Incapsula 的cdn加速网站,

百度一搜,

基本上都是这两个的对比。

大家看下,这个加密有多长。

15060 的长度。

不过Cloudflare(下面简称5s)长度是2万左右。

大差不差!!

如果公众号读者需要 Incapsula 逆向教程,可以到群里说!!

这里就不唠这个了。

我们接着说5s

以下教程网址为:"https://steamdb.info/"

第一个流程!

第一个请求是503.

有时候会是302,,这个和5s没关系。。

只有503才有关系,

我们看503里面的东西!!

有一份这样的代码。

还有。id="challenge-form" 这个from标签里面的东西

这些乱七八糟的字符都是我们重点关注的对象。

然后接着走,

就是请求一个js文件。

但是可以看到,ray的值,是取的503里面的cRay的值。

其实可以证明这份js是动态的了

接着又看到了这个key为v开头请求

大约长度为1650左右。

然后又请求了一份和上面一样的请求,

只不过这次的value的长度为20000左右。

看到是不是想放弃了??

没错。

我放弃了!!

所以我们看看lin哥哥的文章吧!!!

lin哥哥的文章哦!!Cloudflare的分析流程 逆向小林,公众号:逆向lin狗[2021-9-5]Cloudflare的分析流程

眼尖的朋友有没有发现里面有很多空格符???

下面会讲到

接着我们看下个请求。

此处字段分析。

md:503里面的

r: 503里面的

jschl_vc: 未知

pass: 503里面的

jschl_answer: 未知

cf_ch_verify: 固定。

jschl_vc

看到这里,,是不是又感觉简单了好多。

就两个未知的参数,

搞,干。

我们请求刚才的js,拿下来,看看

发现就算ray写死的,,

这份js还是动态的,

那就只能跟着浏览器来了,

下断点。

copy。

这份js解不解混淆都无所谓。

因为这份js就相当于把md5给混淆了一样,,用于加密而已。

当然,这不是md5(虽然里面确实有md5)

打个比方。

好了,

我们copy下来,,直接看第一次请求,

发现是xhr断点,。,

那我们直接下xhr断点就好了。

诶。

这不就好了吗。

这是第一次的key为v的加密。

那我们还可以看到他加密的什么。

这不就是我们503里面的吗。

而且加密生成的是固定的,,

如果你生成的和他生成的不一样,,,那,就不用说了。

我们看B

B为XMLHttpRequest

是不是send要发包了???

此处就不普及知识了。

百度一下,。

大家可以看下, XMLHttpRequest 和 onreadystatechange事件

或者实在不理解,看我下面的操作

我们接着看第二份请求,

此处,调试时间过长,,

会直接失败。

就重新来吧。

可以看到,第一次请求成功后,

会返回一段乱七八糟的字符串。

那这段这么长的字符串是干嘛的????

那我们就请求第二份请求,

因为我们的xhr断点,还在,那么

发现断点还是停在我们刚才的位置,,

那么我们看右边的断点。

发现。

一份新的js

我们根据堆栈,看到。

send请求后,,走的是new d这行代码。

ps(此处代码和上面的不同,因为页面失败刷新了,你们调试的时候也是一样的)

接着,我们重新刷新网页,

xhr断点停了以后,,

我们在new 这里下个断点

然后F8走。

重新在new 这里下上断点,

看一下是什么鬼东西。

发现进来了。

这就是我们请求返回的第二份代码。

然后解出来一份新的代码。

然后,Function

这里大家也可以百度一下,

记住是大Function, 不是function

然后f11进入。

就此开始我们的流程了,

此处的代码是动态的。

检测也是动态的。

就是他这次检测你的ua,下次不检测了,检测别的。

将近20 30 个左右的函数动态轮换,。

我们这里就没法说什么流程了,

我挑几个来讲,

ps:(比较坑的我就不透露了。)

要不然,我罪白承受了。

你们也感受感受吧。。

哈哈哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈

哈哈哈哈哈哈哈哈哈哈哈哈啊哈哈哈哈哈哈哈哈

此处。

坑一:

document.cookie=

???

有人说,这个有啥坑的啊。

诶,,

我们来测试一下。

这样没问题吧???

这样呢?????

里面检测了

for (a in window)

什么??

才200多个??

嫌弃这个不够???

别急还有,他还检测了。

Object.keys(window)

什么,也才200个??而且大差不差

那别急吗。

还有。

Object.getOwnPropertyNames(window)

不够吗???

还有 document navigator

够吗???

其实这些都很简单的!!

这两个都是百分百检测的。百分百概率出现!!!

还有一个canva画图,,这可是真的画图,

想接近百分百的成功率,就得死下功夫,到底他每次加入了什么新的代码。

下次又该怎么检测。

宝贝们,开搞吧!

加油。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python爬虫与js逆向 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 该文章主要提供交流学习使用,请勿利用其进行不当行为!
  • 如本篇文章侵犯了贵公司的隐私,请联系我立刻删除!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档