はまやんはまやんはまやん

hamayanhamayan's blog

OSCTF Writeups

https://ctftime.org/event/2416

[Web] Introspection

ソースコード無し。フラグを入力するサイトが与えられる。Burp Suiteを起動してサイトを巡回すると/script.jsが読み込まれていて、以下のようにフラグが含まれていた。

function checkFlag() {
    const flagInput = document.getElementById('flagInput').value;
    const result = document.getElementById('result');
    const flag = "OSCTF{■■■■■■■■■■■■}";

    if (flagInput === flag) {
        result.textContent = "Congratulations! You found the flag!";
        result.style.color = "green";
    } else {
        result.textContent = "Incorrect flag. Try again.";
        result.style.color = "red";
    }
}

[Web] Style Query Listing...?

SQL Injectionができるっぽいので、適当に試して一発で以下でフラグが手に入った。

username -> admin password -> ' or ''='

理論無し。

[Web] Heads or Tails?

ソースコード無し。GET /を開くとWelcome to my first ever website.と言われる。あまりにGuessだったので寝かせていたが、ヒントが有償で開けるようになったので開いてみる。

Try making a custom directory/file bruteforcing list that is made in the following format: (http_request_methods)-(words_related_to_ctf)

ということでGET /get-flagを試してみるとMethod Not Allowedという応答が得られる。OPTIONSを試してみよう。以下のようなリクエストを飛ばしてみる。

OPTIONS /get-flag HTTP/1.1
Host: 34.16.207.52:4789

すると、Allow: OPTIONS, HEADと帰ってくる。HEADを試してみよう。

HEAD /get-flag HTTP/1.1
Host: 34.16.207.52:4789

を送るとFlagヘッダーがレスポンスに含まれてきて、フラグ獲得。

[Web] Indoor WebApp

ソースコード無し。サイトを開くとWelcome to the IDOR Challengeと言われる。View Profileを押してみると/profile?user_id=1に遷移する。1から2に変更してみるとフラグが得られた。