こんとろーるしーこんとろーるぶいこんとろーるしーこんとろーるぶい読者になるこんとろーるしーこんとろーるぶい週末にカチャカチャッターン!したことを貼り付けていくブログこの広告は、90日以上更新していないブログに表示しています。websec_eval_wl.sowriteup画面入力したパラメータをevalで実行するPHPが公開されている。そのまま実行するとこうなる。ダウンロード可能なファイルは、以下2つ。websec_eval_wl.sosource.txtsource.txtは以下の通り。</body></html>websec_eval_wl.soは、evalが実行可能な関数をチェックをしていると思われる。画面入力では効率が悪いので、curlコマンドで実行。</body></html>試しに、system関数を使う。</body></html>あれ、通るぞ・・・。親ディレクトリはlsで見れない。</body></html>他のディレクトリもlsでは見れない。</body></html>しかし、ファイル名を直接指定すれば見れる。</body></html>lsが使えないが、問題文をヒントに探索していると、親ディレクトリにflag発見。</body></html>実行したらフラグゲット。あれ、こんな単純でいいのだろうか・・・。</body></html>ちなみに画面実行するとこうなる。補足websec_eval_wl.soとはいったい何だったのか。気になったので少し調べる。stringsをかける。20160609.fmt(snip)やはり何かの関数を弾いている。実行してみることにする。websec_eval_wl.soを拡張モジュールの格納ディレクトリにコピーしておく。/usr/lib/php/20151012/websec_eval_wl.so拡張モジュールのインターフェースを確認。{}拡張モジュールをロードしてインタラクティブモードで起動してevalを実行。evalにsystem関数は通らない。call.拡張モジュールをロードせずにインタラクティブモードで起動してevalを実行すれば通る。websec_eval_wl.soが弾いている。hoge");');hoge出題サイトでsystem関数が普通に使えたのは何だったのだろうか。Writeupnoranecoは未参加だったので、いつもと違うチームで参加。(1)はてなブログをはじめよう!graneedさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。