AES链接加密逆向案例

本节内容是AES链接加密案例,主要内容是对列表页url的加密分析。

目标网站链接:天津市公共资源交易网

该网站的url直接点击无法访问,发现在访问详情页时会将url进行加密后才能继续访问,首先要分析加密的逻辑,发现加密是在点击事件发生后才触发的。如图1所示:

图1

 点击方法查看详细内容,成功发现加密部分的代码,采用的AES加密,mode为ECB,padding为Pkcs7,如图2所示:

图2

 将代码简化后复制到Snippets后开始模拟运行,如图3所示:

图3

 接下来用python还原代码如下:

import execjs

js = """
var CryptoJS = require("crypto-js");
function get(hh) {
    var aa = hh.split("/");
    var aaa = aa.length;
    var bbb = aa[aaa - 1].split('.');
    var ccc = bbb[0];
    var cccc = bbb[1];
//    var r = /^\+?[1-9][0-9]*$/;
//    var ee = $(this).attr('target');
    var srcs = CryptoJS.enc.Utf8.parse(ccc);
    var s = "qnbyzzwmdgghmcnm";
    var k = CryptoJS.enc.Utf8.parse(s);
    var en = CryptoJS.AES.encrypt(srcs, k, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    var ddd = en.toString();
    ddd = ddd.replace(/\//g, "^");
    ddd = ddd.substring(0, ddd.length - 2);
    var bbbb = ddd + '.' + bbb[1];
    aa[aaa - 1] = bbbb;
    var uuu = '';
    for (i = 0; i < aaa; i++) {
        uuu += aa[i] + '/'
    }
    uuu = uuu.substring(0, uuu.length - 1);
    return uuu
}
"""

url = "http://ggzy.zwfwb.tj.gov.cn:80/zwyw/989467.jhtml"
result = execjs.compile(js).call('get',url)
print(result)

程序运行成功,点击该链接可以直接访问页面,结果如图:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值