JS逆向之PDD(HK)---captcha_collect参数

本文详细探讨了一种网站的验证机制,涉及RSA加密的password和riskSign,AES加密的captcha_collect参数以及gzip加密的轨迹信息处理。文章指出,验证重点在于缺口位置的换算,而非轨迹校验,且opencv的模板匹配方法不适用,需要特定的换算方法。此外,还介绍了verify_code的神秘性,它与轨迹位置的换算有关。
摘要由CSDN通过智能技术生成

文章仅供参考,禁止用于非法活动


前言

目标网站:aHR0cHM6Ly9tbXMucGluZHVvZHVvLmNvbS9sb2dpbi8=


一、触发HK

标题

 

二、参数分析

 

1.验证图形验证码接口

头部加密参数;Anti-Content,其实就是一个webpack,so easy.本文章主要讲解HK验证。

 

先看看请求载荷:password和riskSign都是RSA加密

 

 riskSign: 'username=账号&password=密码&ts=时间戳'

然后请求下这个接口,拿到了verifyAuthToken

 

2.获取验证码图片接口,新出现了captcha_collect参数。含鼠标移动轨迹,可以写空。

 captcha_collect参数加密位置,,是AES加密,y,w分别是KEY,IV

U方法中传入参数e,e是有api/phantom/vc_pre_ck_b 接口返回的 salt: "b201376fe"值

//kye iv生成位置
U = function(e) {
        var t = {
            aes_key: W,
            aes_iv: I
        };

 

返回图片的信息,然而返回的并不是图片的base64编码,是经过加密的

图片解密在这个位置,接出来后就是base64编码的信息

 #背景图片保存
        image_bytes = base64.b64decode(bg)
        bg_img = Image.open(io.BytesIO(image_bytes))
        bg_img.save("bg.png" )

 三、提交验证接口,captcha_collect是需要的轨迹加密信息

verify_code这个东西很神秘,是换算后的缺口位置

 

 captcha_collect加密位置l(d(JSON.stringify(t)), y, w), d函数是gzip加密算法可以使用python实现,入口参数t是这么些东西,包含轨迹信息,浏览器指纹等

 

verify_code :这个东西很神秘,是换算后的缺口位置

参数都搞定后,最后发送请求看看,基本上成功率还是挺高的

 总结

最后总结下,这个轨迹是不校验的,主要是缺口位置,直接opencv模板匹配出来的是不对的,需要经过一定换算,然后这个verify_code,跟轨迹里的最终位置也是不同的,也需要一点的换算。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值