プログラマーがファイルアップロード機能をうまく作成しなかったという理由だけで、Webサイトが攻撃されて削除されました

コンテンツ

。ファイルのアップロード

。ファイルタイプ検出バイパス

。変更要求バイパス

。魔法検出バイパス

。サフィックスバイパス

。システムネーミングバイパス

 .user.ini

 WAFバイパス

競合アップロードバイパス

攻撃スキル

ApacheはGetShellを書き換えます

ファイルを任意に読み取るためのソフトリンク

 保護スキル


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ファイルのアップロードが禁止されている場合にテストできますphpphp5phtphtmlshtmlpwmlphtm

jspエンジンは/// / /およびその他のサフィックスを解析する場合がありjspxjspfasp/ / / / / jspa///jswおよびjsvその他のサフィックスをサポートしますjtmlasaasaxcercdxaspxascxashxasmxasp{80-90}

これらのバイパスに加えて、vbs/ asis/ sh/ reg/ cgi/ exe/ / dll/ com/ bat///plなど他のサフィックスも問題を引き起こす可能性がありますcfccfmini

4.8.1.4.システムネーミングバイパス

Windowsシステムでは、アップロードの名前index.php.がに変更され.、サフィックスチェックがバイパスされます。またindex.php%20index.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サーバー解析を制限する 

おすすめ

転載: blog.csdn.net/weixin_42350212/article/details/123139010
おすすめ