js_reverse/猿人学练习/11js加密人均会解jsl-eval函数-事件断点-python执行js

知识点js生成cookiejs事件断点eval函数

解题思路

模拟请求地址发现返回的是一串js

请求

既然返回是js那么直接事件断点

请求

断点调试下一步,下一步,下一步,直到https://www.python-spider.com/challenge/11停下来

请求

这里的会发现如下这段代码

try {
    eval(y.replace(/\b\w+\b/g, function(y) {
        return x[f(y, z) - 1] || ("_" + y)
    }));
    break
} catch (

eval替换成a = ,并在底部打印a函数

try {
    a = (y.replace(/\b\w+\b/g, function(y) {
        return x[f(y, z) - 1] || ("_" + y)
    }));
    break
} catch (

发现返回的是一串js

请求

复制出来执行一下试试,发现格式报错

请求

继续执行,报错document不存在

请求

开始补环境,缺啥补啥

function createElement(){
    return {
        'innerHTML':'',
        'firstChild':{
            'href':'http://www.python-spider.com/challenge/11'
        }
    }
}
function  setTimeout (){ }
document = {
    'attachEvent' : function(){},
    'addEventListener':function(){},
    'createElement':createElement,
};

最后成功返回cookie值

请求