引言
昨天的題目讓大家知道可以做反組譯
這件事,
其實這是一個大主題,歸在逆向工程
中,
該分類會大量使用這個技術,之後做到這方面的題目再跟大家介紹。
General Skills / Tab, Tab, Attack
這題算是非常簡單,但是學到的技術又非常實用,
甚至可以說是 shell 技巧中最實用的!
為什麼那麼肯定呢?
因為「每個」命令都可以用到這個技巧,它就是 tab 鍵達成的 auto-complete 。
在 shell 中你可以在還沒打完命令時按下 tab 鍵,它會以你目前打的為基礎幫你自動補完!
非常方便,算是最好用也最常用的技巧。
我們來看看題目:
題目給了一個 zip 檔案 Addadshashanammu.zip
,使用 unzip 命令將它解壓縮:
$ unzip Addadshashanammu.zip
解壓縮後:
Archive: Addadshashanammu.zip
creating: Addadshashanammu/
creating: Addadshashanammu/Almurbalarammi/
creating: Addadshashanammu/Almurbalarammi/Ashalmimilkala/
creating: Addadshashanammu/Almurbalarammi/Ashalmimilkala/Assurnabitashpi/
creating: Addadshashanammu/Almurbalarammi/Ashalmimilkala/Assurnabitashpi/Maelkashishi/
creating: Addadshashanammu/Almurbalarammi/Ashalmimilkala/Assurnabitashpi/Maelkashishi/Onnissiralis/
creating: Addadshashanammu/Almurbalarammi/Ashalmimilkala/Assurnabitashpi/Maelkashishi/Onnissiralis/Ularradallaku/
inflating: Addadshashanammu/Almurbalarammi/Ashalmimilkala/Assurnabitashpi/Maelkashishi/Onnissiralis/Ularradallaku/fang-of-haynekhtnamet
我們要利用 shell 中 tab 鍵的自動補完功能,可以發現解壓縮出來的檔案路徑檔名很長,目錄也很多層,只要先打 ./
再一路按 tab 鍵,你就會發現 shell 自動幫你補上所有路徑,最後到達 fang-of-haynekhtnamet 這個檔案,剛好是個執行檔,按下 Enter 就會執行:
*ZAP!* picoCTF{l3v3l_up!_t4k3_4_r35t!_6f332f10}
這裡再舉個例子:
例如你想打 cat banana.txt
,
而此時目錄下只有 banana.txt 以及 apple.txt ,
你可以先打 cat b
,然後按下 tab ,
此時就會幫你自動補完 cat banana.txt
!
但如果目錄下是 banana.txt 與 boom.txt ,
只打 cat b
後按下 tab 是不會有反應的,
因為資訊不足以知道你要哪個檔案,此時有兩種做法:
cat ba
或更完整,讓 shell 了解你要 ba
開頭的字。banana.txt boom.txt
然後你還是必須加字使 shell 知道你要哪個檔案,此方法只是列出來讓你更好觀察。