耶誕節交換禮物 Web CTF Writeup

這篇大致整理了我 2022/12/24 的解題筆記,再不整理可能 WEB 基礎都要忘光光了 QQ

當天剛好可以報名交換禮物活動但我 ... 懶 XD

Welcome

此題被分類在 Frontend 類別。

網頁分析

  • 網頁上好像沒有什麼有趣的東西,所以我打算開 Burp Suite 檢查看看有沒有攔截到什麼有趣的訊息。

使用 Burp Suite 分析

  • 先開啟一個新的專案,因為我們要攔截流量,所以我們選 Proxy --> HTTP history --> Open Browser ,接著用那個新開的 browser 輸入題目網頁的網址,這時 Burp Suite 應該就會有一些資訊,像是顯示發送出甚麼 request 給 server 之類的。

  • 我們通常會點找有興趣的 request 然後右鍵 Send to Repeater 去檢查發送這個 request 會得到什麼 response 。

  • 接著我們可以點選 Repeater 檢查剛剛轉過去的資料,這邊我們重新送出這個 request 時會發現 response 會出現 flag !

FLAG 紀錄

1
FLAG{Y0u_F0und_M3}

Never login

此題被分類在 Frontend 類別。

網頁分析

  • 題目說這是一個登入不了的網站,我去檢查網頁原始碼之後發現了一段 code 如下,每次登入好像都會跑到他的樣子:

    1
    2
    3
    4
    function checkForm() {
    alert('密碼錯誤');
    return false;
    }

  • Disable javascript 應該會是一個方法,但我這邊不是採用這個方法。

  • 網頁原始碼還給我另外一個資訊:

    1
    <!-- password: w3@kp@ssw0rd -->

  • 我這邊一樣是想說先進 Burp Suite 分析看看。

Burp Suite 分析

  • 這邊一樣是把 request 轉到 Repeater 去檢查,順邊會發現是 GET 在處理 request 。

  • 這時候注意到一件事,可以從網頁原始碼看到送出的請求應該要是 POST ( form 那邊 ) ,代表後端應該也是要對應到 POST ,這樣一來我們可以試著把我們原先看到的 GET 改成 POST ,比較簡單的做法是右鍵 Change request method 。

  • 現在我們可以把 password 塞到 request 裡:

    1
    password=w3@kp@ssw0rd

  • 不過這邊好像要很注意格式,與前一段訊息要控一行 \r\n 且最後面不能多換行,這樣之後再送出,我是這樣才拿到 flag 的,總之就是 注意格式

FLAG 紀錄

1
flag{Byp@ss_Fr0nt_3nd_V3r1f1c@t10n_1s_V3ry_3@sy}