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

admin 2026-10-24 08:17:44 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

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 条数据

完美。


    某医院小程序逆向签名加解密之泄露百万数据" 网络安全文章

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

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

    java内存马排查"

    本文介绍Java内存马排查实战流程:通过流量分析确认存在内存马后,使用Arthas工具检测Tomcat框架下的Java进程,利用dashboard和sc命令筛查Filter/Servlet类,发现哥斯拉内存马特征;通过classloader和反编译验证可疑类(无code-source路径),提供具体命令操作步骤实现应急响应。
    ClaudeCode浏览器搭子来了!这个5kStar神器让CC直接用你的真实Chrome拿数据" 网络安全文章

    ClaudeCode浏览器搭子来了!这个5kStar神器让CC直接用你的真实Chrome拿数据"

    bb-browser是一个开源工具,允许AIAgent通过控制用户已登录的Chrome浏览器直接访问各类网站数据,无需API密钥或编写爬虫。它通过CDP协议连接本地Chrome,利用现有登录态获取结构化数据,支持GitHub、Twitter、知乎等36个平台。工具提供CLI、MCP集成和OpenClaw三种接入方式,输出为JSON格式,但需保持Chrome运行并注意安全风险。
    信息安全漏洞月报(2026年05月)" 网络安全文章

    信息安全漏洞月报(2026年05月)"

    2026年5月国家信息安全漏洞库(CNNVD)统计显示新增漏洞6942个,环比增长22.98%,其中Linux漏洞数量最多(1034个),跨站脚本漏洞占比最高(7.40%)。危害等级中超危漏洞439个,整体修复率81.06%。通报重点包括PaloAltoNetworksPAN-OS缓冲区错误漏洞(CNNVD-202605-940),攻击者可远程执行任意代码,建议及时安装官方补丁。
    评论:0   参与:  0