- Stay Away Creepy Crawlers
- Find the flag where they keep the creepy crawlers away.
- Crawlersなので、robots.txtを見る
flag{mr_roboto}
- Source of All Evil
- どこかのソースコードにフラグが入ってるんだろうなぁと思ってみると、ルートページにある
flag{best_implants_ever}
- Can't find it
- http://167.71.246.232:8080/との通信を見ると404の応答として文章が含まれているものがある
flag{404_oh_no}
- Show me what you got
- Find the "indexes" flag here: http://167.71.246.232/
- 通信を見ると
/images/
というフォルダに入った画像がリクエストされている /images/
のみにするとどうだろうか。フォルダ一覧が表示され、隠されたファイルを見つけることができるflag{disable_directory_indexes}
- Certificate of Authenticity
Certificate
ということなので、httpsでつないでみると自己証明書が使われていた- 発行先がフラグになっている
flag{selfsignedcert}
- Headers for you inspiration
- ルートページにヘッダーがついていた
Flag: flag{headersftw}
- Ripper Doc
- Find the flag in the ripper doc list.
/certified_rippers.php
の通信を見ると、Cookieでauthenticatedが使われている。trueに変えて送ってみると、情報が得られるflag{messing_with_cookies}
- Protected Directory
- Find the flag in the protected directory.
- 問題名に当たりそうなものは
/admin/
くらいしかない。どうやって攻撃しようか。 - 総当りをする心をぐっと抑えて
/.htpasswd
を探してみるとある admin:$apr1$1U8G15kK$tr9xPqBn68moYoH4atbg20
- Follow The Rabbit Hole
- Follow the rabbit hole and get the flag.
- 以下
/rabbit_hole.php?page=cE4g5bWZtYCuovEgYSO1 [513, '71'] 4O48APmBiNJhZBfTWMzD あたりがまず怪しいので、CyberChefしてみるが何も反応がない。 pageと出力の形式が同じ感じだったので、とりあえず出力をpageに入れてみると別の応答が得られる。 問題にも"Crawler"とあるので、クロールスクリプトを書いて探ってみる。
import requests import re import time root = 'http://167.71.246.232:8080' current_page = 'CcOz5dNeYSJB6gMKgBzD' for _ in range(100): r = requests.get(f"{root}/rabbit_hole.php?page={current_page}") print(r.text) r2 = re.findall(r'\[(.*)\][\r\n|\n|\r] (.*)', r.text) next_page = r2[0][1] print(f'======= {current_page} => {next_page} ========') current_page = next_page time.sleep(3)
全部たどるとendで終わり。
Tenable CTF - Down the Rabbit Hole
なんじゃそれ…