前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >逆向教程 - 完整逆向某小程序破解签名算法过程记录

逆向教程 - 完整逆向某小程序破解签名算法过程记录

作者头像
MoLeft
修改2022-11-17 20:45:23
1.9K0
修改2022-11-17 20:45:23
举报
文章被收录于专栏:用砖头敲代码用砖头敲代码

起因

一天晚上我正在愉快的网上冲浪的时候突然我一个朋友给我转发了一个叫“大家画我”的小程序,大概意思就是用他小程序里面内置的画板去画个图片,然后就可以显示出来了。

分析过程

于是我开始了老规矩,黄鸟抓包大法,看看可不可以上传自定义的图片

通过黄鸟帮我捋清步骤,发现他的图片是储存在七牛云上面的,于是我便感觉可以搞一手,但是通过抓包发现他在请求头是有一个“sign”的字段去验证签名的,不过都是小问题 直接去github克隆一份wxappUnpacker,把小程序解包,分析一下签名的算法,当然也是顺利的解了包,并且通过全局搜索发现了签名的算法

可以看出来它使用的是Hmac_Sha256算法,这也是比较常见的后端验证的方法,大概思路就是把参数的value通过ascii码的顺序来排序,然后来计算签名 光知道算法可不行,还得找到他的密钥,于是我又开始搜索“p.globalData.tk”的定义,当然也是非常轻松就找到了

当我沾沾自喜的以为密钥就是gogogo的时候,现实又很残酷的打了我的脸,当我复刻出算法用现在的token去计算签名的时候发现这个密钥不对 我百思不得其解,最后无奈,祭出小黄鸟又开始新一轮的抓包,终于被我发现了猫腻,他是通过一个“getconfig”接口去获取的tk和本地的tk去拼接 两个tk拼接之后才是真正的密钥,于是又开始搜索相关代码,被我找到了真正的赋值过程

这下真正的tk也被破解出来,就可以开始复刻签名算法了,这种东西当然是选择python了

洋洋洒洒写出签名算法之后,就开始伪造数据,并且验证签名结果是否一样了,答案是肯德,毕竟都分析到这种程度了,再不成功就说不过去了 于是开始复刻上传图片到七牛云的过程,大概过程就是:先获取token,再上传到七牛云,然后把图片提交给服务器

然后是把图片提交给服务器,让服务器保存到数据库

结果

其实这个图是个gif来着,但是因为是截屏所以看不到效果,再给大家看看别人的画风

正所谓没有买卖就没有杀害,呸走错片场了,没有对比就没有伤害

如无特殊说明《逆向教程 - 完整逆向某小程序破解签名算法过程记录》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-251.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 起因
  • 分析过程
  • 结果
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档