某某星图sign参数解密分析

​    大家好,我是TheWeiJun,欢迎来到我的公众号。今天给大家带来星图sign参数的解密分析,希望大家能够喜欢。如果你觉得我的文章内容有用,记得点赞👍🏻+关注!

    特别声明:本公众号文章只作为学术研究,不作为其他不法用途;如有侵权请联系作者删除。

 目录

一、参数分析

二、JS断点调试

三、算法还原

四、思路总结

逆向与爬虫的故事(公众号

专注于网络爬虫、JS逆向、APP逆向、安全攻防实战经验分享及总结。

一、参数分析

    打开目标网站,进行模拟登录,然后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)  # 还原的c
print(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"  # 需要拼接指定的key
sign = hashlib.md5(c.encode()).hexdigest()
print(sign)
print(ori_sign)
​
打印的结果如下:
dbe3db84b5559fc87ca43fe4e48842c7
dbe3db84b5559fc87ca43fe4e48842c7
结果完全一致。

四、思路总结

    从入参到出参去进行算法还原,对比入参和出参是否与结果值一致。

往期推荐

某安网别逆向,一不小心就......

微信自动聊天机器狗,配置chatGPT,比Siri还智能!

被魔改md5加密坑了?某网站魔改md5加密逆向还原 (多种语言还原)

爬虫最快框架collyx,今天开源了...

某游戏社区App | So层逆向分析


作者简介

我是TheWeiJun,有着执着的追求,信奉终身成长,不定义自己,热爱技术但不拘泥于技术,爱好分享,喜欢读书和乐于结交朋友,欢迎扫我微信与我交朋友💕

分享日常学习中关于爬虫及逆向分析的一些思路,文中若有错误的地方,欢迎大家多多交流指正💕

文章来源:逆向与爬虫的故事(公众号)

原文链接:某某星图sign参数解密分析

微信搜:逆向与爬虫的故事;给我一个关注!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24852.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果发布黄色版 iPhone 14,定价 5999 元起;大神李沐被曝离职投身大模型创业;Atlassian 裁员 |极客头条

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&…

神经网络中的损失函数

在《神经网络中常见的激活函数》一文中对激活函数进行了回顾,下图是激活函数的一个子集—— 而在神经网络领域中的另一类重要的函数就是损失函数,那么,什么是损失函数呢? 损失函数是将随机事件或其有关随机变量的取值映射为非负实…

Sam Altman 最新访谈:谈谈 AI 的未来,还有中国 AI 发展现状

Sam Altman最新访谈:这次他更结构化地谈了AI的未来,还有中国AI现状 目录 Sam Altman最新访谈:这次他更结构化地谈了AI的未来,还有中国AI现状 划重点:

苹果发布黄色版 iPhone 14,定价 5999 元起;大神李沐被曝离职投身大模型创业;Atlassian 裁员 |极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

正在改变一切的Ai聊天机器人

ChatGPT通过Al生成的内容让我们眼花缭乱,从一个聊天机器人转化成推动一个创新时代的技术,但,也并非人人都知道,那么,你知道Chatgpt到底是什么吗? 文章目录 前言一、什么是Chatgpt?二、如何使用C…

人工智能、机器学习、深度学习、神经网络概念说明

目录 1.机器学习的范围2.机器学习的方法2.1回归算法2.2神经网络2.3 SVM(支持向量机)2.4聚类算法2.5降维算法2.6推荐算法2.7总结 3 机器学习的分类3.1 监督学习3.2 无监督学习3.3 强化学习 4 机器学习模型的评估5 机器学习的应用 6 机器学习的子类--深度学…

chatgpt赋能python:处理超大文本文件的Python技巧

处理超大文本文件的Python技巧 在今天互联网时代,我们每天都会处理大量的数据。有些数据集非常庞大,可能包含数百万行甚至数十亿行。其中最常见的就是文本文件。如何在Python中高效地处理超大文本文件呢?在本文中,我们将提供一些…

chatgpt赋能python:Python文本段落提取:优化文章阅读体验

Python文本段落提取:优化文章阅读体验 在阅读长篇文章时,我们往往需要快速地找到自己感兴趣的内容,这就需要滚动查找。但是如果一篇文章没有明确的章节分析和标记,那么这个查找过程就会变得非常麻烦。因此,一些文本段…

chatgpt赋能python:Python文本纠错:改善你的SEO和文字质量

Python文本纠错:改善你的SEO和文字质量 作为一名有10年Python编程经验的工程师,无论是对于数据分析还是自然语言处理,我都有自己独特的编程技巧和工具。在这篇文章里,我将和大家分享使用Python进行文本纠错,从而改善你…

机器学习面试手册.PDF

点击上方“AI遇见机器学习”,选择“星标”公众号 第一时间获取价值内容 分享《机器学习面试手册》 ,文末提供 高清PDF下载方式。 内容概览 Preparing for Coding Interviews Imbalanced Data in Classification Bayes Theorem and Classifier Convolutio…

最难毕业季,会Python简直可以开挂!

上半年,“史上最多毕业生1076万”冲上热搜,阅读量达4.6亿次,众多应届大学生感叹想要成为打工人竟如此艰难! 不仅如此,前几天上线的《怎么办,脱口秀大会》中,知名辩手、武汉大学新闻与传播学院讲…

Midjourney入门指南:简单提示词,搞定高质量应用设计

Midjourney是一款文本到图像的AI工具,可以根据纯文本描述生成图片,例如UI屏幕、应用程序图标、产品图片、标志和吉祥物等。虽然它不能替代UI设计师,但它可以在产品设计和视觉探索的早期阶段成为有帮助的工具。要使用Midjourney,您…

Google公布2022年度最热门Chrome扩展

Google 从去年开始一直在大力推行 Manifest V3 扩展,虽然遭到了不少外部阻力,但这并没有影响 Chrome 扩展程序生态的繁荣。那么在过去一年,有哪些扩展脱颖而出,获得了 Google 和用户的青睐呢?日前,Google 就…

《写给Python程序员的GPT指南》.pdf

点击上方“Python与机器智能”,选择“星标”公众号 第一时间获取价值内容 分享新书:《写给Python程序员的GPT指南》 ,文末提供高清PDF下载! 通过学习,可灵活使用OpenAI GPT-3、GPT-4、DALLE 2等模型开发AI应用&#xf…

【壁纸】(可商用) 70枚壁纸高清免费

小样上有分辨率尺寸,可以参考,欢迎下载。 查看付费内容 文字20个图片6张 评论推荐Ta

应届生求职简历HTML模板

优秀的简历需要具备哪些要素?1、逻辑清晰、有条有理。HR面临的动辄几百上千份简历,简历需要在5秒内让HR能够get到所有重要信息。2、重点突出,简历有亮点用成绩说话!奖学金,荣誉奖项等内容必不可少。3、目标明确&#x…

word论文公式编号排版

中文论文公式一般需要添加序号,并且保持公式居中,序号右对齐的排版格式。这里记录一下使用word排版公式的方法。 排版主要使用制表位的方法,就是将word中一行分割成三个部分。主要分为三个步骤: 1.编写公式及编号 公式编写就是采…

ipad怎么阅读html文件,iPad浏览器怎么开阅读模式

在iPhone、iPad等中,Safari是浏览器是iOS自带的一款优秀浏览器,相比什么UC、QQ浏览器等体验更为出色,正是因为如此,果粉们基本很少使用第三方浏览器。今天,小编主要分享一个Safari浏览器小技巧,教大家Safar…

【Word排版】大纲级别、多级列表、样式应用

如果你还在使用下面的方法排版.. 那就跟我上车吧!! 01 创建样式 创建样式的一般流程: 1. 设置各个标题、正文的文字格式 2. 设置多级列表 3. 设置大纲级次 4. 创建样式 我们先定义一下文字格式:↓(格式根据自己实…

notepad 自动排版html,notepad++怎么自动排版

astyle是一个开放源码工具。它可以方便的将程序代码格式化成自己想要的样式而不必人工修改。 本来嘛,作为高等生物应该优先去做一些智慧的事情,而不是把时间消耗在机器可以完美完成的事情上。 在notepad:运行或是F5。(推荐学习:no…