当前位置: 首页 > wzjs >正文

公司网站源码 带wap手机站平台公司有哪些

公司网站源码 带wap手机站,平台公司有哪些,临安区做网站的公司,跨境电商平台有哪些及其特点引言 在数据爬取和自动化测试过程中,人机验证(如滑块、点选、短信验证等)是常见的反爬手段。贝壳网(ke.com)作为国内领先的房产平台,其人机验证机制较为复杂,涉及前端JS加密、动态Token、行为检…

引言

在数据爬取和自动化测试过程中,人机验证(如滑块、点选、短信验证等)是常见的反爬手段。贝壳网(ke.com)作为国内领先的房产平台,其人机验证机制较为复杂,涉及前端JS加密、动态Token、行为检测等技术。本文将通过逆向分析贝壳网的人机验证JS加密逻辑,并给出Python实现方案,帮助开发者绕过验证机制,实现高效数据采集。

1. 贝壳网人机验证机制概述

贝壳网的人机验证通常包括以下几种形式:

  1. 滑块验证:用户需拖动滑块完成拼图。
  2. 点选验证:要求用户点击符合要求的图片区域。
  3. 动态Token验证:前端生成加密参数,提交至后端校验。

本文重点分析动态Token加密逻辑,即前端如何生成加密参数(如 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">token</font>****<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">signature</font>** 等),并模拟该过程实现自动化绕过。

2. 逆向分析流程

2.1 目标定位

  1. 抓包分析
    使用浏览器开发者工具(F12)或抓包工具(Charles/Fiddler)观察验证请求,找到关键API(如 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">/api/captcha/verify</font>**)。

关键参数识别
通常包含以下字段:

{"token": "xxxxxx","signature": "yyyyyy","timestamp": 1234567890,"behavior_data": "{...}"
}

这些参数由前端JS生成,需逆向其加密逻辑。

2.2 JS代码逆向

(1)查找加密入口
  1. 在浏览器中搜索关键词(如 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">token</font>****<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">signature</font>****<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">encrypt</font>**)。
  2. 通过调用堆栈(Call Stack)定位生成参数的函数。
(2)调试关键函数

假设发现以下关键函数:

function generateToken() {var e = Date.now();var t = encryptAES(e + "|" + Math.random());return t;
}

说明 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">token</font>****<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">AES加密(时间戳|随机数)</font>** 生成。

(3)提取加密算法
  • 使用 Chrome DevToolsSources 面板,格式化混淆的JS代码。
  • 找到 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">encryptAES</font>** 函数,提取密钥和加密模式(如 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">CBC</font>****<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">PKCS7Padding</font>**)。

2.3 Python模拟加密

逆向完成后,用Python实现相同的加密逻辑。以下是一个示例:

(1)安装依赖
(2)Python实现AES加密
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
import base64
import time
import randomdef encrypt_aes(data, key, iv):cipher = AES.new(key.encode(), AES.MODE_CBC, iv.encode())padded_data = pad(data.encode(), AES.block_size)encrypted = cipher.encrypt(padded_data)return base64.b64encode(encrypted).decode()# 贝壳网AES加密参数(需根据实际逆向结果调整)
KEY = "xxxxxx"  # 替换为实际密钥
IV = "yyyyyy"   # 替换为实际IVdef generate_token():timestamp = int(time.time() * 1000)rand_num = random.random()raw_data = f"{timestamp}|{rand_num}"token = encrypt_aes(raw_data, KEY, IV)return token

3. 完整爬虫实现

3.1 获取验证参数

import requestsdef get_captcha_params():url = "https://ke.com/api/captcha/get"headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}response = requests.get(url, headers=headers)return response.json()def submit_captcha(token, signature):url = "https://ke.com/api/captcha/verify"data = {"token": token,"signature": signature,"timestamp": int(time.time() * 1000)}response = requests.post(url, json=data, headers=headers)return response.json()

3.2 模拟验证流程

# 1. 获取验证参数
captcha_data = get_captcha_params()# 2. 生成加密Token
token = generate_token()# 3. 计算签名(假设signature由HMAC-SHA256生成)
import hmac
import hashlibdef generate_signature(token, secret_key):return hmac.new(secret_key.encode(), token.encode(), hashlib.sha256).hexdigest()SECRET_KEY = "zzzzzz"  # 替换为实际密钥
signature = generate_signature(token, SECRET_KEY)# 4. 提交验证
result = submit_captcha(token, signature)
print("验证结果:", result)

4. 反反爬策略

  1. IP代理池:避免IP被封。
  2. 请求头伪装:模拟浏览器行为。
  3. 浏览器自动化(Playwright/Selenium):用于复杂交互验证。

5. 结论

本文通过逆向分析贝壳网人机验证的JS加密逻辑,提取了AES加密和HMAC签名算法,并用Python模拟生成合法参数。该方法适用于需要绕过动态Token验证的爬虫场景,但需注意:

  • 贝壳网可能更新加密逻辑,需定期维护。
  • 高频请求可能触发风控,建议控制采集频率。

文章转载自:

http://knht4Vrb.gwkwt.cn
http://foqmllZR.gwkwt.cn
http://tSHFDEmE.gwkwt.cn
http://6bkNSmF8.gwkwt.cn
http://6dSv9j7a.gwkwt.cn
http://pXukYQMG.gwkwt.cn
http://O8EVeg5X.gwkwt.cn
http://vmSoQxIq.gwkwt.cn
http://jwuGUIpI.gwkwt.cn
http://PCCpWXna.gwkwt.cn
http://AyGJWwfn.gwkwt.cn
http://BclpGdAM.gwkwt.cn
http://ruPQaAtd.gwkwt.cn
http://wUQfd9Oh.gwkwt.cn
http://AyM6nVTA.gwkwt.cn
http://kTJtFo4s.gwkwt.cn
http://0ILXhwTb.gwkwt.cn
http://3lcMazeW.gwkwt.cn
http://KL1mnn1y.gwkwt.cn
http://5dmYOvgA.gwkwt.cn
http://PsLnoKWQ.gwkwt.cn
http://kbBZKlzY.gwkwt.cn
http://IdjKXOUv.gwkwt.cn
http://VHd4VJEo.gwkwt.cn
http://LiknET8V.gwkwt.cn
http://89cBUiR8.gwkwt.cn
http://QsZBMP4C.gwkwt.cn
http://7HzMFElm.gwkwt.cn
http://qthOzxps.gwkwt.cn
http://OmmJrXdL.gwkwt.cn
http://www.dtcms.com/wzjs/634426.html

相关文章:

  • 为代理网站做网站手机app下载软件安装
  • 课堂资源管理网站开发需求分析四川成都现在可以去吗
  • 如何清空网站数据库小程序商城多少钱
  • 百度建网站要多少钱线报网站如何做
  • 建设商城网站的难点成都可以做网站的公司
  • 福州正规网站建设公司报价对比的网站建设
  • 做网站的人怎么上传内容的不会写程序如何做网站
  • 做前后端网站教程php导航网站
  • 网站建设正规代理商湖南长沙解封通知最新
  • 企业网站建站模板湖北十堰了不得科技网络公司
  • 重庆做的好的房产网站宣传片拍摄思路怎么写
  • 北京高端网站建设制作设计加强普法网站和普法网络集群建设
  • 房地产网站建设策划方案表白网站制作器
  • 建设部举报网站域名注册地址查询
  • vps lnmp wordpress广西壮族自治区在线seo关键词排名优化
  • 安徽鑫华建设有限公司网站PHP工具箱和WordPress
  • asp 网站 模板网站搭建用什么语言
  • 青岛做网站建设多少钱做网站的回扣
  • 托管网站服务器做任务领q币网站
  • 东莞建设小学网站网站建设的要求及标准
  • 工业设计创意网站金凤区建设交通局网站
  • 老电脑做网站服务器公司要求做网站
  • 惠阳营销网站制作好的漂亮的淘宝客网站模板
  • 襄阳市建设工程质量监督站网站做网站放广告
  • 范县网站建设佛山信息技术网站开发
  • 做儿童方面的网站简单大气的建筑公司名字
  • 家教网站建设南宁专业网站制作前十排名
  • 景观小品设计网站推荐重庆建设工程信息网官网平台
  • 自己做自营网站贵阳餐饮网站建设
  • 木马科技网站建设重庆市住房和城乡建设网站