百趣云 百趣云的博客

👦百趣云

博主
百趣云
3周前
m.weibo.cn:大厂接口里的一股清流在各厂疯狂堆签名、堆设备指纹的今天,微博 H5 站 m.weibo.cn 的接口防护朴素得令人感动:没有客户端签名,没有设备指纹,核心就是标准的 XSRF 双 cookie 校验 + 频率限制。它是协议爬虫入门的最佳练手目标,也是理解"限流型防护"和"签名型防护"本质差异的好样本。XSRF 流程:标准到可以写进教科书import requests session = requests.Session() session.headers.update() # 第一步:访问任意页面,拿 XSRF-TOKEN cookie session.get('ht
博主
百趣云
3周前
mtgsig:把签名元信息摆在明面上的设计美团 H5 接口的请求头里有一个 mtgsig,值是一串编码后的 json。解码后字段含义几乎写在脸上:字段编号是语义化的:a5、a6 告诉你签名覆盖了方法和路径,a7、a8 告诉你 query 和 body 都参与了摘要。这种"元信息透明"的设计让服务端校验策略可以灵活升级,也给逆向者画了张地图。定位:签名是异步的美团 H5 的签名 SDK 是独立加载的 mtgsig 相关 chunk。定位时注意一个特点:签名函数返回 Promise——因为它要先异步采集设备指纹(a4 字段的 dfp 值),再算签名。所以 hook 点要选在异步完成之后:const
博主
百趣云
3周前
先搞清楚两个参数的分工闲鱼 App 的 mtop 请求头里有两个关键参数:x-sign 和 x-mini-wua。很多人上来就死磕 x-sign 的算法,方向就偏了——这两个参数是阿里 SecurityGuard 安全 SDK 的一体两面:x-mini-wua:设备环境摘要。设备型号、系统版本、root 状态、模拟器特征等信息的压缩编码,回答"你是什么设备"x-sign:请求签名。用设备标识 + miniWua + 时间戳 + 业务参数算出,回答"这个请求合不合法"服务端两个都验,而且交叉验——x-sign 里掺了 x-mini-wua 的内容,所以改设备信息必须重签,两者是咬合的。Java
博主
百趣云
3周前
mtop 签名:阿里系的"祖传配方"淘宝 H5 的 mtop 接口签名是阿里系应用最广的一套方案,公式一句话说完:sign = md5(token + "&" + t + "&" + appKey + "&" + data)token:cookie _m_h5_tk 的下划线前段(_m_h5_tk=abc123_def456,取 abc123)t:毫秒时间戳appKey:H5 端固定 12574478(不同端不同值,App 端是另一套)data:业务参数的紧凑 JSON 字符串公式简单到令人发指,但这套体系的精
博主
百趣云
3周前
h5st 的特殊之处:算法是动态下发的京东 H5 接口的签名参数 h5st 有一个和其他家都不同的设计:签名算法本身不是静态写死在 JS 里的,而是 SDK 启动时从服务器拉取的。这就是为什么你在 h5st.js 里翻来覆去找不到完整的签名逻辑——核心部分是个"算法函数",运行时从 https://cactus.jd.com/request_algo?g_ty=ajax 拉下来 eval 执行。理解这一点,逆向思路就清晰了:不是去逆一个静态算法,而是搞清楚"拉算法 → 组装输入 → 执行算法"这三段流程。h5st 参数结构先看参数长什么样(以 4.x 版本为例,分号分段):h5st = 日期时