NaNNaNNaNNaN-Batman
下载出一个文件我们一开始不知道是个啥,我们拉入到sublime中看一下
我们可以发现在最开始的位置有一个_是一段函数变量,最后的eva()那个是执行函数代码,但这个还是有点乱,我们试试能不能将eval转换为alert看看能不能将源码给搞出来,当然这个文件也基本确定了是个html页面(如果不将eval改为alert的话就是如下的界面)
爆出一部分代码
function $() {
var e = document.getElementById("c").value;
if (e.length == 16) if (e.match(/^be0f23/) != null) if (e.match(/233ac/) != null) if (e.match(/e98aa$/) != null) if (e.match(/c7be9/) != null) {
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)
}
}
}
document.write('<input id="c"><button οnclick=$()>Ok</button>');
delete _
我们拿flag有两种方法
第一种
我们首先要满足长度等于16,然后匹配正则表达式,正则表达式以^开始,以$结尾我们只要将be0f23233ace98aa拼接,我们将拼接的字符串输入到输入框内即可获得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