コンテンツ
4.8。ファイルのアップロード
4.8.1。ファイルタイプ検出バイパス
4.8.1.1。変更要求バイパス
一部のサイトはフロントエンドでファイルタイプのみを検出します。このタイプの検出は、ネットワーク要求を直接変更することでバイパスできます。同様に、一部のサイトでは、バックエンドのHTTPヘッダーの情報(Content-Type
などこのチェックは、ネットワーク要求を変更することでバイパスすることもできます。
4.8.1.2。マジック検出バイパス
一部のサイトでは、ファイルヘッダーを使用してファイルの種類を検出します。これは、シェルの前に対応するバイトを追加することでバイパスできます。次の表に、いくつかの一般的なファイルタイプのヘッダーバイトを示します。
の種類 | バイナリ値 |
---|---|
JPG | FF D8 FF E0 00 10 4A 46 49 46 |
GIF | 47 49 46 38 39 61 |
PNG | 89 50 4E 47 |
TIF | 49 49 2A 00 |
BMP | 42 4D |
4.8.1.3.サフィックスバイパス
一部のサービスは、サフィックス、アップロード情報、またはマジックヘッダーに基づいてファイルタイプを決定するだけであり、現時点ではバイパスできます。
歴史的な理由により、一部のインタプリタは// / / / /などの/ph(p[2-7]?|t(ml)?)/
通常のサフィックスをサポートする場合があります。このタイプは、phpファイルのアップロードが禁止されている場合にテストできます。php
php5
pht
phtml
shtml
pwml
phtm
jspエンジンは/// / /およびその他のサフィックスを解析する場合がありjspx
、jspf
aspは/ / / / / jspa
///jsw
およびjsv
その他のサフィックスをサポートします。jtml
asa
asax
cer
cdx
aspx
ascx
ashx
asmx
asp{80-90}
これらのバイパスに加えて、vbs
/ asis
/ sh
/ reg
/ cgi
/ exe
/ / dll
/ com
/ bat
///pl
などの他のサフィックスも問題を引き起こす可能性があります。cfc
cfm
ini
4.8.1.4.システムネーミングバイパス
Windowsシステムでは、アップロードの名前index.php.
がに変更され.
、サフィックスチェックがバイパスされます。またindex.php%20
、index.php:1.jpg
index.php::$DATA
などを試してみてください。Linuxシステムでは、またはという名前のファイルをindex.php/.
アップロードし./aa/../index.php/.
4.8.1.5。.user.ini
phpの実行中、メインディレクトリにphp.ini
加え、PHPは各ディレクトリのINIファイルもスキャンします。実行するPHPファイルが配置されているディレクトリから始まり、Webルートディレクトリ($ _SERVER ['DOCUMENT_ROOTで指定)まで上昇します。 '] )。実行中のPHPファイルがWebルートディレクトリの外にある場合は、そのディレクトリのみがスキャンされます。.user.ini
でPHP_INI_SYSTEM以外のモードのオプションを定義できるため、php以外のサフィックスが.user.ini
付い、シェルを構築できますauto_prepend_file=01.gif
。
4.8.1.6.WAFバイパス
一部のWAFは、書き込み処理時のパフォーマンス上の理由からデータの一部しか処理しませんが、現時点では大量のガベージデータを追加することで処理機能をバイパスすることができます。
さらに、Wafboundary
とWebシステムの処理に一貫性がないため、間違った方法boundary
でバイパスを完了することができます。
4.8.1.7.競合アップロードバイパス
一部のサーバーでは、不正なファイルを最初に保存してから削除する方法を使用しています。この種のサーバーでは、Webシェルを生成するファイルを繰り返しアップロードしてアクセスを試みることができ、何度もシェルを取得できます。
4.8.2。攻撃テクニック
4.8.2.1. Apache Override GetShell
Apacheは、リダイレクトが許可されているかどうかに基づいて.htaccessのアップロードを検討する場合があります
内容は
AddType application / x-httpd-php .png php_flag engine 1
pngまたはその他の接尾辞ファイルを使用してphpスクリプトを作成できます
4.8.2.2。ファイルを任意に読み取るためのソフトリンク
アップロードした圧縮パッケージファイルを解凍する場合は、シンボリックリンクを含むファイルのアップロードを検討してください。サーバーが十分に保護されていない場合は、任意のファイルを読み取る効果が得られます。
4.8.3。保護技術
- ホワイトリストを使用して、アップロードされるファイルの種類を制限します
- より厳密なファイルタイプチェックを使用する
- アップロードフォルダのWebサーバー解析を制限する