千锋教育-做有情怀、有良心、有品质的职业教育机构
XSS英文全称为Cross-site scripting,XSS,为了与CSS区分开,因此简称为XSS,翻译过来就是跨站脚本,是一种安全漏洞,攻击者可以利用这种漏洞在网站上注入恶意的客户端代码,请看下文:
首先我们需要了解XSS攻击的分类
1. 存储型XSS(持久型)
注入型脚本永久存储在目标服务器上。当浏览器请求数据时,脚本从服务器上传回并执行,这种攻击常见于带有用户保存数据的网站功能,如论坛发帖、商品评论、用户私信等。
2. 反射型XSS(非持久型)
当用户点击一个恶意链接,或者提交一个表单,或者进入一个恶意网站时,注入脚本进入被攻击者的网站。Web服务器将注入脚本,比如一个错误信息,搜索结果等 返回到用户的浏览器上(反射)。由于浏览器认为这个响应来自"可信任"的服务器,所以会执行这段脚本。
反射型XSS漏洞通过URL传递参数的功能,如网站搜索、跳转等,由于需要用户主动打开恶意的URL才能生效,攻击者往往会结合多种手段诱导用户点击。POST的内容也可以触发反射型XSS,只不过其触发条件比较苛刻(需要构造表单提交页面,并引导用户点击),所以非常少见。
3. 基于DOM的XSS
通过修改原始的客户端代码,受害者浏览器的DOM环境改变,导致有效载荷的执行。也就是说,页面本身并没有变化,但由于DOM环境被恶意修改,有客户端代码被包含进了页面,并且意外执行。
XSS攻击防范措施
由前面的三种攻击方式可知存储型XSS攻击和反射型XSS攻击都是需要经过Web服务器来处理的,因此可以认为这两种类型的漏洞是服务端的安全漏洞。而基于DOM的XSS攻击全部都是在浏览器端完成的,因此基于DOM的XSS攻击是属于前端的安全漏洞。
通过前面的描述可以知道一个XSS的攻击可以抽象为以下三个步骤,根据这三点我们可以定制更加立体的防御方式:
1. 输入:攻击者提交恶意代码
2. 发送:恶意消息的发送到服务器
3. 执行:浏览器执行恶意代码
千锋教育多年技术沉淀,课程内容多次更新迭代,杜绝纸上谈兵,全企业真实案例结合理论授课,想深入学习网络安全知识的同学们,可以关注下千锋教育。
下一篇
CC攻击防御方法有哪些班相关推荐