好奇心の足跡

飽きっぽくすぐ他のことをしてしまうので、忘れないため・形にして頭に残すための備忘録。

Shakti CTF 2020 writeup [Web]

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

Link: http://104.198.67.251/authen

リンクを踏むと、こんなログイン画面

f:id:kusuwada:20201206223312p:plain

ソースを見てみると、怪しいところが。

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

Link: http://104.198.67.251/Ador

urlを訪れるとこんなページ

f:id:kusuwada:20201206214608p:plain

Welcome user, secrets only for admin

これが気になる。

cookieとhtmlソースを確認。ソースに

use name for user

的なコメントが書いてあるのも気になる。

色々いじったりUAを変えてみたりしたけどわからなかったので、上の文言からなんとなくurlのparameterクエリに?name=adminを入れたらflagが出た。

f:id:kusuwada:20201206214904p:plain

Biscuits

Ada Lovelace used to love eating french biscuits during her work

Link: http://34.72.245.53/Web/Biscuits/

これはタイトルからcookie関連かな?と想像。

f:id:kusuwada:20201206214952p:plain

cookie見たらそのまんまフラグが書いてあった。

f:id:kusuwada:20201206215030p:plain

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

Link: http://34.72.245.53/Web/Machine/

topページはこんな感じ。

f:id:kusuwada:20201206215208p:plain

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

Link: http://35.225.9.113/Doors/

topはこんな感じ

f:id:kusuwada:20201206215305p:plain

ここから飛べるサイトは特にflagのヒントなし。
flag.txt, flag.php, file0.php, file4.php などをpathトラバーサルしたりしてみたがヒットせず。

index.phpのソースコードに

<!-- ?page -->

というコメントがあたので、?page=hogehogeみたいな感じでクエリを投げられそうなことがわかる。
?page=file1.phpとすると、file1の内容が表示される。
?page=index.phpとすると、fileの表示に使われている関数が表示された。

f:id:kusuwada:20201206215354p:plain

この関数には 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がいました!

f:id:kusuwada:20201206223514p:plain

感想

XSSやSQL injection問題とかあると嬉しかったなー。
競技中に解けなかった PharAway が面白そうなので、是非復讐したい。sha1の一致のところで詰まってしまった。