网站逆向算法解密实战
  w5drKdEZCZdz 2023年11月02日 29 0

链接

https://jzsc.mohurd.gov.cn/data/company

刷新网页,list接口返回值是加密数据:

image-20230921094513044

搜索 JSON.parse 来确认 js 文件:

image-20230921095101636

文件好像太多了呀,还得加点料,提取精华才行。搜索请求路径:

image-20230921095257281

总算看到app.xxx.js了,就是它。

image-20230921095546930

js文件内搜索 JSON.parse,打上断点,切换标签按钮,触发 js 执行到断点,看到接收到了加密数据:

那就定位进入 m 函数:

定位 m 函数:

改造后:

const CryptoJS = require('crypto-js');

f = CryptoJS.enc.Utf8.parse("jo8j9wGw%6HbxfFn")
h = CryptoJS.enc.Utf8.parse("0123456789ABCDEF");
function m(t) {
    var e = CryptoJS.enc.Hex.parse(t)
        , n = CryptoJS.enc.Base64.stringify(e)
        , a = CryptoJS.AES.decrypt(n, f, {
        iv: h,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    })
        , r = a.toString(CryptoJS.enc.Utf8);
    return r.toString()
}

data = "95780ba0943730051dccb5fe3918f9feae9abf241f28ec50003716c9927ce836e75cf0843f74ca2eebe0fd3276462bb9059717d20e9d7718eecf4adfdd7243f8a8e6860c3aca71962e58f8c0fc4781d00995bb85377b2ac55f0476589f73126f0b80a837491dc8f26848b35e0e636577cfab2a11ab4f172a27a7e1e3a53afe6ed8551fdb3f22ceec69bc8829523fa08b351e5c353ba45435c8bb95da93a13ed0213fc1620411bd7d6c9285248a79b05c38f4d7f92616417accada5ac1f1b83f4d58b0b1e70a4c7dea35fc5a2bebf6334cadf70ede90a3a15c3b84a932a3ad130a41b3311804f7142f68428f7e6c64204"
console.log(m(data))

拿到明文:

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
w5drKdEZCZdz