2020年12月3の21:30 - 12月4日21:30 で行われていた、Shakti CTF 2020の [Web] 分野のwriteupです。
※ まとめはこちら tech.kusuwada.com
AuthEN
Ada is important to the world, she is important for a reason
リンクを踏むと、こんなログイン画面
ソースを見てみると、怪しいところが。
if(username == “admin” && password == String.fromCharCode(115, 104, 97, 107, 116, 105, 99, 116, 102, 123, 98, 51, 121, 48, 110, 100, 95, 112, 117, 114, 51, 95, 99, 52, 108, 99, 117, 108, 97, 116, 105, 48, 110, 115, 125))
もうすでにflagになってそう。
arr = [115, 104, 97, 107, 116, 105, 99, 116, 102, 123, 98, 51, 121, 48, 110, 100, 95, 112, 117, 114, 51, 95, 99, 52, 108, 99, 117, 108, 97, 116, 105, 48, 110, 115, 125] for a in arr: print(chr(a), end='')
実行結果
$ python solve.py shaktictf{b3y0nd_pur3_c4lculati0ns}
Ador
Ada was born on 10 December 1815 not 12, identification change makes a difference
urlを訪れるとこんなページ
Welcome user, secrets only for admin
これが気になる。
cookieとhtmlソースを確認。ソースに
use
name
for user
的なコメントが書いてあるのも気になる。
色々いじったりUAを変えてみたりしたけどわからなかったので、上の文言からなんとなくurlのparameterクエリに?name=admin
を入れたらflagが出た。
Biscuits
Ada Lovelace used to love eating french biscuits during her work
これはタイトルからcookie関連かな?と想像。
cookie見たらそのまんまフラグが書いてあった。
THE_FLAG_IS
:
shaktictf%7Bc00k13s_m4k3_phr3n0l0gy%26m3sm3r15m_3asy%7D
url decodeして
shaktictf{c00k13s_m4k3_phr3n0l0gy&m3sm3r15m_3asy}
Machine
Babbage was impressed by Lovelace's intellect and analytic skills that he called her a humanoid
topページはこんな感じ。
Humanoid robot of maths
これは robots.txt
問の予感。
http://34.72.245.53/Web/Machine/robots.txt
にアクセスしてみると
User-agent: * Allow: /var/www/html/ Disallow: /mkiujnbhytgbvfr.html
ほうほう。このdisallowのページにアクセスできれば良さそう。
何も考えずに
http://34.72.245.53/Web/Machine/mkiujnbhytgbvfr.html
にアクセスするとFlagがありました。
flag: shaktictf{7h3_3nch4n7r355_0f_Nu3b3r}
Doors
Ada Loves to travel to places, London-Paris-Spain and discover more
topはこんな感じ
ここから飛べるサイトは特にflagのヒントなし。
flag.txt
, flag.php
, file0.php
, file4.php
などをpathトラバーサルしたりしてみたがヒットせず。
index.phpのソースコードに
<!-- ?page -->
というコメントがあたので、?page=hogehoge
みたいな感じでクエリを投げられそうなことがわかる。
?page=file1.php
とすると、file1の内容が表示される。
?page=index.php
とすると、fileの表示に使われている関数が表示された。
この関数には PHP: file_get_contents - Manual のとおり何でも突っ込めるので、上記試したようなファイルを推測して色々試してみたが特にめぼしい成果はなし。
どういう問題が出されるんだろうな?とfile_get_contents ctf
的な感じでぐぐってみるとnoisyさんのDEFCONのwriteupを発見。
DefCamp CTF Qualification 2017 writeup - Qiita
/etc/passwd
にflagがあった、とある!
easy問題にしては推測部分が多いから違うかもな?と思いつつ ?page=/etc/passwd
を入れると、flagがいました!
感想
XSSやSQL injection問題とかあると嬉しかったなー。
競技中に解けなかった PharAway が面白そうなので、是非復讐したい。sha1の一致のところで詰まってしまった。