セキュリティテスト-悪意のあるファイルの実行
多くの場合、開発者は潜在的に脆弱な入力をファイルと直接使用または連結したり、入力ファイルが本物であると想定したりします。データが適切にチェックされていない場合、脆弱なコンテンツがWebサーバーによって処理または呼び出される可能性があります。
例
古典的な例のいくつかは次のとおりです。
- .jspファイルをWebツリーにアップロードします。
- サイズを変更する.gifをアップロードします。
- 巨大なファイルをアップロードします。
- タグを含むファイルをアップロードします。
- .exeファイルをWebツリーにアップロードします。
ハンズオン
Step 1− WebGoatを起動し、悪意のあるファイルの実行セクションに移動します。シナリオのスナップショットを以下に示します-
Step 2 −このレッスンを完了するには、上記の場所にguest.txtをアップロードする必要があります。
Step 3−jspの実行時にguest.txtファイルが作成されるようにjspファイルを作成しましょう。jspファイルのコンテンツを実行しているため、jspの命名はこのコンテキストで果たす役割はありません。
<HTML>
<% java.io.File file = new
java.io.File("C:\\Users\\username$\\.extract\\webapps\\WebGoat\\mfe_target\\guest.txt");
file.createNewFile(); %>
</HTML>
Step 4− jspファイルをアップロードし、アップロード後に同じファイルのリンク位置をコピーします。アップロードには画像が必要ですが、jspをアップロードしています。
Step 5 − jspファイルに移動すると、ユーザーへのメッセージは表示されません。
Step 6 − jspファイルをアップロードしたセッションを更新すると、「*おめでとうございます。レッスンは正常に完了しました」というメッセージが表示されます。
予防メカニズム
- Webサイトのアクセス許可を使用してWebサイトを保護します。
- Webアプリケーションのセキュリティ対策を採用します。
- IIS7.0の組み込みのユーザーアカウントとグループアカウントを理解します。