Challenge
檔案 : task.py
與這個 server 溝通有規定的格式:mac&&sess&&cmd
mac : username, password, sessionID, cmd 的 maohash 值
sess: 該次連線會給你一個 session ID
cmd : 你想要執行的指令
而 username 和 password 可以自行設定,有提供 Guest 和 Admin 可以操作。
但是拿 Flag 的指令必須要是 Admin 的身份才行。
Solution
這個自行實作的 Hash,有 Length extension attack 的漏洞
該題目在檢查 session 時 session in sess[0]
,只要你只傳一個 session ,並且該 Round 的 session 有出現在其中就可以了。
單純只要實作出來就好,要注意 Padding 格式、字串的長度(password 的部分由於不知道長度,要暴力猜一下)