问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
小程序安全 | 对某次渗透项目加密密文进行解密
渗透测试
转载来自微信公众号“云雾安全”的《小程序安全 | 对某次渗透项目加密密文进行解密》 原文地址:https://mp.weixin.qq.com/s/oCTCu0nID3xHodxfBcgfSQ
接到某个项目进行渗透测试时,每个人都有自己的习惯,大部分师傅都会从擅长的方向开始,而笔者个人比较偏向小程序的测试。小程序相对于主站资产站点缺少些关注度,且其维护程度可能会不及核心站点,容易存在较多的问题。 当打开小程序点击其他功能点的时候发现参数被进行加密了,这时候考虑反编译一下小程序获取其前端代码,尝试找到小程序传参加密代码。 ![1.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-f5f43fa9889c0abf31e7c5176af7854877117f8e.png) 对小程序进行反编译后得到其前端代码之后,使用**微信小程序开发者工具**进行查找,尝试从代码中搜索出常用关键字**encrypt也就是常见命名的加密函数**。 **反编译后的众多文件中,app.js文件中包含着小程序核心功能代码,而其他的js文件绝大多数是额外引用的第三方库,从app.js入手则可以成功定位到encrypt**。 ![2.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-4ed27fdfef92ace925dfcc5b7aaa0c02be6a73de.png) 发现加密关键字与流程之后,跟进对象 o,获取其调用的JS文件为A6F17FD27F6C38AFC09717D525323F76.js ![3.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-01b18edc006dfb8abe9872defc4e1b4c8a8a355e.png) 查看文件A6F17FD27F6C38AFC09717D525323F76.js内容,再次定位关键字“encrypt”,成功找到其参数加密函数。 ![4.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-49c44ca27db784e189e01eeee8569c0358bb9df1.png) ![5.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-5d18524eef064e11ac3d2d14fb12bb0e9bd39031.png) 加密函数如下: ```php r.encrypt = function(t, e, i) { return function(t, e, i) { var n = r.enc.Utf8.parse(t); return r.AES.encrypt(n, e, { iv: i, mode: r.mode.CBC, padding: r.pad.Pkcs7 }).ciphertext.toString().toUpperCase(); }(t, e, i); }, r.decrypt = function(t, e, i) { return function(t, e, i) { var n = r.enc.Hex.parse(t), s = r.enc.Base64.stringify(n); return r.AES.decrypt(s, e, { iv: i, mode: r.mode.CBC, padding: r.pad.Pkcs7 }).toString(r.enc.Utf8).toString(); }(t, e, i); }, module.exports = r; ``` 从加密代码分析得知,**其小程序参数加密采用的是cbc模式,pkcs7填充的aes加密**。 而aes解密函数第一个参数s是明文,第二个参数e是密钥,i是iv,尝试跟进e,发现e是传进来的,那就只能搜一下key试试看。 ![6.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-1f70dc32ba8b9e999a135a8f2d564d622c69a341.png) **继续跟进n,查看调用1F03AD467F6C38AF7965C541D7123F76.js的内容** ![7.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-41a6b9d6941d17574e5269d5438d672b2b93b08d.png) 成功找到key和iv值 ![9eef1299a942f17e5b2cd0570fc4a7d.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-e33e9e6f158c64db18bf9b797c4995507d13c683.png) 剩下的过程就是利用其加密js文件进行调试,传入加密所需要的key、iv与测试时抓取的密文,成功解密出其参数的明文信息。 ![9.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-1099fbd2c6f385f801b7854144d4cdb0903c8e3c.png) - - - - - - 解密成功密文后接下来跟常规渗透测试无区别了。 - - - - - - 文章相关备份与快速利用笔记已经上传到公众号资料网盘(持续更新中) ![网盘1.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-8baf94e375fe6ea274bb127d2b5ed589e388eea4.png) ![网盘2.png](https://shs3.b.qianxin.com/attack_forum/2023/01/attach-db310e2b5e4d4b7be3fc3e439bbda87a01d93728.png)
发表于 2023-01-10 09:14:33
阅读 ( 8146 )
分类:
WEB安全
3 推荐
收藏
0 条评论
请先
登录
后评论
云雾安全
2 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!