先把附件下載下來,然后打開,一堆js亂碼

把最后的eval修改成alert,再將文件后綴修改成html,用瀏覽器打開,亂碼變正常了

之后把js代碼對齊一下,這里用這個網站進行對齊 https://beautifier.io/
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 onclick=$()>Ok</button>');
把e的值輸出來就是就獲取flag,要滿足上面的if,在正則中^表示開頭,$表示末尾,同時還要滿足長度為16位
那么把上面的值拼接一下e的值就是 be0f233ac7be98aa,輸入獲取flag
或者直接把中間那段代碼直接運行,丟給瀏覽器的控制台,跑出來就是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{it's_a_h0le_in_0ne}
