# Picoctf環境適應與基礎Linux指令 ## 1.Obedient Cat [題目連結](https://play.picoctf.org/practice/challenge/147) 簡單來說,題目要求你從下載的檔案找到flag 這個flag通常長這樣 **picoCTF{}** 大括弧中的內容每個人都不一樣(也就是說去網路上抄也沒用ㄏㄏ) ![](https://i.imgur.com/yXLceql.png =80%x) 將flag貼上按下submit即可,系統會判斷正確與否 --- 回到題目,我們會使用到下面這些指令 * wget,下載指定網址的檔案 * cat,輸出檔案內容 * man,查詢指令使用方法 ```lua wget 連結 cat 連結 man 指令 ``` 首先先下載這個檔案到雲端主機中 ![](https://i.imgur.com/IvCIpxk.png =80%x) 複製連結 --- 使用wget下載檔案 ![](https://i.imgur.com/Z15gk6E.png =80%x) --- 下載完後使用cat輸出這個檔案,解答就出來了,送上去即可得分 ![](https://i.imgur.com/LrcH6sj.png =80%x) --- ### manuscript的使用 遇到不會的指令,可使用man查詢用法 ![](https://i.imgur.com/bHHfqJs.png =80%x) (圖中為man cat) --- ## 2.Mod 26 [題目連結](https://play.picoctf.org/practice/challenge/144) 在這題,你會看到加密後的旗子,但它給了提示,使用 ROT13 解碼 於是我們只需要去找線上轉換器解碼就好 google搜尋 rot13 decoder ![](https://i.imgur.com/SVbU6Dc.png =80%x) --- ### 常用名詞: * ciphertext **密文** (加密後的內容) * plaintext **明文** (未加密的一般內容) * encrypt **加密** * decrypt **解密** decode和decrypt很像,但有一點點不一樣 有興趣可以看[這篇](https://stackoverflow.com/questions/32202467/what-is-the-difference-between-decode-and-decrypt) ## 3.Python Wrangling [題目連結](https://play.picoctf.org/practice/challenge/166) 題目要求我們將這個python檔在雲端主機上執行並輸入密碼 我們先將三個連結下載起來(wget) 可以輸入ls指令,查看已下載的檔案及權限 ``` ls #查看檔案與權限 python 檔案 #執行python檔 ``` 接著我們cat pw.txt查看密碼 接著用python指令執行ende.py(-e指加密,-d指解密) 這裡使用-d (如果還是不太會可以man python) ![](https://i.imgur.com/aXZMriA.png =80%x) (此圖有些問題,應在後面加上要decode的檔名) 輸入剛剛cat到的密碼就可以拿到flag~ --- 另外,之後如果遇到權限不足(Permission denied) 使用chmod即可 ``` chmod 777 檔案 #給予最高權限 ``` --- ## 4.Tab, Tab, Attack 在繼續這題之前,我們發現之前的檔案都沒有刪除,久了雲端主機中的檔案就越來越混雜 --- 可以使用ls指令,查看主機中的檔案 接著用rm(remove)它們 ``` rm 檔案位址 #刪除目標檔案 rm * #刪除主機中所有檔案 ``` --- 用ls檢查一下 ![](https://i.imgur.com/3rCLydV.jpg) 成功刪除 --- 這裡開始可以自己思考一下,得到檔案後要做什麼,題目給的暗示是什麼意思 **思考後往下** --- 我們大概可以想到首先先wget檔案,下載起來後,照著題目的提示解壓縮.zip檔 那在Linux terminal怎麼解壓縮檔案呢? 其實這個指令就叫unzip ``` unzip 檔案 #對檔案解壓縮 ``` --- ![](https://i.imgur.com/EsLtd7P.jpg =80%x) 成功解壓縮 我們可以猜測它用了一層層的資料夾,flag可能就在裡面 --- 接著一直按tab鍵往下打開資料夾,flag就在最裡面喔~ (4/18)