某验3代一键通过

目录

抓包分析

w参数分析

第二个W值


目标网址:

aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9mdWxscGFnZS5odG1s

加密方式:

  • 加密算法:RSA、AES、MD5

抓包分析

通过抓包可以看到register-fullpage 链接 会返回我们需要的 challgegt后续会用到

需要上面返回的challenge, gt 请求 第二个get.php链接,返回我们后续会用到的数据

get.php 会返回 c 和 s,同样后期会用到,这个请求同样需要 w 值,三代无感里,必须得要,不然最后是会验证失败的,可能不带 w 请求,返回的 s 是个假的值,导致最后验证失败

 ajax.php 验证是否成功,同样需要 w 值,成功则会返回一个 validate

w参数分析

w 值 :"\u0077"全局搜索

 主要就是 r、o、i 的值,关键代码:

var r = t[$_CEIIU(1300)]()
o = $_BFZ()[$_CEIHW(1372)](ge[$_CEIHW(417)](t[$_CEIIU(321)]), t[$_CEIHW(1361)]())
i = p[$_CEIIU(1303)](o)

先跟进 r 看看代码,还是熟悉的 RSA 要不扣下来,要不就是库实现

库实现的话你得找到他key 这个东西

这里直接扣下来

"gt":"e52c06c937981b90b275d0aff1d40076","challenge":"0201de0b9955c546d1198b6c9e558d50","offline":false,"new_captcha":true,"product":"float","width":"300px","https":true,"api_server":"apiv6.geetest.com","protocol":"https://","type":"fullpage","static_servers":["static.geetest.com/","dn-staticdown.qbox.me/"],"beeline":"/static/js/beeline.1.0.1.js","voice":"/static/js/voice.1.2.2.js","click":"/static/js/click.3.0.8.js","fullpage":"/static/js/fullpage.9.1.4.js","slide":"/static/js/slide.7.9.0.js","geetest":"/static/js/geetest.6.0.9.js","aspect_radio":{"slide":103,"click":128,"voice":128,"beeline":50},"cc":12,"ww":true,"i":"6126!!7414!!CSS1Compat!!1!!-1!!-1!!-1!!-1!!-1!!-1!!-1!!-1!!-1!!2!!3!!-1!!-1!!-1!!-1!!-1!!-1!!-1!!-1!!-1!!-1!!1!!-1!!-1!!-1!!0!!0!!0!!0!!1920!!317!!1920!!1040!!zh-CN!!zh-CN,en,zh!!-1!!1!!24!!Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36!!1!!1!!1920!!1080!!1920!!1040!!1!!1!!1!!-1!!Win32!!0!!-8!!3515ba42d4414f09872d5667a81df514!!0!!internal-pdf-viewer,internal-pdf-viewer,internal-pdf-viewer,internal-pdf-viewer,internal-pdf-viewer!!0!!-1!!0!!12!!Arial,ArialBlack,ArialNarrow,ArialUnicodeMS,BookAntiqua,BookmanOldStyle,Calibri,Cambria,CambriaMath,Century,CenturyGothic,CenturySchoolbook,ComicSansMS,Consolas,Courier,CourierNew,Garamond,Georgia,Helvetica,Impact,LucidaBright,LucidaCalligraphy,LucidaConsole,LucidaFax,LucidaHandwriting,LucidaSans,LucidaSansTypewriter,LucidaSansUnicode,MicrosoftSansSerif,MonotypeCorsiva,MSGothic,MSPGothic,MSReferenceSansSerif,MSSansSerif,MSSerif,PalatinoLinotype,SegoePrint,SegoeScript,SegoeUI,SegoeUILight,SegoeUISemibold,SegoeUISymbol,Tahoma,Times,TimesNewRoman,TrebuchetMS,Verdana,Wingdings,Wingdings2,Wingdings3!!1683368857640!!-1!!-1!!-1!!12!!-1!!-1!!-1!!5!!-1"}'

JSON.stringify()这是重点,不然加密之后的结果会很短

js中写死传入gt以及challenge就行,例子:

同样需要注意的是上图中this$_CHAHW(1361)也是个随机字符串,会遇到多次,但整体一次验证下来都是相同的值,不然验证会失败,点选、滑块等一系列都一样的。

this[$_CHAHW(1361)](e)

跟进 this[$_CHAHW(1361)](e)

跟进来之后,可以看到 te() 函数,再接着跟进去

进来之后就可以看到了随机数, 是由4个 e() 函数组成

然后是 o 的值,这里和以前一样,跟进去看仍然是 AES 加密t[$_CEIHW(1361)]() 依旧是随机字符串。得保持随机字符串一致,不然后续验证不通过

$_BFZ()[$_CEIHW(1372)]任然是AES加密 中间这一串 pe[$_CFAFP(416)](t[$_CFAGw(353)]),也没啥特别的,除了 gtchallenge,其他都是定值,最后面那一串 i 的值,实测写死、置空都行。

ge[$_CEIHW(417)](t[$_CEIIU(321)])

 o = $_BFZ()[$_CEIHW(1372)](ge[$_CEIHW(417)](t[$_CEIIU(321)]), t[$_CEIHW(1361)]())
t[$_CEIHW(1361)]()  #  随机数
 $_BFZ()[$_CEIHW(1372)] # AES加密
ge[$_CEIHW(417)](t[$_CEIIU(321)]  # ge有关的参数

跟进去之后可以看到 $_ECCo(3) $_ECDa(35) $_ECDa(23)同在一行,AES加密其中vi以及key都给出来了,直接引库实现

然后继续跟进 i,把前面 o 的值转换成一个大的字符串,这里也不是很复杂,直接扣代码即可:

跟进 p[$_CEIIU(1303)](o)之后接着进入到

this[$_JDDM(429)](e); 这里我们注意他参数只有e 一个

跟进来之后我们发现他的参数是两个 一个e 一个 o, 这个o就是我们需要注意的地方 他这里是this赋值,我们就刷新几次看看是不是会变,不会就好办了,直接固定值,接着就是缺那补那就行

第二个W

全局搜索:var n = {}; 可见 $_CFIDG(847)就是第二个 w 值,t[$_CFICl(1481)]就是加密的结果

t[$_CFIDG(847)]就是 w 值,也就是 t['$_CEDO'],前面定义了var t = this,经过第 8102 行的

t[$_CFICl(1488)](); 之后,就有了 w 的值,所以要跟进去重点看这一行。

如上图所示,etnr 中涉及到一些浏览器环境值的计算,当然还有鼠标移动等相关数据的计算,如下图所示:

跟进 i[$_CFJIy(1378)][$_CFJHp(1357)]()就可以看到这个是移动方面的列表

而实际测试发现这四个值直接置空也可以,在本例中可以,不知道是否有其他案例校验更加严格再往下,会遇到很多给变量赋值的地方,如下所示,V 是 MD5 方法,中间的 p[$_CFJHp(942)](t) 和以前类似,返回一个对象中的 res end 相加,这里就不再赘述了。

通过检测与md5加密一直 也就是说 V(p[$_CFJHp(942)](t))中 V函数就是MD5加密

数据一个一个加起来的计算的

这些数据我们格式化一下,大致结构如下图所示:

其中 ep 里面的 venren 是显卡相关信息,fplp 是取了两个鼠标移动的位置信息,直接写死null也可以,tm 就是 window.performance.timing 的一些东西,自己随便伪造一下就行了。

最后一步 i[$_CGDBA(1436)]随机字符串为 key,将前面的数据 r 进行 AES 加密,得到我们最终的 w 值,如下图所示:

结果展示

错误复现

old challenge___error_02   错误: 第二次请求网址错误
param decrypt error___error_03  错误: challenge 不是固定 或者是参 W 数错误

最后有什么问题可联系博主,进行疑问解答,这个RSA加密,搞不出来可私聊

若是这篇文张不是很方便看,可以移步到:我的主页---名称---qq_xxxx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值