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

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

国際 海外情報

[翻訳:関谷 麻美]
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 会員限定記事特集をもっと見る

カテゴリ別新着記事

★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★
<b>★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★</b>

経営課題としてサイバーセキュリティに取り組む情報システム部門や、研究・開発・経営企画に携わる方へ向けた、創刊19年のセキュリティ情報サービス Scan PREMIUM を、貴社の事業リスク低減のためにご活用ください。

×