作死必备 请摸着良心使用

浏览器验证跳过

Cloudflare目前使用JS的一个奇技淫巧来作JS的浏览器上下文验证,先来看个实例:

2018年更新后,变量名变成了stop breaking

这是一个challange/response模式。关键部分就是那一堆[]和!了。F12一下可以得到一个等价替换表达式

  • ! = true
  • [] = false
  • !![] = true

还有就是布尔值和布尔值相加会变成数字。我们使用正则表达式取出变量名,然后对于运算符(*=也可能是+=、-=)直接代入eval运算。当然如果你直接用Js2Py我也不拦你。目前金盾的CC防火墙还只能用Js2Py来撸233

而这几句就是JS的浏览器上下文验证啦

如果只有JS运行时而没有浏览器上下文,document就是undefined,这几句就坑爹了。实际上它只是将hostname取了出来,运行结果和location.hostname是等价的,这里就不解释了。

看完整代码:

调用get_cv后得到的四个返回值依次是 原始的challange值,计算的answer值,challange的提交地址,等待时间。

然后用这两个cookie即可

 

邮箱反混淆

这个就比较简单啦,纯粹是js

这里有一个邮箱地址-> [email protected] ,混淆之后大致会是这个样子的:

主要就是这句for (e = “”, r = parseInt(a.substr(0, 2), 16), n = 2; a.length – n; n += 2) i = parseInt(a.substr(n, 2), 16)^r, e += String.fromCharCode(i);

聪明的你一定看出来了,实际上就是把一串字符串当成16进制和第一个字符异或再按照asc码变回相应字符就行了。