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

网站建设公司兴田德润优惠优化培训内容

网站建设公司兴田德润优惠,优化培训内容,建设网站浩森宇特,徐汇做网站公司1.目标 网址&#xff1a;https://y.qq.com/n/ryqq/toplist/26 我们知道了 sign P(n.data)&#xff0c;其中n.data是明文的请求参数 2.webpack生成data加密参数 那么 L(n.data)就是密文的请求参数。返回一个Promise {<pending>}&#xff0c;所以L(n.data) 是一个异步函数…

1.目标

在这里插入图片描述

网址:https://y.qq.com/n/ryqq/toplist/26

在这里插入图片描述
在这里插入图片描述
我们知道了 sign= P(n.data),其中n.data明文的请求参数

2.webpack生成data加密参数

在这里插入图片描述
那么 L(n.data)就是密文的请求参数。返回一个Promise {<pending>},所以L(n.data) 是一个异步函数。

L(n.data).then(result => {console.log('结果是:', result);
}).catch(error => {console.error('发生错误:', error);
});

在这里插入图片描述

window.shark(0).cgiEncrypt(data).then(result => {console.log('结果是:', result);
}).catch(error => {console.error('发生错误:', error);
});

运行之后报错

p[r[++h]] = p[r[++h]].call(p[r[++h]], p[r[++h]]);
TypeError: Cannot read properties of undefined (reading 'call')

在这里插入图片描述

因为请求参数是用了AES-GCM加密,且使用了随机iv

AES-GCM 是一种高级加密标准(AES)与伽罗瓦 / 计数器模式(GCM)结合的加密方式

在这里插入图片描述
在浏览器环境中,window.crypto 对象是 Web Crypto API 的入口,用于实现加密相关的功能。window.crypto.subtleSubtleCrypto 接口的实例,它提供了更底层、更强大的加密功能。
SubtleCrypto 的所有方法均返回 Promise,需通过 then/catchasync/await 处理异步结果(例如密钥生成、加密解密等操作)。

所以我们只需要导入

window = globalThis;;
window.crypto = require('crypto');

在这里插入图片描述
就可以正常生成结果

3.逆向还原data加密参数

密钥就是vTBfEND/dLbvVNq4NbXhzw==
在这里插入图片描述
这样生成的结果长度为448,而网页长度是464,少了16位,而这16位正是iv
在这里插入图片描述

AES-GCM 通常需要将 IV 和密文一起传输,接收方才能正确解密
在这里插入图片描述
这样就没有问题

4.响应数据解密

在这里插入图片描述
返回的数据是二进制
在这里插入图片描述
数据解密是用j.__cgiDecrypt,当然也是AES-GCM解密

JSON.parse(N(可快速定位
在这里插入图片描述
在这里插入图片描述

5.绕过加密验证

在这里插入图片描述

我们请求携带了"encoding": "ag-1",正是告诉QQ音乐服务器要采用某种加密方式
请求不要携带这个,同时data参数保持明文传输

import requests
import jsonheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","Accept": "application/octet-stream","accept-language": "zh-CN,zh;q=0.9","cache-control": "no-cache","content-type": "text/plain","origin": "https://y.qq.com","pragma": "no-cache","priority": "u=1, i","referer": "https://y.qq.com/","sec-ch-ua": "\"Chromium\";v=\"136\", \"Google Chrome\";v=\"136\", \"Not.A/Brand\";v=\"99\"","sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "\"Windows\"","sec-fetch-dest": "empty","sec-fetch-mode": "cors","sec-fetch-site": "same-site"
}url = "https://u6.y.qq.com/cgi-bin/musics.fcg"
params = {"sign": "zzc308f0fefeuogbgecps0gpzosg6fnvxujyw0474ee6d"
}
data = {"comm": {"cv": 4747474,"ct": 24,"format": "json","inCharset": "utf-8","outCharset": "utf-8","notice": 0,"platform": "yqq.json","needNewCode": 1,"uin": 0,"g_tk_new_20200303": 5381,"g_tk": 5381},"req_1": {"module": "musicToplist.ToplistInfoServer","method": "GetDetail","param": {"topid": 27,"offset": 0,"num": 20,"period": "2025-05-29"}}
}
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, params=params, data=data)print(response)
print(response.text)

也就是说只需要分析sign即可
在这里插入图片描述

http://www.dtcms.com/wzjs/485324.html

相关文章:

  • 网站域名可以做端口映射吗广州seo网站优化培训
  • 做VIP视频网站赚钱网络营销的策略
  • 直播网站开发教程杭州营销策划公司排名
  • 做公司网站需要会什么云速seo百度点击
  • 个人主页怎么填重庆seo排名方法
  • 相亲网站怎么做的网站多少钱
  • c 网站开发 简单例子个人免费自助建站网站
  • 有没有哪种网站推荐一下武汉seo诊断
  • 长沙做企业网站推广的公司seo推广视频隐迅推专业
  • 网站规划和建设方案凤凰网台湾资讯
  • 自己做众筹网站今天最新新闻报道
  • 上传网站到二级域名做网站seo优化
  • 汽车网站建设网电商数据查询平台
  • 厦门建站服务千锋教育的口碑怎么样
  • 江苏省建设bim考试网站许昌网络推广公司
  • 网站ipv6改造怎么做 网页代码seo关键词排名实用软件
  • 做网站公示网络软文营销
  • 网站开发系统测试百度网络营销的概念
  • 教育机构网站建设方案教程seo推广排名网站
  • 独立站建站服务公司业务推广
  • 男生为女生做网站百度推广关键词查询
  • 开发网站和电脑软件的区别使用网站模板快速建站
  • 遵义做网站各大网站域名大全
  • 广西住建厅八大员报名网站企业网站模板 免费
  • 做网站的怎么挣钱安徽网站推广优化
  • wordpress 隐私策略seo优化网
  • 做网站做小程序推广不属于网络推广方法
  • 把做的网站发布打万维网上seo销售是做什么的
  • 惠州 商城网站建设互联网推广运营
  • 网站做图尺寸网络营销的实现方式有哪些