ファイルアップロード機能は、Web サイトでは自分のアバターをアップロードしたり、SNS では写真をアップロードしたりすることができるため、ほとんどの WEB アプリケーションに必要な機能です。 、および一部のサービス このような Web サイトでは、ユーザーがサポート資料の電子ファイルをアップロードする必要があり、電子商取引 Web サイトでは、ユーザーが製品の状態などを示す写真をアップロードできます。適切なセキュリティ対策を講じないと、一見重要ではないように見えるファイル アップロード機能でも、非常に高いセキュリティ リスクに直面する可能性があります。
ユーザーがファイルアップロード機能モジュールでファイルをアップロードする際、WEBアプリケーションが存在する場合、アップロード プロセス中にファイル セキュリティを効果的に検証することはできません。攻撃者は、WEBshell などの悪意のあるファイルをアップロードすることでサーバーを攻撃する可能性があります。この場合、システムにはファイル アップロードの脆弱性があると考えられます。
ファイル アップロードの脆弱性の最も一般的な方法は、Web サイトのトロイの木馬 (Web シェル) ファイルをアップロードすることです。WEBSHELL は Web ページとも呼ばれますトロイの木馬ファイル. さまざまな開発言語によると、ASP トロイの木馬、PHP トロイの木馬、JSP トロイの木馬などに分けられます。このタイプのトロイの木馬は、システム コマンドの実行、スクリプト言語でのファイルの読み取りおよび書き込み機能を利用します。サーバーにアクセスし、スクリプト エンジンによって解析されると、攻撃者はサーバーを制御することができます。
ウェブサイトのトロイの木馬 (ウェブシェル) ファイルは、大きな馬と小さな馬 (一文のトロイの木馬)、絵馬などに分かれています。
Da Ma: 機能は比較的良く、次のようなもので使用できます。ブラウザ; コードの量は通常より大きい; 隠蔽性は比較的弱く、コードの量は多く、通常は機能を暗号化やその他の方法で隠す必要があります。
Xiao Ma: この機能はシンプルで、クライアントで使用する必要があります。コードの量は通常少なく、隠蔽力は比較的強力で、変形やバイパス フィルタリングを通じて特徴を隠すのは簡単です。通常、cknife ツールと一緒に使用されます。
Picture Horse: Web サイトが画像関連形式へのアップロードを制限している場合、攻撃者は制限を回避できず、Picture Horse を使用して Web シェル操作を実装しようとする可能性があります。
一言で言えば、このトロイの木馬は に似ています。 . トロイの木馬ファイルは、ファイル アップロード モジュールを通じてサーバーにアップロードされます。 $_POST['v'] のパラメータ v が使用できるパラメータで、実行したい命令をパラメータ v を通じてサーバに渡して実行するか、cknife ツールを使用して対象サーバを操作します。
(1) この Web ページのアップロード形式は制限されており、jpg、jpeg、JPG、JPEG の形式に準拠する必要があるため、元の形式は 1.jpg 形式 (サーバー側キャリブレーション 検証)
burp suite ソフトウェアを開いてデータ パケットをインターセプトし、php スクリプトを実行できるようにファイル名を 1.php に変更します。それ以外の場合、jpg 接尾辞を持つファイルはアップロードできますが、機能しませんでした。
hackbar プラグインで v=phpinfo() を定義すると、現在のステータスに関する大量の情報を表示できます。 php
(2) このページではアップロード形式 (MIME) が制限されているため、ファイル形式を JPEG または PNG (サーバー側検証) に変更する必要があります
burp スイートを使用して情報を傍受し、コンテンツ タイプを image/png に変更します
ハックバー ツールを使用しますパラメータ v=phoinfo() を定義するには; PHP ステータス情報を表示します
(3) このページはファイル接尾辞をフィルタリングし、PHP タイプのファイルは受け入れません (server-サイド検証)
burp suite ソフトウェアを開いて情報を傍受し、ファイル名を 1.PHp に変更し、Web サーバーの識別をバイパスします
ハックバーを使用して v=system (ipconfig);
(4) 切り捨てを使用して、jpg を切り詰めます。この文は少し紛らわしいです。正しい書き方は次のようになります。
1.「」を使用します。
2.「」を使用する場合 1.php
以上がWeb ファイルアップロードの脆弱性の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。