巴扎嘿的入行笔记(渗透测试工程师)(十三)-第一次通过js解出加密数据库密码

作者:巴扎嘿啦啦啦 | 发布时间:

相关声明

本文内容仅为技术科普,请勿用于非法用途,本人概不负责,后果自负。

我也是入行7个月的菜b,文章内容有问题请及时指正,感谢!

还有就是12期下不是不更了,而是最近重保还有渗透项目有点忙,等闲下来就更,我记得之前还挖过坑oauth授权也不知道啥时候能填。

 

看到一个后台页面有数据库配置信息,明文的用户名,和密文的数据库密码就是这样的

ad1a1b7183193011

然后抓包结果包结尾返回了这个

ad1a1b7183193413

好家伙aes加密和密钥加密后的字符串都有啊。

兴致来了直接一手f12大法,在调试器里搜一下aes,结果还真有(不过一般都会有在前端代码里)

ad1a1b7183193636

然后就本地idea 下个node.js,npm -install crypto-js。

然后本地运行代码进行解码

const CryptoJS = require("crypto-js");
function aesDecrypt(word) {
    var key = CryptoJS.enc.Utf8.parse("密钥");
    var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.手动打码, padding: CryptoJS.手动打码});
    let mys = CryptoJS.enc.Utf8.stringify(decrypt).toString();
    console.log(mys)
}

aesDecrypt("密码");

运行,密码就出来了。