ファイルアップロードの脆弱性の解析


アップロード・ホールの解析


1.IIS6.0局のディレクトリパス検出解析アップロード・ホールを迂回


デフォルトでは、後のIIS 6は解析されません.0ディレクトリパス検出解析は、ファイルの名前が「*.asp/xxx.jpg」であり、同じくIISによってASPファイルとして解析され、まず我々が要求する/aaa.を実行する.asp/xxxx.jpgヘッダから検索"."を取得します.asp/xxxx.jpg検索/」は、ある場合はメモリが切断されるので/aaa.asp/xxxx.jpgは/aaaとします.asp解析

2.IIS6.0局の解析的欠陥はアップロード・ホールを迂回する


IIS6.0ディレクトリパス検出解析は、ファイルの名前が「*.php;xxx.jpg」であり、同じくIISによってPHPファイルとして解析され、まず我々の要求/aaa.を実行する.php;xxx.jpgはヘッダから検索する.を取得します.php;xxx.jpgは;を検索し、あればメモリが遮断されるので/aaa.php;xxx.jpgは/aaaとします.php解析

3.Apache解析欠陥アップロードの脆弱性を回避


サーバ側拡張子検出ブラックリストを迂回するために使用できます.

げんり


ブラウザがファイルをサーバ側にコミットすると、サーバ側は設定した白黒リストに基づいてブラウザがコミットしたファイル拡張子を検出し、アップロードしたファイル拡張子が白黒リストの制限に合致しない場合はアップロードしない.そうしないとアップロードに成功する.

迂回方法


木馬のファイル名「evil.php」を一言で「evil.php.xxx」に変更します(変な解析されない接尾辞名でもいいです).まず、サーバーがファイル拡張子を検証するとき、検証したのは「.xxx」で、その拡張子がサーバー側の白黒リスト規則に合致すれば、アップロードできます.また、ブラウザ側でファイルにアクセスすると、Apacheが[.xxx]拡張子を解析できない場合は、解析可能な拡張子、すなわち[.php]を探します.

.7 z接尾辞


回り道してアップロードして、1つの言葉の木馬のファイルをyijuhua.phpファイル名に接尾辞名を付けて.7 zとします.
7 zフォーマットは圧縮ファイルのフォーマットですが、Apacheは7 z接尾辞を認識しません.Apacheがファイルを解析するとき、接尾辞名が認識されないと、前向きに解析し続け、phpに解析します.これがApacheの解析ホールです.

防御アドバイス


1.一般ユーザーとシステム管理者の権限は厳格に区別しなければならない.パラメトリック文3を強制的に使用する.ユーザー入力の検証4を強化する.データベースに付属するセキュリティパラメータ5を多く使用する.プロの脆弱性スキャンツールを使用して、攻撃される可能性のあるポイントを探します.

4.htaccessファイルに解析脆弱性をアップロードする(解析ルールを書き換える)


.htaccessはapacheサーバのプロファイルであり、アップロードされたファイルのブラックリスト内ではないので.htaccessファイルはアップロードに成功しました.アップロードの上書きhtaccessファイルは、解析ルールを書き換え、アップロードされたスクリプト付き馬の画像をスクリプトで解析します.编纂htaccessファイル.メモ帳を開き、次のコードをテキストに書き込みます.
AddType  application/x-httpd-php    .jpg

ファイルをクリックして名前を付けてファイル名を書きます.htaccess、保存タイプをすべてのファイルとして選択します..htaccessファイルのコードの意味は、アップロードされたファイルの接尾辞を.jpg形式のファイルはphp形式でファイルを解析します.将htaccessファイルをアップロードし、アップロードに成功しました.

参考資料:


http://blog.csdn.net/c465869935/article/details/51800354 http://blog.csdn.net/xysoul/article/details/45306209 http://www.cnbeta.com/articles/111752.htm