- 其他相关链接:XSS-总结
一、反射型 XSS
1.1 反射型 XSS 介绍
- 反射型(非持久型)
XSS
:诱导用户 点击恶意链接 来造成一次性攻击。详情请看下图:
- 当我们将恶意链接发送给客户端,并诱导用户点击这个恶意链接,从而使用户访问这个带有恶意脚本代码参数的
URL
。- 当服务端获取到请求的时候,它会获取请求参数并且 直接使用,直接使用 意味着服务端不做任何的检查以及防范,就信任了这个请求参数
- 服务器使用这个请求参数并且生成相应的结果页返回给用户,这里称:服务器“反射”回结果页。
- 为什么称为“反射”?那是因为,事实上,恶意脚本代码参数是由客户端发送给服务端,服务端直接就使用这个参数,并且返回给客户端,所以有“反射”这个概念。
- 当客户端获取到带有恶意脚本代码的结果页的时候,打开并浏览,就会导致
XSS
攻击,简单来说,就是用户中招了!!!
1.2 反射性 XSS 的特点
- 一次性(非持久型):
- 即:用户点击 一次 链接就会生成 一次 攻击,并且脚本数据是通过
URL
传送给服务端的,并不会存储在服务端- 通过用户点击链接引起的。
- 即:如果用户不点击这个带有恶意脚本代码的链接,就不会引起
XSS
攻击。因此,为了更好诱导用户点击这些链接,我们通常会对这些链接进行修饰、隐藏,从而使用户不能短时间内辨认这些链接是好还是坏的
二、反射型demo
点击下载demo,详细的操作可以阅读
readme.md
文件。
- 操作过程如下:(一开始展示的是chrome浏览器,之后是ie浏览器)
三、总结
- 很多浏览器如
Chrome
都内置了相应的XSS
过滤器,来防范用户点击了反射型XSS
的恶意链接。(从示例可以看出,浏览器会将一些特殊字符如<
、>
之类的转码)- 反射型
XSS
归根到底:就是 由于不可信的用户输入被服务器在没有安全防范处理,然后就直接使用到响应页面中,然后反射给用户而导致代码在浏览器执行的一种XSS
漏洞。