今天挑戰的題目是:
顧名思義,就是要練習如何利用 Linux 的文字搜尋工具 grep 或 egrep,從檔案中快速找到隱藏的 flag。
解題過程
一、下載題目檔案:wget <題目連結>
使用"wget"把題目提供的檔案下載到 webshell 中,檔案名稱就是單純的 file。
二、檔案檢查:ls -1
用 "ls -1"查看目前資料夾,確認 file 的確存在。
三、第一次嘗試:strings
我先用"strings"嘗試查看檔案中的可讀字元,並用 grep 過濾出關鍵字 picoCTF。
雖然成功找到一段 看似 flag 的字串,不過提交後系統回覆 "Sorry, that flag is incorrect!"。
這代表檔案中可能有 多個類似字串,而我抓到的並不是正確的 flag。
四、進一步搜尋:egrep
因為題目強調 「grep is good to find things」,我就改用 egrep 的正規表示式功能,直接尋找完整 flag 格式。
這樣能確保找到的內容一定是 picoCTF{} 包起來的字串。
果然出現了一些結果,但和第三部找到的Flag是一樣的...提交後依舊顯示錯誤。
五、最後嘗試將"File"直接列出來:strings file | head -20
但只得到滿屏的亂碼,看了好久仍然找不出Flag...
小結
雖然目前我找到的 flag 還不是正確的,但過程中學到如何用 grep、egrep 與正規表示式更有效率地搜尋檔案內容。這對未來處理 CTF 題目或分析未知檔案都非常實用。
這題花了我實在太多時間,有沒有大神能救救我... 到底是哪裡出問題呢?🥲🥲
明天開始我會先往後繼續解題,這題就先含淚跳過。