web-dev-qa-db-ja.com

CSSスタイルシートでのクロスサイトスクリプティング

CSSスタイルシートでクロスサイトスクリプティングを使用することは可能ですか?たとえば、参照スタイルシートには悪意のあるコードが含まれていますが、これをどのように行いますか?スタイルタグを使用できることは知っていますが、スタイルシートはどうですか?

42
Johnny

ブラウザセキュリティハンドブック から

JavaScript実行のリスク。あまり知られていない機能として、一部のCSS実装ではJavaScriptコードをスタイルシートに埋め込むことができます。この目標を達成するには、少なくとも3つの方法があります。expression(...)ディレクティブを使用することにより、任意のJavaScriptステートメントを評価し、その値をCSSパラメーターとして使用できます。それをサポートするプロパティでurl( 'javascript:...')ディレクティブを使用する。または Firefoxの-moz-bindingメカニズム などのブラウザー固有の機能を呼び出します。

...そしてそれを読んだ後、StackOverflowでこれを見つけました。 CSSでJavascriptを使用 を参照してください。Firefoxでは、 [〜#〜] xbl [〜#〜] を使用してCSSを介してページにJavaScriptを挿入できます。ただし、XBLファイルは同じドメインに存在する必要があります。今では バグ324253が修正されています です。

CSSを悪用する別の興味深い方法(質問とは異なります)があります。 http://scarybeastsecurity.blogspot.com/2009/12/generic-cross-browser-cross-domain.html を参照してください。基本的に、CSSパーサーを誤用して、異なるドメインからコンテンツを盗みます。

36

OWASP Mutillidaeプロジェクトには、ページ上のカスケードスタイルインジェクションの脆弱性の例があります。 http://localhost/mutillidae/index.php?page = set-background-color.php

もちろん、最初にenvをローカルにセットアップする必要があります。次のリンクからローカルホストにダウンロードして設定できます。 https://www.owasp.org/index.php/OWASP_Mutillidae_2_Project

関連するヒントを次に示します。 https://github.com/hyprwired/mutillidae/blob/master/includes/hints-level-1/cascading-style-sheet-injection-hint.inc

4
ZillGate

はい、その呼び出しXsstc、この記事の詳細を読む:

http://www.tralfamadore.com/2008/08/xsstc-cross-site-scripting-through-css.html

2
Haim Evgi