• 爬虫逆向进阶实战JS逆向3.6.6 AES链接加密逆向案例


    天津市公共资源交易网

    查看连接变化进行调试

    点击列表链接跳转详情页时发生变化,对项目ID进行加密

    对链接进行断点调试,注意正常的chrome抓包是找不到的,此时需要删除列表 a 标签中的 target="_blank" 这个标签元素,然后点击‘事件监听器’,点击‘focus’,点击 js 文件跳转,在 3304 行进行断点调试,使用 event.special 进行搜索自定义的点击函数,在 1939 行进行断点,开启调试点击链接进入调试断点

    点击进入下一个函数调用跳转到 VM 中,这里的js函数就是对跳转的链接进行的整个加密,其加密方式为AES加密

    修改js文件为自己可以调用的函数
    // AES 加密方法(http://ggzy.zwfwb.tj.gov.cn/jyxxxqgg/index.jhtml)
    // event.special(点击事件监听)
    var CryptoJS = require("crypto-js");
    
    function encryptAes () {
        // var hh = $(this).attr("href");                                   # 链接参数加密
        var hh = 'http://ggzy.zwfwb.tj.gov.cn:80/jyxxxqgg/991193.jhtml';
        var s = 'qnbyzzwmdgghmcnm';
        if (typeof (hh) == 'undefined' || hh == '#') {
            hh = $(this).attr("url");
            if (typeof (hh) == 'undefined' || hh == '#') {
                return
            }
        }
        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]*$/;
        if (r.test(ccc) && cccc.indexOf('jhtml') != -1) {
            var srcs = CryptoJS.enc.Utf8.parse(ccc);
            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;
        }
    }
    
    console.log(encryptAes());
    
    注意 s = 'qnbyzzwmdgghmcnm' 这个 s 的值可以通过调试断点看到为一个定值,使用全局搜索确定为定值

  • 相关阅读:
    Loadrunder场景设计篇——IP欺骗
    Loadrunner场景设计篇——负载生成器
    Loadrunder场景设计篇——定时器(schedule)
    2-SAT 及 一点习题
    如何A掉未来程序改
    NOI2015 寿司晚宴
    好玩的东西——一个代码片段
    后缀自动机
    Codeforces Round #313 (Div. 2)
    Codeforces Round #312 (Div. 2)
  • 原文地址:https://www.cnblogs.com/wyh0923/p/16497449.html
Copyright © 2020-2023  润新知