もたもた復習してたら、サイトが閉じてしまった
[100] Space Force
fun.ritsec.club:8005から抜き出す。
SQLインジェクションをする。
「'=''or'」と「'/**/union/**/select/**/*/**/from/**/spaceships#」がペイロードとして紹介されている。
「'=''#」でも取れた。
WHEREは「カラム=値」じゃなくても「値=カラム」でも取れるんだなという気づき。
/**/はSpace2Commentという技術っぽい。多分、*/*/を挟むと空白として使われるというもの。
[200] The Tangled Web
fun.ritsec.club:8007から抜き出す。
解説1 解説2
どちらも、全てのページを取ってきて考えている。
解説2に、wgetのコマンドで全て取ってくるやつが紹介されている。
(手元のubuntuでやってみたら失敗したけど)
色々探ると、「UklUU0VDe0FSM19ZMFVfRjMzNzFOR18xVF9OMFdfTVJfS1I0QjU/IX0=」が出てくるので、base64でデコードすると答え。
最後に=があるとbase64っぽいのかな。
echo "UklUU0VDe0FSM19ZMFVfRjMzNzFOR18xVF9OMFdfTVJfS1I0QjU/IX0=" | base64 -d
で答えが出てくる。
[250] Crazy Train
fun.ritsec.club:3000から抜き出す。
解説1 解説2
ソースを見てみるとheadタグの中に
<meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="Ihs3V/sA44+40CvkMuwY2Qsvv277XZ8bTTTWGK2Hv6MJpjZ7FrERjZNvlJkVKB0elC6roTs4l1xi9xBR/vbUhg==" />
とある。これはrubyでのクロスサイトリクエストフォージェリ対策である。
よって、rubyが後ろで動いていることがわかる。
加えて、
<input type="hidden" name="article[a]" id="article_a">
が隠されているので、ここに5-5とか入れると0と帰ってくる。
つまり、コマンドインジェクションができそう。
rubyでコマンドインジェクションをするときは`で囲めばいいみたいなので、
`ls .`をして、ファイル構成を明らかにすると、flag.txtがあるので、
`cat flag.txt`で出すと答え。
[350] What a cute dog!
This dog is shockingly cute!
fun.ritsec.club:8008
[400] Lazy Dev
fun.ritsec.club:8007