阿里人机检测验证码的自动化操作尝试

本文探讨了如何通过修改浏览器状态和使用win32api模拟鼠标拖动来绕过网站的人机检测机制,包括修改window.navigator.webdriver属性和使用win32api进行自然的鼠标操作,以欺骗验证码系统。

1. 通过检测浏览器状态来进行人机检测

使用selenium打开浏览器

通过 selenium 打开的浏览器是出于测试状态的,和正常的浏览器不太一样。

  1. 通过 selenium 打开的浏览器哪怕人工手动拖动验证码也会被判断出来是机器操作并显示"出错了"。
  2. 通过查阅资料发现阿里人机交互会检查window.navigator.webdriver 是否为空,通过代码处理后可以绕过。

正常打开window.navigator.webdriver值:

> window.navigator.webdriver
undefined

使用selenium打开window.navigator.webdriver值:

> window.navigator.webdriver
true

绕过代码

# 通过浏览器的 devtool 将 .webdriver 属性改为"undefined"
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})""",
})

2. 通过判断操作方式来进行人机检测

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值