Directory.php は任意のコードの実行を許可する | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2018.10.23(火)

Directory.php は任意のコードの実行を許可する

[翻訳:関谷 麻美] 2002年3月11日

国際 海外情報
[翻訳:関谷 麻美]
2002年3月11日

概要
 Marcus S. Xenakis は、シェルコマンドをサポートする非常に優れた PHP スクリプトを開発した。

 "directory.php" スクリプトは "ls" コマンドに基づいており、渡されたパラメータに基づくディレクトリを読む。

 このスクリプトのセキュリティ問題は、ファイル・システム上にある任意のディレクトリの閲覧を許可してしまうことだ。さらに、";" のような危険な文字用のフィルターがないことで発生する任意コードの実行を許可する。これは、同じ作者が作成した Unix Manual PHP Script のバグと全く同じである。
Unix Manual PHP Script バグは最近、修正された。

詳細
 Marcus S. Xenakis PHP-Scripts は、シェルコマンドの単純コールを頻繁に使用する:
exec("ls -la $dir",$lines,$rc);

 これは、非常に簡単なプログラムだが、シェルコマンドのコールが引き起こす危険について取り組んでいない。

影響:
 HTTP-Daemon の権利で任意のコードを実行することが可能。

攻略手段:
 このスクリプトは"Unix Manual PHP Script" とは反対で、コマンドを入力する際にフォームを提供しない。理由は、あなたが実行したいと考えるパラメータおよびコマンドを含むスクリプトを直接、呼び出す必要があるからだ。
http://www.example.com/directory.php?dir=%3Bmore%20/etc/passwd
上記のURL は、Password File を示す。

http://www.example.com/directory.php?dir=%3Bps+-aux
上記のURL は、全ての動作プロセスを示す。

解決策:
 危険な文字(特に";")を取り除くフィルターを実装する。

ベンダーの対応:
 ベンダーと連絡をとった。

追加情報
BlueScreen がこの情報を提供した。

[情報提供:SecuriTeam]
http://www.securiteam.com/

《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

(。・ω・)ゞ !!ScanNetSecurity創刊20周年特別キャンペーン実施中。会員限定 PREMIUM 記事読み放題。早割10月末迄。現在通常料金半額以下!!
<b>(。・ω・)ゞ !!ScanNetSecurity創刊20周年特別キャンペーン実施中。会員限定 PREMIUM 記事読み放題。早割<font color=10月末迄。現在通常料金半額以下!!">

サイバーセキュリティの専門誌 ScanNetSecurity は 1998年の創刊から20周年を迎え、感謝を込めた特別キャンペーンを実施中。創刊以来史上最大割引率。次は30周年が来るまでこの価格はもうありません

×