IThome 2024 鐵人賽 一直刷 CTF - Day18
前言
本日進度:
上課紀錄
Lab - dig-blind
他只會回傳 success
和 fail
,先試試看
'; grep -q "NCKUCTF{d19_" /fl* && exit 0 || exit 1'
,好欸,他回傳 success
!!!!
但每一位都用人工猜有點太慢,可以寫個程式根據他回傳的 0 1 訊號反推
flag ,最笨的方法就是直接一個個慢慢枚舉,這樣複雜度會是 O (NK) , N
是字串長度,K 是枚舉的字元集數量,根據之前的觀察字元集應該是
0123456789abcdefghijklmnopqrstuvwxyz_!{}
,雖然我想到比較好的方法是把每個字轉 ASCII
,再用二進位表示,這樣就只會最多 7 次就知道那一個字是啥了,能壓到
O (N),但這樣寫有點累,而且字元集也不算太多,要是真的不行就再拿多執行緒來用也可以變成
O (N)
我的 python 程式碼:
1 | import requests |
