吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4042|回复: 27
收起左侧

[Web逆向] 信息公示平台搜索滑块逆向

[复制链接]
zzyzy 发表于 2025-5-1 12:48
本帖最后由 zzyzy 于 2025-5-3 00:06 编辑

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!


目标:实现搜索后,滑块验证,得到结果。
网站:aHR0cHM6Ly94eGdzLmNoaW5hbnBvLm1jYS5nb3YuY24vZ3N4dC9uZXdMaXN0


1.显示输入搜索关键字,触发滑块验证,在/slideCaptcha 也没有什么校验直接,直接拿到了数据,a和b后面要用到的参数,c中有cutImage和oriImage是背景和缺口图的base64编码数据。

image.png

2.接下来校验滑块走一遍,看看如何拿到搜索后的数据。slide_captcha_check滑块的校验,请求参数中有a b c三个,验证成功后,请求 /gridQuery.html获得搜索后的数据。所以只需要分析这三个参数的由来就行。

image.png image.png

3.在slide_captcha_check中,msg结果我是遇到三种,大致看一下a b c 都是=结尾的很像base64 下面就hook到生成的地方看看。
success 验证成功
jcaptha invalid好像是超时无效
jcaptha wrong 滑块的距离不对
image.png

4. 先是测试一下hook JSON中stringify,parse,能用,找到参数生成后,往上跟栈,往上走一步,发现t是生成后的结果,看一下t是如何来的。
[JavaScript] 纯文本查看 复制代码
(function () {
    var stringify = JSON.stringify;
    JSON.stringify = function (params) {
        console.log("Hook JSON.stringify ——> ", params);
        debugger;
        return stringify(params);
    }
})();

(function () {
    var parse = JSON.parse;
    JSON.parse = function (params) {
        console.log("Hook JSON.parse ——> ", params);
        debugger;
        return parse(params);
    }
})();



image.png image.png


5.在往上跟一步,打上断点后,刷新页面重新定到滑动滑块后,继续往上分析栈,在checkLocation中发现了熟悉的字段,可以清空其他断点,只定这三个。
image.png image.png

6.先看a b 的值,是valuea和valueb经过encodedata得到的,value a b就是和返回图片base64数据一起返回的 a b,encodedata就是base64编码。
image.png


7.主要是看一下c的生成,在c编码前,是对上面定义的a,this.moveX,顾名思义是滑动的距离,转成字符串,经过this.$getRsaCode得到的结果, 直接跳转进去看看源码,打下断点。


image.png
8.这是一个典型的rsa加密,创建JSEncrypt对象,JSEncrypt 是一个 JavaScript 库,用于执行 RSA 加密和解密操作。设置公钥,知道这些条件后直接上python代码。
# 默认密钥大小 (default_key_size):1024位,表示RSA密钥的长度。
# 默认公钥指数 (default_public_exponent):010001(十进制65537)
[Python] 纯文本查看 复制代码
def rsa_encrypt(t):
    # 公钥字符串   PEM格式
    public_key_str = """-----BEGIN PUBLIC KEY-----
    公钥
    -----END PUBLIC KEY-----"""
    public_key = RSA.import_key(public_key_str)
    cipher = PKCS1_v1_5.new(public_key)
    message = str(t).encode('utf-8')
    encrypted_bytes = cipher.encrypt(message)
    encrypted_str = base64.b64encode(encrypted_bytes).decode('utf-8')

    return encrypted_str


9.得到的rsa加密滑动距离结果后,在进行base64编码得到c。
10.滑块距离识别同样使用的dddocr,或者使用cv2,识别成功率五五开吧,看背景图缺口是纯白色,把滑块改成白色再用对比,感觉会成功率高一点把(有佬优化了,教教小生)。


[Python] 纯文本查看 复制代码
def get_distance(bg, tp, save_path=None):
    det = DdddOcr(det=False, ocr=False, show_ad=False)
    res = det.slide_match(tp, bg, simple_target=True)
    if save_path is not None:
        # 将背景图片的二进制数据加载为Pillow Image对象
        left, top, right, bottom = res['target'][0], res['target'][1], res['target'][2], res['target'][3]
        bg_image = Image.open(io.BytesIO(bg))
        draw = ImageDraw.Draw(bg_image)
        draw.rectangle([left, top, right, bottom], outline="red", width=2)
        bg_image.save(save_path)
        logger.info(f"已保存标注后的图片到: {save_path}")
        return res
    return res



10.至此该网站搜索的滑块分析完了,大致不难,感谢观看,给点热心值,感谢老铁们。
image.png

免费评分

参与人数 20威望 +2 吾爱币 +119 热心值 +16 收起 理由
ganbey + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Victor365 + 1 + 1 热心回复!
anning666 + 1 + 1 我很赞同!
lwGoodChinese + 1 用心讨论,共获提升!
Dangzi + 1 + 1 谢谢@Thanks!
AdAStra + 1 + 1 谢谢@Thanks!
lin5789 + 1 热心回复!
wangxd + 1 + 1 热心回复!
sec-u + 1 我很赞同!
丶峰宇 + 1 + 1 热心回复!
smilerfu + 1 + 1 我很赞同!
淡灬看夏丶恋雨 + 1 + 1 我很赞同!
xuyoung + 1 + 1 我很赞同!
liuxuming3303 + 1 + 1 谢谢@Thanks!
beihai1314 + 1 + 1 我很赞同!
allspark + 1 + 1 用心讨论,共获提升!
fengbolee + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
hicesamon + 1
涛之雨 + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Ko5124 + 1 节日快乐,谢谢分享

查看全部评分

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

JoyboyPass 发表于 2025-5-30 14:27
我尝试走协议过就一直是jcaptha invalid,没有成功过一次。我是我用drissionpage,同样是用ddddocr进行判断距离,dp就有几率成功,而协议没成功过一次是为什么
xueyinglantian 发表于 2025-5-2 09:15
Jien 发表于 2025-5-2 09:23
wohenhao1 发表于 2025-5-2 11:42
刚学习到了滑块的课程,这就出了教程,感谢
Pablo 发表于 2025-5-3 11:09
受教,感谢大佬
cddchen 发表于 2025-5-3 11:19
是不是可以可以自己部署一个距离识别大模型来识别滑动距离
pcsky37927 发表于 2025-5-3 21:12
大佬节日快乐
吓猴蹲 发表于 2025-5-3 22:46
码住,有空学习
苏晓宇c 发表于 2025-5-4 15:01
cddchen 发表于 2025-5-3 11:19
是不是可以可以自己部署一个距离识别大模型来识别滑动距离

这玩意用不上大模型,训练一个专门的视觉模型就行了。
joythinker 发表于 2025-5-4 16:42
好好好,但是为什么要这么严格
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-6-15 10:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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