引言
今天會講兩題,因為第二題是我們講過的,就當作複習吧!
第一題繼續延伸進位制,第二題是已經出現很多次的 nc 。
General Skills / 2Warm
這題一樣是考進位制轉換,要求從10進位轉到2進位。
我們試著用 Python 來解這題,在此之前需要先介紹一個函式: bin()
bin() 可以將整數轉換成二進制形式的字串,
此字串前面會有0b
前綴 (可參考昨天的文章)
e.g. bin(17) 會得到 '0b10001'你也可以搭配八進位、十六進位的數來轉換:
e.g. bin(0o13) -> '0b1011'
e.g. bin(0x3c) -> '0b111100'
所以寫一個 Python 檔,用 bin() 來轉換,並去掉 0b
前綴:
# base.py
print(bin(42)[2:])
[2:] 代表要從第2個 index 開始取到最後全部,
因為這邊想要把第0位、第1位的 0b 去掉。同理,更多例子:
[:5] 代表前面全部,一直取到第4
位,要注意後面的數字不包括。
[:-1] 中的 -1 代表倒數第1位,因此表示從前面一直取到倒數第2位為止。
$ python base.py
101010
將 101010 用 flag 格式包住:
picoCTF{101010}
General Skills / what's a net cat?
這題是純粹 nc 命令題,
可以參考第7天的文章 了解 nc 使用方法。
照題目的意思打上命令:
$ nc jupiter.challenges.picoctf.org 64287
連線到 jupiter.challenges.picoctf.org 這個主機,並連接 64287 號 port 。
這樣就能跟在這個 port 上監聽的程式溝通了,
連上伺服器後 flag 就跑出來了:
You're on your way to becoming the net cat master
picoCTF{nEtCat_Mast3ry_284be8f7}