1、何为XSS?
XSS(Cross Site Scripting)名为跨站脚本攻击,本应该称之为 CSS,但是由于 CSS 与网页前端的层叠式样表名称冲突,因此称之为 XSS。
XSS是指开发者在开发网页时,对用户的输入没有进行安全过滤,导致用户在可以输入内容的地方,插入脚本语句,执行恶意脚本代码,可以对数据库、服务器、用户等造成影响和危害,危险等级很高,也很常见。
XSS通常存在于论坛的评论处、发表文章处、网站留言处、网站检索处等。
以留言板为例,一般用户只是输入合法的留言文本,但是总有一些用户,当其输入这样的脚本语句:
<script>alert("Are You OK?")</script>
那么如果没有安全过滤,此时服务器就会解析该脚本语句并执行相应的操作。
这就是XSS。
2、Payload
常见的一些Payload如下:
1)利用autofocus的自动输入元素的特性进行测试,无需用户交互
<input onfocus = write(1) autofocus>
2)在img标签中没有写地址src,触发一个报错事件
<image src onerror = alert(1)>
3)利用svg标签在页面加载完后嵌入时间onload,短小精悍
<svg onload = alert(1)>
通常也可以写成:
<body/svg onload = alert(1)>
<