小程序安全 | 对某次渗透项目加密密文进行解密

admin 2022年11月26日21:30:56评论39 views字数 1032阅读3分26秒阅读模式

小程序安全 | 对某次渗透项目加密密文进行解密

1.当接到某个项目进行渗透测试时,我个人比较偏向小程序,当我打开小程序点击其他功能点的时候发现参数被进行加密了。

小程序安全 | 对某次渗透项目加密密文进行解密

2.对小程序进行反编译后得到小程序的前端代码,使用小程序开发者工具进行查找搜索encrypt参数,先看app.js成功定位到encrypt。ps(为什么先看APP.js,因为其他那些是引用的库)

小程序安全 | 对某次渗透项目加密密文进行解密

3.跟进 o,o是A6F17FD27F6C38AFC09717D525323F76.js

小程序安全 | 对某次渗透项目加密密文进行解密

4.找到 A6F17FD27F6C38AFC09717D525323F76.js 中的encrypt

小程序安全 | 对某次渗透项目加密密文进行解密

5.成功找到加密方法:


   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;
               

小程序安全 | 对某次渗透项目加密密文进行解密

6.现在得到的信息有:

aes加密,cbc模式,pkcs7填充

aes解密函数第一个参数s是明文,第二个参数e是密钥,i是iv

跟进e,发现e是传进来的

那就只能搜一下key试试看看


小程序安全 | 对某次渗透项目加密密文进行解密

7.继续 跟进n,看一下1F03AD467F6C38AF7965C541D7123F76.js

小程序安全 | 对某次渗透项目加密密文进行解密

8.成功找到key和iv值


小程序安全 | 对某次渗透项目加密密文进行解密

9.剩下就是拉出来js文件调试;成功解密出密文。

小程序安全 | 对某次渗透项目加密密文进行解密

解密成功密文后接下来跟常规渗透测试无区别了。

原文始发于微信公众号(璇铠安全实验室):小程序安全 | 对某次渗透项目加密密文进行解密

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月26日21:30:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   小程序安全 | 对某次渗透项目加密密文进行解密https://cn-sec.com/archives/1427130.html

发表评论

匿名网友 填写信息