QQ音乐sign签名字段解析
QQ音乐sign签名字段解析
字段描述
出现在歌单详情等接口,请求url后面会跟一个sign字段,例如"zzap4rd5hjs5zkv626bc180091010583fc33cd2e160eca2
",经过验证发现这个参数无法缺省,必须携带。
分析过程
1.找到加密位置
搜索对应的js中的sign关键词,如下图
这边可以看到sign来自于g参数赋值,那么向上找到g参数赋值位置:"z.getSecuritySign(m.data)",下断点调试。
可以发现传入的参数即为Post请求的body部分
2.g_tk字段解析
请求体中会带上这个字段,生成位置如下图:
生成逻辑比较简单,可以用自己的语言重写。
3.调用验证
通过静态分析js发现,加密的一系列方法,最终都在一个全局对象"M"中,那么我们传入加密参数进行验证
将加密值代入请求中,成功获得数据
sign字段构成分析
测试中发现sign由3端字符串拼接而成:"zzaj|51ny550yk|626bc180091010583fc33cd2e160eca2"(示例用|分割)
其中 第一部分固定 都为"zza",第二部分是一串随机字符,第三部分由__sign_hash_20200305方法生成,传入的参数为"CJBPACrRuNy7"+请求body
标题:QQ音乐sign签名字段解析
作者:Cubeeeee
地址:http://blog.nps.fuguicun.com/articles/2020/06/03/1591149783970.html