happyBread 发表于 2022-3-19 23:46

某网站captcha 机器人检测原理分析

本帖最后由 happyBread 于 2022-3-19 23:48 编辑

感谢开放注册让我有机会加入论坛,所以来发个贴混脸熟


看到一个网站上的滑块机器人检测,就好奇它的原理到底是怎样的

打开f12 控制台查看网站源码,发现在提交表格时会触发以下代码进行检测,

打开captcha的js 文件发现没有混淆,根据以上信息查找options.onSuccess
发现e.verified 及e.spliced 为真时触发onSuccess callback
而e 来自n.verify()
所以继续跟进n.verify


这里verified 可以根据设置是否使用远程服务器验证鼠标轨迹,或者本地验证,这个网站只用了本地的。

本地的验证基本上就是记录鼠标event的clientY, 然后计算出鼠标 y 坐标的标准差,如果不为0 就放行。
spliced 则是首先在onload 里随机生成正确坐标点,然后在verify里判断滑块是否滑倒正确的范围内, options.offset是允许的误差范围。




niwota4125 发表于 2022-3-21 15:37

支持支持支持

cxl2013 发表于 2022-3-22 00:16

不错,学习了

aodamiao45 发表于 2022-3-22 00:24

点进来第一时间就是对着图片往右滑...
膜拜大佬学习了

adolphin 发表于 2022-3-22 08:50

学到了 啊,就是是短了

yufd1986 发表于 2022-3-22 11:38

看不到地址啊

sdm123 发表于 2022-3-22 23:02

支持支持

yumanyu 发表于 2022-3-24 10:48

感谢分享,学习一下,支持!
页: [1]
查看完整版本: 某网站captcha 机器人检测原理分析