攻防世界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