攻防世界 flag_in_your_hand1


題目

下載附件並解壓,有文件如下:

分析與解題

  1. 打開index.html
  2. 查看網頁源碼,找到關鍵部分
<script src="script-min.js"></script>
<script type="text/javascript">
    var ic = false;
    var fg = "";

    function getFlag() {
        var token = document.getElementById("secToken").value;
        ic = checkToken(token);
        fg = bm(token);
        showFlag()
    }

    function showFlag() {
        var t = document.getElementById("flagTitle");
        var f = document.getElementById("flag");
        t.innerText = !!ic ? "You got the flag below!!" : "Wrong!";
        t.className = !!ic ? "rightflag" : "wrongflag";
        f.innerText = fg;
    }
</script>
  1. 如果通過檢查,getFlag可以生成我們需要的flag。
  2. 查看script-min.js,定位到關鍵部分
function ck(s) {
    try {
        ic
    } catch (e) {
        return;
    }
    var a = [118, 104, 102, 120, 117, 108, 119, 124, 48,123,101,120];
    if (s.length == a.length) {
        for (i = 0; i < s.length; i++) {
            if (a[i] - s.charCodeAt(i) != 3)
                return ic = false;
        }
        return ic = true;
    }
    return ic = false;
}
  1. 因此只要反推出返回true的s即可。求解代碼如下
a = [118, 104, 102, 120, 117, 108, 119, 124, 48, 123, 101, 120]
s = ""
for i in a:
    s += chr(i - 3)
print(s)
# s = security-xbu
  1. 在token框中輸入security-xbu

flag: RenIbyd8Fgg5hawvQm7TDQ


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM