0

私はレガシー コードのセキュリティ問題を修正するように割り当てられており、セキュリティ スキャンの結果を受け取りました。

Poor Error Handling: Server Error Message ( 10932 ) 

基本的に、スキャンが奇妙なコードでアクセスしようとすると:

www.mywebsite.com/myapp/jspPage.jsp?myVar=Approved%26rhppvar%3DRHPP1234

サーバーは 500 エラー コードを返しますが、エンド ユーザーに「エラーが発生しました」と表示するページがあります。

myVar実際には「承認」または「拒否」のみにする必要があります

**jspPage.jsp**

String myVar= request.getParameter("myVar");
if(myVar== null)
    myVar= "";

 <form method="post" name="ics" action="jspPage.jsp?myVar=Approved"> 

myVarパラメータに渡されるものをチェックする限り、他に何かすべきかどうか疑問に思っていましたか? スキャンが何をしたいのかわからない...

また、上記のフォームは、承認された値以外で提出できますか?

攻撃者に多くの情報を与えない限り、これは問題ありませんか?

4

1 に答える 1

2

@dandavisのコメントのとおり、クエリ文字列パラメーターの値がページmyVarに出力されない場合、XSS は発生しません。

詳細については、クロスサイト スクリプティング (XSS) に関する OWASP ページを参照してください。ただし、信頼できないソースからの出力を正しくエンコードしていないページは、基本的に XSS に対して脆弱です。

たとえば、ページがとの値を出力し、これによりポップアップ ダイアログ ボックスが表示された場合、そのページは脆弱です。myVarmyVar<script>alert(1)</script>

于 2015-03-10T09:42:44.823 に答える