其他分享
首页 > 其他分享> > 攻防世界NaNNaNNaNNaN-Batman

攻防世界NaNNaNNaNNaN-Batman

作者:互联网

 

题目提供了一个附件

下载下来打开

 

 

可以看出是一个js文件

改后缀为.html打开

是一个输入框

输什么都没反应 ,继续分析js代码

 

 最开始的‘_’是一个变量,内容是一个函数的代码 eval执行,我们将eval函数改为alert函数,使他弹框

显示出源代码

eval() 函数:可计算某个字符串,并执行其中的的 JavaScript 代码。
alert() 函数:用于显示带有一条指定消息和一个 确定按钮的警告框。

 

 

 

稍微整理一下

 

 得到flag有两种方法,一种是要满足他的所有条件

  满足length==16,正则的话^为开始符号,$为结尾符号,拼接一下:be0f233ac7be98aa,输入就拿到flag了。

还有就是直接运行输出段

var t=["fl","s_a","i","e}"];
var n=["a","_h0l","n"];
var r=["g{","e","_0"];
var i=["it'","_","n"];
var s=[t,n,r,i];
for(var o=0;o<13;++o){
    document.write(s[o%4][0]);s[o%4].splice(0,1)
    }
}

得到flag

flag{it's_a_h0le_in_0ne}

标签:攻防,函数,Batman,js,NaNNaNNaNNaN,flag,eval,var,alert
来源: https://www.cnblogs.com/mouzaisi/p/12238086.html