某医院小程序逆向签名加解密之泄露百万数据

admin 2026-06-03 04:12:40 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档详细记录了某医院小程序的逆向工程过程,通过反编译发现其采用AES和RSA双重加密机制。作者成功破解签名算法后,发现报告查询功能存在越权漏洞,通过遍历userid可获取近百万条用户敏感信息(姓名、身份证、手机号)。最后利用AI编写代理工具实现自动化批量数据提取。 综合评分: 72 文章分类: 漏洞分析,数据泄露,WEB安全,应急响应,红队


cover_image

某医院小程序逆向签名加解密之泄露百万数据

原创

private null private null

轩公子谈技术

2026年5月31日 12:23 江苏

在小说阅读器读本章

去阅读

首先登录小程序,发现数据是密文,还有签名,这就很头大啊

再大也要干,反编译小程序,格式化 js 代码,全局搜索签名字段,发现了疑似代码实现

source: n.source,

version: n.version

这俩个是固定的,在上面代码中的硬编码内容

nonce: p 是 function u 函数中p=s(6) 传入一个 6 ,通过下面的代码实现出来的,随机生成的字符串

           function s(t){                                  if(t >21)returnnull;                                  var e =newRegExp(“(\d{“+ t +”})(\.|$)”);                                  return(Array(t -1).join(0)+Math.pow(10, t)*Math.random()).match(e)[1]

token: g, 很明显是获取的登录的 token 值,然后转为 json 格式

timestamp: d,这个不用看代码就知道什么意思,时间戳

完了就是调用encrypt 函数进行加密,在最上面引用了var t = require(“./aes256Util.js”),,说明是 aes 加密方式

完事了搜索了 aes 加密方式

e 是 aes 的 key,r 是 iv,截取 key 的 16 个字符。cbc 模式,填充 pkcs7

最终转为 json

{“source”:”aaaa”,”version”:”1.0.1″,”nonce”:”123456″,”timestamp”:”1683881234567″}

就生成签名信息了

由于小程序的请求参数和返回包都是加密的,所以还存在另一种加密方式,即 rsa

这是就是对应的公钥和私钥了

整体流程如下

请求流程:

1.构造业务参数对象 params

2.入参加密: RSA公钥加密(JSON.stringify(params)) -> encryptedData

3.生成 nonce = 6位随机数

4.生成 timestamp = 当前毫秒时间戳

5.获取 token = wx.getStorageSync(“LOGIN_TOKEN”)

6.生成 signature = AES-256-CBC-Encrypt(JSON.stringify({ source: “xxxxxxx”, version: “1.0.1”, nonce: nonce, timestamp: timestamp, token: token // 可选 }))

7.发送请求: header 中携带 source/version/timestamp/nonce/token/signature    body 中携带 RSA加密后的数据

响应流程:

1.接收响应

2.如果 status=1102: 刷新 token 并重试

3.出参解密: RSA私钥解密(response.data) -> JSON.parse -> 业务数据

把找到的内容和代码 发给 ai,这样就不用自己写脚本,一键验签,加解密。

成功了,那么就开始测试最常见的点,报告查询,在很久很久之前,医院小程序,报告查询的功能,几乎都存在越权,现在亦是如此,解密我的报告查询参数

这是注册的账号,身份证号随机生成的,

发现,竟然是传入的 userid,那么id – 1 看看获取的数据

可见是成功的查询到了其他人的手机号,姓名,身份证号

也能搜到微信号,userid 是六位数,刚好是 9 开头的,99w+条三要素

但是这样也很麻烦,搞一次手动验签一次,于是让 ai 写一个代理中转,自动加解密,自动验签,这样就可以在 bp 爆破模块中遍历 id 了

简单试一下,可以进行解密

简单遍历 100 条数据

完美。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:轩公子谈技术 private null private null《某医院小程序逆向签名加解密之泄露百万数据》

    评论:0   参与:  0