吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2972|回复: 16
收起左侧

[Web逆向] 九卦阵验证码通过流程

  [复制链接]
ZydmxhZ 发表于 2023-8-11 16:54
本帖最后由 ZydmxhZ 于 2023-8-14 15:46 编辑

PS: 侵删 侵删 侵删
1. 拿到验证码的url, 解析出request_code
2. 通过request_code, 请求ext_api/page_data接口, 拿到验证码基础信息. 主要包含sessionsign两个长字符串
    2.1 sign是一段加密过的 包含环境检测/控制流的/很/很的 一串js代码.  解密sign要用到session, 目前检测的环境不多, sign解密成js代码并且执行成功后可以拿到一个关键的变量 _f 的值.
3. 通过request_code, 请求ext_api/spiderindefence/info接口, 拿到验证码的两张图片信息, 以及一个很重要的hint值(乱码字符串, 解密九宫格图片的顺序时要用到)
4. 识别第一张图片文本, 拿到要连接哪个颜色; 识别第二张图片, 拿到 哪个坐标(位置)是哪个颜色
    4.1 文本图片 可以考虑使用ddddocr, 可以勉强识别, 成功率较低
       1691997541633.jpg
   
    4.2 九宫格图片 识别
        4.2.1 服务器下发的九宫格原图, 顺序/大小都是混淆过的. 页面最终显示的验证码 是在客户端 先用js解密出九宫格图片的排序顺序, 然后用canvas重新画出的一张图片.
        4.2.2 需要扣一下 解密九宫格图片排序的js代码; canvas画图的代码用python的PIL库复现一下就行(一点儿也不难)
        4.2.3 重组后的九宫格图片, 还要注意调整分辨率 (不然会导致下面4.2.4中坐标读取错误)
        4.2.4 每个位置的球的颜色识别, 本质就是用PIL库读取固定点的RGB值就可以了, 判断RGB在哪个颜色范围, 就属于哪个颜色. (9个球的位置都是固定的)
        4.2.5  参考  原图:

ball

ball

                 重新排序以及重置分辨率后:

order_ball

order_ball

5. 生成滑动轨迹. 手动收集, 每个位置的球都手动连一次, 要注意收集到的轨迹数组的长度, 太长不行, 太短也不行. (不然就得重新收集, 一点儿也不麻烦)
6. 加密各个参数, 提交验证(这部分有很多要注意的点, 先写还记得的)
    6.1 behavior_token, 使用的同一个加密算法, 加密两轮, 但是传入的参数有区别, 注意区分就好了. 加密结果要用到上面解出来的_f
    6.2 _token主要包含 两个重要的时间戳, 几段不完整的鼠标移动轨迹数组和一个点击事件生成的小数组, 以及一些简单的基础环境信息
    6.3 behavior主要包含 九宫格图片与各个元素相对位置坐标, 点击次数, 以及滑动轨迹(有长度限制)
    6.3 时间戳部分, 在正确的位置生成正确的时间戳! 注意每个有关联的时间戳之间的差值. 多刷新几次浏览器, 拿到一个大概的差值, 在代码里随机生成一下
    6.4 轨迹部分, 注意每个轨迹数组是怎么来的. 不同的轨迹数组, 但是可以相互印证, 对不上就鸡鸡!

图片顺序的解密, js代码的解密, 轨迹的加密代码 都不难. 扣完代码, 再加上补环境的代码, 也就400+行!
更多的是 每个节点生成的时间戳 和 各个轨迹数组的验证!

免费评分

参与人数 6威望 +1 吾爱币 +23 热心值 +6 收起 理由
涛之雨 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
BenjaminLee + 1 + 1 谢谢@Thanks!
auml + 1 我很赞同!
qiuluo + 1 我很赞同!
syyangyuan + 1 + 1 这个图灵就可以搞定了
SYWZWL + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

kayakz 发表于 2023-8-17 12:05
本帖最后由 kayakz 于 2023-8-17 12:07 编辑

分享一下模型,识别文字+点位置+颜色,识别成功率百分之99+

https://wwsk.lanzouk.com/isNpY15mal6b

密码:52pj
knightlc 发表于 2023-8-14 09:58
贴主牛啊,谢谢分享思路,这种验证码原理大多数是服务器生成结果发给前端重新绘制,难点就是在混淆代码中调试找到js加密解密代码。
lookfeiji 发表于 2023-8-12 09:32
ZHuanR 发表于 2023-8-12 14:08
新技能已get√
柯柯砰砰 发表于 2023-8-12 15:44
请问这个是做什么用的
gumuqi 发表于 2023-8-12 16:24
学到了,👍
SYWZWL 发表于 2023-8-12 20:03
牛逼呀,兄弟
hdydy 发表于 2023-8-13 09:56
感谢分享
weiyanli 发表于 2023-8-13 12:03
果然是大神,66666
cyxnzb 发表于 2023-8-13 14:21
一直以来验证码这块感觉都是攻防在不断进步的
17638122331 发表于 2023-8-13 15:13
加油 加油
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 23:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表