反反爬之绕过新版加速乐
字数 1222 2025-08-20 18:16:55

绕过新版加速乐反爬虫技术详解

1. 加速乐反爬机制概述

加速乐是知道创宇推出的网站CDN加速和安全防护平台,具有以下反爬特性:

  • 首次访问返回加密JS,检查浏览器环境
  • 符合预设才返回其他资源,否则返回521状态码
  • 登录后返回关键cookie jsl_clearance
  • jsl_clearance 每20-30分钟失效,需通过JS刷新
  • 新版加速乐增加了debug模式检测,非用户常用环境返回521

2. 传统绕过方法的局限性

使用Selenium等自动化工具存在以下问题:

  • 指定--user-data-dir会被识别为非用户常用环境
  • 浏览器和驱动版本不匹配会导致接管失败
  • 加速乐可能随时更新检测机制(如每次刷新都检查环境)

3. 创新绕过方案:利用真实浏览器环境

3.1 核心思路

直接读取用户日常使用的浏览器环境中的cookie,模拟真人操作:

  1. 在真实浏览器中登录账号
  2. 设置自动刷新机制保持cookie有效
  3. 程序读取本地cookie文件获取jsl_clearance

3.2 Chrome Cookie获取与解密

Cookie文件位置
C:/Users/[用户名]/AppData/Local/Google/Chrome/User Data/Default/Cookies

查询特定网站的cookie

SELECT host_key, name, value, path, expires_utc, is_secure, encrypted_value 
FROM cookies 
WHERE host_key like "%目标网站%";

解密原理
Chrome 80+版本使用AES-256-GCM加密cookie值,解密方法参考:

  • 需要获取Chrome的加密密钥(通常存储在本地状态文件中)
  • 使用Python的pycryptodome库进行解密

3.3 自动刷新机制实现方案

方案一:JS控制iframe定时刷新

适用条件:网站存在点击劫持漏洞(允许iframe嵌入)

示例代码

timeout=prompt("Set timeout (Second):");
count=0
current=location.href;
if(timeout>0)
  setTimeout('reload()',1000*timeout);
else
  location.replace(current);
  
function reload(){
  setTimeout('reload()',1000*timeout);
  count++;
  console.log('每('+timeout+')秒自动刷新,刷新次数:'+count);
  fr4me='<frameset cols=\'*\'>\n<frame src=\''+current+'\'/>';
  fr4me+='</frameset>';
  with(document){write(fr4me);void(close())};
}

防御方法:检查并设置X-Frame-Options

方案二:代理注入刷新代码

实现方式

  1. 搭建中转代理服务器
  2. 在返回的HTML中注入自动刷新代码

示例代码

<script language="JavaScript">
function myrefresh() {
   window.location.reload();
}
setTimeout('myrefresh()',300000); // 300秒刷新一次
</script>

方案三:Win32API模拟操作(未实现)

通过系统API模拟鼠标键盘操作实现刷新

4. 完整操作流程

  1. 在常规Chrome窗口中登录目标网站账号
  2. 设置自动刷新机制(JS或代理方式)
  3. 当检测到jsl_clearance失效时:
    • 调用get_cookie_from_chrome函数
    • 从本地Cookies文件中读取并解密最新cookie
  4. 使用获取的有效cookie进行爬取操作

5. 技术优势

  • 完全使用真实用户环境,难以被反爬系统识别
  • 不依赖浏览器自动化工具,避免版本兼容问题
  • 适应加速乐的后续更新,可持续性强

6. 参考资源

  1. Chrome浏览器网页刷新的console代码
  2. Chrome 80+ sqlite3 cookie解密
  3. Python: cookies解密问题

7. 附件代码

提供的Python脚本jiasule.py包含完整的cookie获取和解密实现,可直接用于项目中。

绕过新版加速乐反爬虫技术详解 1. 加速乐反爬机制概述 加速乐是知道创宇推出的网站CDN加速和安全防护平台,具有以下反爬特性: 首次访问返回加密JS,检查浏览器环境 符合预设才返回其他资源,否则返回521状态码 登录后返回关键cookie jsl_clearance jsl_clearance 每20-30分钟失效,需通过JS刷新 新版加速乐增加了debug模式检测,非用户常用环境返回521 2. 传统绕过方法的局限性 使用Selenium等自动化工具存在以下问题: 指定 --user-data-dir 会被识别为非用户常用环境 浏览器和驱动版本不匹配会导致接管失败 加速乐可能随时更新检测机制(如每次刷新都检查环境) 3. 创新绕过方案:利用真实浏览器环境 3.1 核心思路 直接读取用户日常使用的浏览器环境中的cookie,模拟真人操作: 在真实浏览器中登录账号 设置自动刷新机制保持cookie有效 程序读取本地cookie文件获取 jsl_clearance 3.2 Chrome Cookie获取与解密 Cookie文件位置 : C:/Users/[用户名]/AppData/Local/Google/Chrome/User Data/Default/Cookies 查询特定网站的cookie : 解密原理 : Chrome 80+版本使用AES-256-GCM加密cookie值,解密方法参考: 需要获取Chrome的加密密钥(通常存储在本地状态文件中) 使用Python的 pycryptodome 库进行解密 3.3 自动刷新机制实现方案 方案一:JS控制iframe定时刷新 适用条件 :网站存在点击劫持漏洞(允许iframe嵌入) 示例代码 : 防御方法 :检查并设置 X-Frame-Options 头 方案二:代理注入刷新代码 实现方式 : 搭建中转代理服务器 在返回的HTML中注入自动刷新代码 示例代码 : 方案三:Win32API模拟操作(未实现) 通过系统API模拟鼠标键盘操作实现刷新 4. 完整操作流程 在常规Chrome窗口中登录目标网站账号 设置自动刷新机制(JS或代理方式) 当检测到 jsl_clearance 失效时: 调用 get_cookie_from_chrome 函数 从本地Cookies文件中读取并解密最新cookie 使用获取的有效cookie进行爬取操作 5. 技术优势 完全使用真实用户环境,难以被反爬系统识别 不依赖浏览器自动化工具,避免版本兼容问题 适应加速乐的后续更新,可持续性强 6. 参考资源 Chrome浏览器网页刷新的console代码 Chrome 80+ sqlite3 cookie解密 Python: cookies解密问题 7. 附件代码 提供的Python脚本 jiasule.py 包含完整的cookie获取和解密实现,可直接用于项目中。