某税Dppt盾山lzkqow23819分析,MurmurHash3、多轮Hash链式计算
实战js逆向
本次测试全部在本地或授权环境中进行,内容仅用于学习、技术参考与交流讨论。严禁将本文所述方法或技术用于任何非法用途。
文中提及的所有漏洞均已上报并完成修复。若读者进行类似测试,务必确保所有操作在合法、合规且获得授权的前提下进行。
如有读者因使用本文内容从事危害网络安全的行为,相关后果由其自行承担,原作者不承担任何责任。
本文为原创内容,未经授权,禁止任何形式的转载、复制或引用。如需使用,请联系作者获取授权。
在某税Dppt站点的接口请求中,发现其请求头与请求参数存在高度混淆的加密逻辑。整体防护体系可归类为盾山加密方案,融合了 SM2 / SM3 / SM4 / MD5 / SHA1 / MurmurHash3 等多种算法,且大量依赖浏览器指纹与 Cookie 状态。
本文将完整拆解其核心请求头 Lzkqow23819 与请求参数的生成逻辑。
一、盾山加密整体概览
盾山的整体设计思路非常明确:
- 浏览器指纹参与计算
- Cookie 作为动态因子
- SM2 用于前置安全交换
- 多轮 Hash 链式计算
- SM4 对参数进行二次封装
二、Lzkqow23819 请求头逆向
真正的复杂度,集中在请求头 Lzkqow23819 的生成。
它并非单一算法,而是被拆分为三大部分:
开头部分 + 中间部分 + 时间戳
其中 中间部分占据了几乎全部复杂度。
三、开头部分 —— MurmurHash3 浏览器指纹
1. 指纹原始字符串
开头部分本质是一个 浏览器环境指纹,由如下信息拼接而成:
UA###分辨率###色深###时区###cookieEnabled###javaEnabled###pluginList###cookie
示例:
UA###1080x1920x24###-480###true###true######cookie
当 pluginList 为空时,会保留分隔符但不填值。
2. MurmurHash3
该字符串会被送入: