0

誰かがブラウザに次の URL を入力したとします。

http://www.mywebsite.com/<script>alert(1)</script>

ページは通常どおり表示され、アラート ポップアップも表示されます。これは 404 になるはずだと思いますが、どうすればそれを達成するのが最善でしょうか?

私の webapp は Tomcat 7 サーバーで実行されています。最新のブラウザはこれに対して自動的に保護しますが、IE6 を見ている古いブラウザはそうではありません。

4

3 に答える 3

1

実際に 404 ページを取得しているように見えますが、そのページにはリソース (この場合は JavaScript コードの一部) が含まれており、< と > をそれぞれの HTML エンティティに変換することはありません。私はこれがいくつかのウェブサイトで起こるのを見てきました。

解決策は、リソースをページにエコー バックしないカスタム 404 ページを作成するか、事前に適切な HTML エンティティ変換を行うことです。これを行うのに役立つチュートリアルがたくさんあります。

于 2012-10-23T10:28:01.807 に答える
0

これが私がしたことです:

OWASP の HTML サニタイザーを使用して危険な文字をチェックする高レベルのサーブレット フィルターを作成しました。ある場合は、404 ページにリダイレクトします。

于 2012-10-24T10:06:41.550 に答える
-1

XSS 攻撃から保護するために、webapp にフィルターを配置する必要があります。

HttpServletRequest オブジェクトからすべてのパラメーターを取得し、フィルター コードで任意のパラメーターをスペースで始まる値に置き換えます。

これにより、有害な JS スクリプトがサーバー側のコンポーネントに到達しなくなります。

于 2012-10-22T16:04:17.263 に答える