业务安全滑块

本文探讨了滑块验证码的工作机制及破解方法。介绍如何通过分析背景图与拼图的像素差异来确定正确位置,模拟真实用户操作过程生成合理的鼠标轨迹,并使用特定方法加密这些数据以绕过验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题讨论:https://v2ex.com/t/138479

应用场景:

在这里插入图片描述
防止机器批量登,爬,刷。在识别到安全风险时返回一个滑块对抗机器。

滑块原理:

从客户端提取信息,加密后上传 后端识别这些是否机器或者是恶意行为。

1.最终停止位置xpos

每次验证请求都会得到三张图,fullbg:完整的验证图形、slice:拼图那一小块、bg:拼图对应那一块加阴影的fullbg,对比fullbg和bg,哪一列像素上开始发生较大变化那就是xpos
如果以后不提供fullbg,只要得到几张不同的bg,求它们的交集即可得到fullbg,不需要机器学习算法

2.鼠标移动轨迹a

根据xpos可以确定大概需要生成多少帧
x随帧编号产生不均匀增加,直至xpos,开始是用arctan函数模拟的,后来发现完全没必要,建个bitmap[xpos],从里面随机挑选不重复项选就行了
y用长周期小振幅的sin函数模拟
t随时间产生不均匀增加,并加入一些跳变
用以上方法填充a

3.加密

不需要破解,从js中剥离加密相关的函数,放入js虚拟机,传入xpos和a并执行,获得加密后结果

说明
go run geetest-bypass.go -c=次数 -gt=“站点的gtid” 默认尝试豆瓣的验证码100次
success = 1 message = blahblahblah 通过
success = 0 message = failed 未通过
forbidden 判定为机器人

实现方式:

https://github.com/rejiejay/captcha-slider
https://github.com/yeild/jigsaw
https://m.php.cn/article/398849.html
https://github.com/google/recaptcha/blob/master/tests/ReCaptcha/RequestMethod/PostTest.php
https://github.com/binwind8/tncode/blob/master/TnCode.class.php

破解方案

https://lengyue.me/index.php/2018/10/16/shumei/

https://medium.com/@filipvitas/how-to-bypass-slider-captcha-with-js-and-puppeteer-cd5e28105e3c

https://github.com/fvitas/slider-anti-captcha?source=post_page---------------------------

参考:

http://dun.163.com/product/captcha#scene

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值