某某星图sign参数解密分析 |
您所在的位置:网站首页 › 爬虫params参数写法 › 某某星图sign参数解密分析 |
大家好,我是TheWeiJun,欢迎来到我的公众号。今天给大家带来星图sign参数的解密分析,希望大家能够喜欢。如果你觉得我的文章内容有价值,记得点赞👍🏻+关注! 特别声明:本公众号文章只作为学术研究,不用于其他用途!
逆向与爬虫的故事(公众号) 专注于网络爬虫、JS逆向、APP逆向、安全攻防实战经验分享及总结。 目录 一、参数分析 二、JS断点调试 三、算法还原 四、思路总结 一、参数分析 打开目标网站,进行模拟登录,然后fn+f12快捷键打开调试界面。对指定页面json进行参数分析,如下: 定位到json的原始地址,我们发现参数sign值为加密。计算长度为32位,初步怀疑为md5加密,找到加密参数后,进行断点调试。
二、JS断点调试 确定好需要还原的加密值sign之后,我们可以根据发送get请求发起的params参数,进行参数js参数定位,最后确定到加密的js地址如下: 对js代码打上断点,关注入参和出参,进行调试,展示的效果如下: 进入y函数,我们会发现y函数的结果值重新定位到了如下的函数地址: 将断点定位到113023行,选择return后面的返回值,可以看到加密后的结果值为: "dbe3db84b5559fc87ca43fe4e48842c7"如下所示: 因为我们怀疑sign值生成和MD5算法有关联,我们将加密的值:也就是: c+"e39539b8836fb99e1538974d3ac1fe98"此刻e的值即为他们拼接后的结果,如下: 最后我们将e通过md5加密查看结果: 通过分析,可以确定和js调试的sign值结果一致,接下来进行算法还原! 三、算法还原 查看原始的url地址如下: 可以确定,刚刚的js调试的sign值和请求的url的sign值一致,那么我们对所有的js算法进行还原成python代码吧!完整代码如下: """ var c = s.sort().map((function(t) { var n = e[t]; return function(e) { return null == e }(n) ? "" : t + (!a.includes(t) && function(e) { return ["string", "number"].includes(Object(m["a"])(e)) }(n) ? n : t) } 加密前的值n = c + "e39539b8836fb99e1538974d3ac1fe98"""" params = ( ('resource_id', '1012'), ('limit', '1'), ('service_name', 'marketing.AdStarMarketingService'), ('service_method', 'GetBannerList'), ('sign_strict', '1'),)data = list(params)data.sort()c = ""ori_c = "limit1resource_id1012service_methodGetBannerListservice_namemarketing.AdStarMarketingServicesign_strict1"for item in data: c += item[0] + item[1]print(c) # 还原的cprint(ori_c) # js调试的c 打印还原的c参数和js调试的c参数,结果如下:limit1resource_id1012service_methodGetBannerListservice_namemarketing.AdStarMarketingServicesign_strict1limit1resource_id1012service_methodGetBannerListservice_namemarketing.AdStarMarketingServicesign_strict1经过分析,我们发现初始化的c值结果一致,那么接下来进行md5计算吧: # md5加密import hashlib ori_sign = "dbe3db84b5559fc87ca43fe4e48842c7"c = f"{c}e39539b8836fb99e1538974d3ac1fe98" # 需要拼接指定的keysign = hashlib.md5(c.encode()).hexdigest()print(sign)print(ori_sign) 打印的结果如下:dbe3db84b5559fc87ca43fe4e48842c7dbe3db84b5559fc87ca43fe4e48842c7结果完全一致。四、思路总结 从入参到出参去进行算法还原,对比入参和出参是否与结果值一致。 本篇分享到这里就结束了,欢迎大家关注下期,我们不见不散☀️☀️😊 往期推荐 猿人学逆向比赛第四题-gRPC题解 | Go版本 DX滑块验证码别乱捅!一不小心就反爬了。 某安网别逆向,一不小心就...... 微信自动聊天机器狗,配置chatGPT,比Siri还智能! 被魔改md5加密坑了?某网站魔改md5加密逆向还原 (多种语言还原) 爬虫最快框架collyx,今天开源了... 某站弹幕Protobuf协议逆向分析 | Go语言版本 某游戏社区App | So层逆向分析 推荐一个干货满满的公众号: 逆向与爬虫的故事 专注于网络爬虫、JS逆向、APP逆向、安全攻防实战经验分享及总结。 作者简介 我是TheWeiJun,有着执着的追求,信奉终身成长,不定义自己,热爱技术但不拘泥于技术,爱好分享,喜欢读书和乐于结交朋友,欢迎加我微信与我交朋友。 分享日常学习中关于爬虫、逆向和分析的一些思路,文中若有错误的地方,欢迎大家多多交流指正☀️ 文章来源:逆向与爬虫的故事(公众号) 原文链接:某某星图sign参数解密分析 微信搜:逆向与爬虫的故事;给我一个关注! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |