0
点赞
收藏
分享

微信扫一扫

【JS逆向】某保险网登陆数据AES加密逆向分析探索!


某保险网站登录加密,同样也是 AES 加密,整个登录数据内容信息采用 AES 加密,整体干扰较少,只需要搜索相对应的关键字特征即可找到,简单的断点调试即可获取到对应的结果!

网址:

aHR0cHM6Ly90aWFuYXcuOTU1MDUuY24vdGFjcGMvIy9sb2dpbg==

特征:

jsonKey 加密数据段

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_javascript

  1. 打开网站,用错误的账号信息登陆,密码为123456123

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_ecmascript_02

2.获得加密信息特征

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_前端_03

3.老规矩,搜索关键字:jsonKey

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_javascript_04

4.找到可疑的加密文件,打开查看

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_ecmascript_05

5.格式化,继续搜索关键字

6.找到可疑加密位置,打上断点调试

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_开发语言_06

7.登陆调试,可以看到加密过程

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_ecmascript_07

8.查看关键加密函数

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_javascript_08

9.可以看到典型的AES加密函数

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_开发语言_09

10.继续回到调试关键位置,分析加密过程,取f值

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_前端_10

11.扣取关键js加密函数,修改整理代码,取参数

function aes(l) {
    var n = CryptoJS.enc.Utf8.parse("hmwPxEnQfF8asJdf")
      , t = CryptoJS.enc.Utf8.parse("hmwPxEnQfF8asJdf")
      , e = CryptoJS.enc.Utf8.parse(l)
      , a = CryptoJS.AES.encrypt(e, n, {
        iv: t,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });
    return CryptoJS.enc.Base64.stringify(a.ciphertext)
}

本地运行效果:

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_前端_11

完整代码获取 

【JS逆向】某保险网登陆数据AES加密逆向分析探索!_开发语言_12


举报

相关推荐

0 条评论