吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3090|回复: 12
收起左侧

[Web逆向] 某站主页指纹校验加密参数逆向

[复制链接]
linix 发表于 2023-11-24 21:14
最近几天某字母站主页视频爬取时需要加上dm_cover_img_str参数,如果没有此参数带cookie和userAgent访问则报风控失败错误:
{"code":-352,"message":"风控校验失败","ttl":1,"data":{"v_voucher":"voucher_72b9d213-5adb-42f2-b1f4-eeexxxxxxxxxx"}}
原先这个网站还是挺好爬的,通过搜索url中w_rid参数可以较快定位到dm_cover_img_str加密就在https://s1.hdslb.com/bfs/static/jinkela/space/9.space.311b7ba068d7fce9374add553079f1d9c94dcfb3.js格式化后50107行附近:
s.webglVendorAndRenderer = B(s.webglVendorAndRenderer)
注意它会将原参数改写掉,原参数是浏览器指纹相关内容,我电脑上为:ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0xx)), SwiftShader driver)Google Inc. (Google)

B函数扣出为:
B = function(t) {
        var e = (new TextEncoder).encode(t).buffer
          , n = new Uint8Array(e)
          , r = btoa(String.fromCharCode.apply(null, n));
        return r.substring(0, r.length - 2)
    }
其中btoa为windows函数,nodejs中没有,后面我会补上,所以简单将2个函数合并即可模拟得到dm_cover_img_str参数:
B = function(t) {
    var e = (new TextEncoder).encode(t).buffer
        , n = new Uint8Array(e)
        , r = btoa(String.fromCharCode.apply(null, n));
    return r.substring(0, r.length - 2);
};

var btoa=function (str) {
    var s = new Buffer.from(str).toString('base64');
    return s;
};

var webglVendor="ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0XX)), SwiftShader driver)Google Inc. (Google)";
var dm_cover_img_str=B(webglVendor);
console.log(dm_cover_img_str);
第一次发帖,也比较简单,估计伸手党比较多,直接给答案了。

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| linix 发表于 2023-11-28 10:24
外酥内嫩 发表于 2023-11-28 09:33
只获取了这一个参数吗,挺有意思的

其它参数w_rid,wts和以前一样,网上也有相关算法了,别的参数可以不要,网站的原URL是:https://api.xxxxxxx.com/x/space/wbi/arc/search?mid=275908810&pn=1&ps=25&index=1&order=pubdate&order_avoided=true&platform=web&web_location=1550101&dm_img_list=[]&dm_img_str=V2ViR0wgMS4wIChPcGVuR0wgRVMgMi4wIENocm9taXVtKQ&dm_cover_img_str=QU5HTEUgKEdvb2dsZSwgVnVsa2FuIDEuMy4wIChTd2lmdFNoYWRlciBEZXZpY2UgKFN1Ynplcm8pICgweDAwMDBDMERFKSksIFN3aWZ0U2hhZGVyIGRyaXZlcilHb29nbGUgSW5jLiAoR29vZ2xlKQ&w_rid=3cd99ff3a09e3c6d2d737c087be9631d&wts=1701136562,其实也就一个dm_img_str,和这个算法是同一个,就在上面,可以不要,加上的话自己再跟下参数就可以了。
涛之雨 发表于 2023-12-4 11:04
详细的说明可以参考:
【2023-11-26】分析 A+1 站的获取 UP 视频投稿接口变动
https://www.52pojie.cn/thread-1862056-1-1.html
(出处: 吾爱破解论坛)


论坛的伸手党确实是很多的,这个没办法,但是我觉得可以简单记录一下过程,
不仅作为教程,也做一个记录,如果帮到他人的话就最好了,不然当一个简单的逆向记录也是很好的
ldecxh 发表于 2023-11-28 00:14
geniusrot 发表于 2023-11-28 07:41
看不懂。。。
Pwaerm 发表于 2023-11-28 08:27
感觉有些网站的指纹还结合了鼠标运动,鼠标没动就会校验失败。 纯js不好整
Theshyqaq 发表于 2023-11-28 09:03
伸手伸手
外酥内嫩 发表于 2023-11-28 09:33
只获取了这一个参数吗,挺有意思的
 楼主| linix 发表于 2023-11-28 10:29
本帖最后由 linix 于 2023-11-28 10:57 编辑

其它2个参数加密算法与以前一样,照以前网上算法即可。

加上cookie,别的就没什么了,可以成功获取数据:

也不知道能不能发这种图片,如有敏感我就删掉
外酥内嫩 发表于 2023-11-28 15:56
linix 发表于 2023-11-28 10:24
其它参数w_rid,wts和以前一样,网上也有相关算法了,别的参数可以不要,网站的原URL是:https://api.xxxx ...

这样子啊,那也就是说其他参数也有,这个参数强制校验了
slhd 发表于 2023-11-29 17:44
感觉这个东西没太必要,匿名模式下ua,dm_img_str,dm_cover_img_str这三个东西是固定的,用的WebGL和GPU,但是那个值提取又有点玄学,所以结论就是直接用它给的base64就好
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 02:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表