Directory.php は任意のコードの実行を許可する | ScanNetSecurity
2020.09.28(月)

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 会員限定記事特集をもっと見る

カテゴリ別新着記事

★★ ( FB ログイン可) 会員限定記事、週 1 回のメルマガ、人気ニュースランキング、特集一覧をお届け…無料会員登録はアドレスのみで所要 1 分程度 ★★
★★ ( FB ログイン可) 会員限定記事、週 1 回のメルマガ、人気ニュースランキング、特集一覧をお届け…無料会員登録はアドレスのみで所要 1 分程度 ★★

登録すれば、記事一覧、人気記事ランキング、BASIC 会員限定記事をすべて閲覧できます。毎週月曜朝には一週間のまとめメルマガをお届けします(BASIC 登録後 PREMIUM にアップグレードすれば全ての限定コンテンツにフルアクセスできます)。

×