2011-05-10 15 views
2

IE 8にはXSSフィルタがあるので、このブラウザを使用してXSSエクスプロイトを悪用する方法はありませんか?たとえば、クッキーの盗難者は私のサイトの脅威ではありません。 IE8でIEのXSS - バイパスする方法は?

(あなたは、これは正しくないと思うあなたは、フィルタで可能な欠陥を持っている場合は、私が知りたいのですが)

答えて

4

XSSフィルタは確かに殴らすることができます。ページ内のXSS-Vulnによって可能かどうかが決まります。 たとえば、奇妙なエンコードやダブルXSS攻撃を使用できます。 編集: これはIE8-フィルターを通過するXSSアタックのイン・ワイルド例です。 XSS on esrb.org

3

基本的なXSSフィルタは、要求が生成された場所を最初に確認することによって発信要求を処理します。反射XSSの場合、悪意のあるスクリプトを置くために攻撃者システムから要求が生成される可能性があります。だから拡張子 は、リソースの浪費であるため、同じドメインからの要求を見ても意味がありません。

しかし、IEは間違った前提をしていますが、XSSはどこからでも来ることがあります。 この誤った仮定のためにXSSの脆弱性が悪用される可能性があります。 IEは メタリフレッシュのHTMLタグだけでなく、HTTPヘッダーのリダイレクトも「場所:」とみなしています。しかし、攻撃に使用できる他のリダイレクト方法があります。

今、私たちは xss.phpファイルで見つかった、当社のターゲットアプリケーションでまっすぐXSSの脆弱性があると仮定してみましょう:

<?php 
//xss.php 
print $_GET['var']; 
?> 

はredir.phpファイルで見つかったOWASP A10違反を想定。

<?php 
//redir.php 
print “<script>”; 
print “document.location='”.htmlspecialchars($_GET['redir'],ENT_QUOTES).”'”; 
print “</script>”; 
?> 

コンセプトの証明は、このようなアプリケーションのために悪用し、次のとおりです。

リンクの上
http://abc.com/redir.php?redir=http%3A%2F%2Fabc.com%2Fxss.php%3Fvar%3D%253Cscript 
%253Ealert%2528%2Fxss%2F%2529%253C%2Fscript%253E 

は、サービスを縮小URLを含む、どこからでも発信できます。 XSSペイロードは "var" GET変数です。 PoCのこの部分には、2つのURLがエンコードされています。斜線の括弧「>」は「%253E」になります。これは、サーバー上のhtmlspecialchars()とIEのフィルターの両方を欺くことになります。このコード化されたペイロードはhtmlspecialchars()への呼び出しの影響を受けず、同じ方法でその不在と共に動作します。

関連する問題