這是今天的題目,看來也是個網頁題。
一開始我先選擇紅色,並打開檢查看看它的內容長怎樣。打開後可以看到裡面有個index.php,我們瀏覽一下裡面的內容暫時看不出甚麼。
我選藍色後去看index.php顯示Content unavailable. Resource was not cached。於是我用curl去查看
從這可以看出何post get請求有關連,這邊講一下post and get。
GET:用於取得資源或查詢,可被書籤、快取,長度被瀏覽器和伺服器限制。不適合用來傳送敏感資料像是密碼、token因為會出現在 URL/日誌中。
POST:
用於送出資料和變更資源例如:表單送出和上傳資料,資料放在request body並且在url上看不到。適合傳送大量或敏感資料,但仍需依靠HTTPS保護。
這題我們用
curl -i 'http://mercury.picoctf.net:21939/index.php
簡單GET就可獲得答案。
心得:一開始我像普通使用者一樣點了紅色、藍色按鈕,觀察到index.php有不同回應。接著我直接用瀏覽器檢查原始碼與檢查工具,發現按鈕可能透過不同的request method或header與後端互動。這時候用curl -i模擬 GET 與 POST,並比對response header與body,快速找出伺服器對不同請求的差異,整個排查流程非常直接有效。透過這題讓我複習了post和get。