瑞数自动化工具检测
分析瑞数对自动化工具的检测
window对象中检测的属性有#
-
["_Selenium_IDE_Recorder", "_selenium", "callSelenium"]
-
window["clientInformation"]["webdriver"]
-
window["navigator"]["webdriver"]
document对象中检测属性有#
["__driver_evaluate", "__webdriver_evaluate", "__selenium_evaluate", "__fxdriver_evaluate", "__driver_unwrapped", "__webdriver_unwrapped", "__selenium_unwrapped", "__fxdriver_unwrapped", "__webdriver_script_func", "__webdriver_script_fn"]
- 属性检测
document["__webdriver_evaluate"] || document["__webdriver_script_fn"]
- 属性正则匹配?
for (var _$_f in document) {
if (_$_f[0] === "$" && _$_f["match"]("^\\$[a-z]dc_") && _$Ym[_$_f]["cache_"]) {
// 为标记位
_$8O = 1;
}
}
- 属性获取检测
_$7$ = ["selenium", "webdriver", "driver"]
for (_$is = 0; _$is < _$7$.length; _$is++) {
if (_$Ym["documentElement"]["getAttribute"](_$7$[_$is]))
_$8O = 1;
}
如果检测到是自动化工具#
给window全局对象赋值一个标记位
window._$_0 = 1;
// 具体啥逻辑没有分析
_$s6(148, 134217728, 31);
如何绕过检测#
通过 Object.defineProperty
方法重新修改返回值即可
例如:
Object.defineProperty(navigator, 'webdriver', {get: function(){return undefined;}})
分类:
JavaScript逆向
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】