ファイルアップロードの脆弱性とバイパス技術を使用したphpセキュリティ攻撃の詳細
プリアンブル
ファイルアップロードの脆弱性は、ユーザーのアバターアップロードやドキュメントアップロードなど、ファイルアップロードが可能な場所で主に発見されます。この脆弱性は、非常に被害が大きいものです。ファイルアップロードを通じて、攻撃者はウェブシェルをアップロードし、getshell操作を行うことで、任意のコマンドを実行できるシステムシェルを取得することができます。また、その後の大規模なトロイの木馬のアップロードや権限昇格のための良い基盤になります。
ファイルアップロードの脆弱性のいくつかのシナリオ
次に、ファイルアップロードの脆弱性に対するwafのフィルタリングシナリオをいくつか説明し、回避・攻略する方法を紹介します。
シナリオ1:フロントエンドのjsコードのホワイトリスト判定 .jpg|.png|.gif suffix
このシナリオでは、防御態勢として、アップロードされたファイルのサフィックスをjsコードで判断し、もしそれが
.jpg|.png|.gif
これら3つのサフィックスを持つファイルは、バックエンドへのアップロードが許可されません。
バイパスされる
一文型トロイの木馬が仕込まれたファイルの拡張子を
xxx.jpg|png|gif
というように、スクリプトのサフィックスを変更します。アップロードに成功したら、getshellにファイルのパスを訪ねます。
シナリオ 2: バックエンドの PHP コードが Content-type フィールドをチェックする
このシナリオでは、アップロードファイルのリクエストのためのjsコードを通して防御態勢をとります。
php|jsp
{{コード
{{コード {{コード
{{コード
{{コード
{{コード
{{コード {{コード {{コード {{コード {{コード {{コード {{コード
{{コード
{{コード {{コード {{コード
{{コード {{コード {{コード
{{コード
{{コード
{{コード {{コード
{{コード
{{コード {{コード
{{コード
{{コード
{{コード {{コード
{{コード {{コード {{コード {{コード {{コード {{コード {{コード
{{コード {{コード
{{コード
{{コード
{{コード {{コード
{{コード
{{コード
{{コード {{コード
{{コード
{{コード {{コード
{{コード
{{コード
{{コード
{{コード
{{コード
{{コード
{{コード {{コード {{コード
{{コード
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン