初识XSS
2016-09-30 22:19
127 查看
XSS即跨站脚本攻击,名称来历不多说可以百度~
#认识XSS
既然是“攻击”,先让我们来看一下最简单的攻击例子,假设我们的jsp页面中有下面的这行代码,${var}是用户传入的,我们在后台直接将它绑定到页面输出。
<div>${var}</div>
假设用户输入的值是:<script>alert(1)</script>,那么最终jsp返回时页面就变成了下面这样
<div>
<script>alert(1)</script>
</div>
直接就会弹出alert框了,这样就完成了一次XSS。
#基本原理和目的
基本原理:通过让被攻击用户的浏览器执行恶意脚本来达到窃取、破坏等目的。XSS总是在浏览器中发生。
具体实施攻击时一般通过闭合标签或闭合引号来实现攻击的目的。
目的:窃取cookie,键盘监听,构造Get/POST请求,xss钓鱼(发挥想象力,XSS的攻击威力巨大),识别浏览器和安装的软件等等。其实一切攻击的目的简单点来说就两个:偷盗,破坏
#分类和攻击方式
XSS可以分为三种主要类型:Reflected(反射型),Stored(存储型), DOM Based
XSS
(1)Reflected(反射型)
恶意脚本来自普通用户请求。
攻击方式:一般要求攻击者诱使用户点击一个包含XSS代码的URL链接来完成攻击。所以不要随便点陌生人发的链接啦
(2)Stored(存储型)
恶意脚本来自于站点数据库
攻击方式:只需要用户查看一个正常的URL链接即可,比如发了一个带有非法请求的帖子,又或者把脚本注入到了数据库的某个字段中。存储型XSS可能会被发起XSSWorm,存储型的风险高于反射型。
所以不要以为来自自家系统数据库的内容就全是安全的!
(3)DOM Based XSS
Dom Based XSS 实际上前两者的变种,可以认为其是从代码注入地点这个维度对XSS进行分类。(没有必要进行严格意义上的界定,实际上恶意攻击一般都是结合多种方式)
Reflected/Stored本质上是server端注入问题,而DomBased XSS是client端注入问题.它是客户端js操作DOM时发生的。
#认识XSS
既然是“攻击”,先让我们来看一下最简单的攻击例子,假设我们的jsp页面中有下面的这行代码,${var}是用户传入的,我们在后台直接将它绑定到页面输出。
<div>${var}</div>
假设用户输入的值是:<script>alert(1)</script>,那么最终jsp返回时页面就变成了下面这样
<div>
<script>alert(1)</script>
</div>
直接就会弹出alert框了,这样就完成了一次XSS。
#基本原理和目的
基本原理:通过让被攻击用户的浏览器执行恶意脚本来达到窃取、破坏等目的。XSS总是在浏览器中发生。
具体实施攻击时一般通过闭合标签或闭合引号来实现攻击的目的。
目的:窃取cookie,键盘监听,构造Get/POST请求,xss钓鱼(发挥想象力,XSS的攻击威力巨大),识别浏览器和安装的软件等等。其实一切攻击的目的简单点来说就两个:偷盗,破坏
#分类和攻击方式
XSS可以分为三种主要类型:Reflected(反射型),Stored(存储型), DOM Based
XSS
(1)Reflected(反射型)
恶意脚本来自普通用户请求。
攻击方式:一般要求攻击者诱使用户点击一个包含XSS代码的URL链接来完成攻击。所以不要随便点陌生人发的链接啦
(2)Stored(存储型)
恶意脚本来自于站点数据库
攻击方式:只需要用户查看一个正常的URL链接即可,比如发了一个带有非法请求的帖子,又或者把脚本注入到了数据库的某个字段中。存储型XSS可能会被发起XSSWorm,存储型的风险高于反射型。
所以不要以为来自自家系统数据库的内容就全是安全的!
(3)DOM Based XSS
Dom Based XSS 实际上前两者的变种,可以认为其是从代码注入地点这个维度对XSS进行分类。(没有必要进行严格意义上的界定,实际上恶意攻击一般都是结合多种方式)
Reflected/Stored本质上是server端注入问题,而DomBased XSS是client端注入问题.它是客户端js操作DOM时发生的。
相关文章推荐
- 初识 XSS 2
- XSS 自动化检测 Fiddler Watcher & x5s & ccXSScan 初识
- 初识 XSS 3
- xss初识
- XSS自动化检测 Fiddler Watcher & x5s & ccXSScan 初识
- 【XSS爬坑之路一】初识XSS
- 初识 XSS 1
- C++调用Python脚本初识
- 初识asp.net--Hello World
- 补:机器学习实战_初识决策树(ID3)算法的绘制树形图的代码
- MVC Anti-XSS方案
- 领域驱动/DDD模型初识
- GLES2.0初识——API
- Android学习系列(一)初识安卓
- 初识牛腩
- java初识之旅
- 指针的初识
- 初识MVP以及简单应用
- 初识jenkins之-jenkins的使用
- 初识Redis及Redis在Windows下的安装和使用