私は、未検証のURLに起因する反射XSS脆弱性を持つアプリケーションを持っています。私は、クライアント側で少なくとも1つの出力エンコーディングを提供したいと考えています。私はhtmlとjsにあるフロントエンドページだけを変更するアクセス権を持っています。バックエンドのアプリケーションコードにアクセスできないため、サーバー側でUrlEncoder.encodeを使用することはできません。 私の質問は、クライアント側のフォームからサーバー側のエンコーディングを呼び出す方法です。私は、JSPに知っ 私は < @pageインポート= org.owaps.esapiを書くことができます。* するvar URL = <% = Esapi.Encoderr.encodetoUrl(vulnerableUrl)=%>XSSを防ぐためのhtmlページ(jspではない)からのサーバー側出力エンコーディング
しかし、私のWebページは、JSPれていないので、 、html + js、どうすればサーバー側のエンコーディング関数を呼び出すことができますか?
詳細を入力する必要があります。脆弱性はどのように表示されますか?ユーザーはどのようにページに入れられますか? – Erlend
HI Erlend。この脆弱性は、私が接続するバックエンドアプリケーションがリダイレクトURLを検証せず、フロントエンドのページに送り返してdocument.forms [0] .redirect.value = malcious urlのようにリダイレクトURLとして設定するために起こります。攻撃者がURLを改ざんして修正し、。開発者がログオンページ(html + jsにある)だけを編集できるが、サーバー側でコードを書くことができない場合は、html + jsにいくつかのコードを置いて出力コードを行う方法があります。バイパスすることはできません。 – user1203479
@Erlend。この脆弱性は、私が接続するバックエンドアプリケーションがリダイレクトURLを検証せず、フロントエンドのページに送り返してdocument.forms [0] .redirect.value = malcious urlのようにリダイレクトURLとして設定するために起こります。攻撃者はアラート( '')を追加できます。 – user1203479