图灵爬虫练习平台第九题js逆向

发布于:2025-05-13 ⋅ 阅读:(16) ⋅ 点赞:(0)

地址:aHR0cHM6Ly9zdHUudHVsaW5ncHl0b24uY24vcHJvYmxlbS1kZXRhaWwvOS8=

f12进入了debugger,右击选择一律不在此处暂停, 点击继续执行

首先就是复制curl,然后到网站进行请求是什么加密

可以看到加密的'm': '1f284f2cc0aa0c4621d8cee0fb7fcd6a51661bd9', 'tt': 'MTc0NDQzNjIyNDU4Mg==',

然后就是hook一下m

var code = function(){
var open = window.XMLHttpRequest.prototype.open;
window.XMLHttpRequest.prototype.open = function (method, url, async){
    if (url.indexOf("m")>-1){
        debugger;
    }
    return open.apply(this, arguments);
};
}
var script = document.createElement('script');
script.textContent = '(' + code + ')()';
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);

hook后可以看到获取到了,然后我们查看调用堆栈 

然后就会发现断住了,然后往上找

到这里就会发现,m的值实在这里生成的,很明显这里经过了混淆,发现这里没有显示m的生成位置,往上找,你就会发现

找个解混淆工具看看

这里就有一个n.data.m = t.MqmaW(c, t[r(1881)](t[r(489)], f)),还有一个n[r(1939)].tt = btoa(f);,可以确定了,这里就是m还有tt的加密位置

js代码

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


function c(n){
    if(n){
        return CryptoJS.HmacSHA1('9527'+n,"xxxooo").toString();
    }
}

function run(){
    let f =new Date()['getTime']();
    let tt= btoa(f);

    f=c(time)
    return {
        m:f,
        tt:tt
    }
}


console.log(run())

 


网站公告

今日签到

点亮在社区的每一天
去签到