攻防世界之NaNNaNNaNNaN-Batman

行於其野發表於2020-11-17

題目
在這裡插入圖片描述
WP
很顯然是一個包含js的檔案,將檔名字尾改外.html瀏覽器開啟
沒有反應,檢視原始碼如下
在這裡插入圖片描述
基本上是亂碼,最後有個eval()函式,執行了_變數,我們將eval()改成alert()將_變數彈出

eval() 函式:可計算某個字串,並執行其中的的 JavaScript 程式碼。
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 _

分析程式碼可知,輸入c標籤內的內容必須為16長度,且滿足四個正規表示式
計算四個正規表示式,我們可以發現符合條件的字串be0f233ac7be98aa 將alert改回eval,並用瀏覽器解析後在輸入框中提交該字串
在這裡插入圖片描述
得到flag啦~

相關文章