a1算法
cookie我们发现,只需要里面a1+web_session有值就能正常请求,先看看a1在哪里生成;搜索a1一个个去找,最后是在一个js文件里面,我们点击进去
4.png (14.76 KB, 下载次数: 0)
下载附件
2024-11-13 20:11 上传
然后发现a1是一个常量,我们直接搜这个常量,发现有set方法
5.png (24.27 KB, 下载次数: 0)
下载附件
2024-11-13 20:11 上传
6.png (13.94 KB, 下载次数: 0)
下载附件
2024-11-13 20:11 上传
然后就是把这个算法贴到本地,这个算法很简单就一些随机数啥的,直接运行本地js,发现差不多。调用接口也没问题。
7.png (103.5 KB, 下载次数: 0)
下载附件
2024-11-13 20:11 上传
x-s算法
也是搜索,发现里面是调用了window._webmsxyw,是一个windos函数。
8.png (15.16 KB, 下载次数: 0)
下载附件
2024-11-13 20:11 上传
从函数点进去,发现是一个被混淆的js,这个算法依赖三个参数,一个是请求url,一个是body,一个是a1;有两种处理方式,一种是补环境,一种是长链接调用。两种都试过,推荐还是用补环境的方式,长链接调用的方式a1是写死拓展性差。
第一步点进去直接把源码复制过去
第二步补环境即可
[JavaScript] 纯文本查看 复制代码window = global;
delete global;
delete Buffer;
window.sdt_source_init = true
window.external = {}
window.Window = function () {
}
window.Image = function () {
}
canvas = {
innerHTML: "",
tagName: "",
className: "",
nodeName: {},
contentWindow: {},
getContext: function (arr) {
},
remove: function (arr) {
},
style: {
position: {}, left: {}, fontSize: {}, fontStyle: {}, fontWeight: {}, letterSpacing: {}, lineBreak: {}, lineHeight: {},
textTransform: "", textAlign: {}, textDecoration: {}, textShadow: {}, whiteSpace: {}, wordBreak: {}, wordSpacing: {}, fontFamily: {}
},
appendChild: function (arr) {
},
offsetWidth: function (arr) {
},
offsetHeight: function (arr) {
},
}
document = {
createElement: function (arr) {
return canvas
},
documentElement: {},
querySelectorAll: function () {
},
cookie: "a1"
}
navigator = {
userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) xxxx",
platform: "Win32",
webdriver: false,
}
screen = {}
localStorage = {
getItem: function () {
}
}
location = {
host: "www.xxxxx.com"
}
history = {};
这是补环境的代码,把x-s那段混淆的js贴到下面就可以运行了
9.png (95.56 KB, 下载次数: 0)
下载附件
2024-11-13 20:11 上传
x-s-common算法
x-s-common就是对v值进行了加密编码等操作,v里面又有 x1~x10等等属性。这个跟a1一样扣算法就行了,就是比较难点
10.png (23.24 KB, 下载次数: 0)
下载附件
2024-11-13 20:11 上传
11.png (132.49 KB, 下载次数: 0)
下载附件
2024-11-13 20:11 上传
这样就完成了