XSS攻击的全称是 Cross Site Scripting(跨站脚本攻击)
cookie、session等敏感数据遭到泄露
影响用户体验
基于反射的攻击,一般是服务器端根据用户的输入或者查询条件返回了带有恶意脚本的结果并在客户端执行。这种漏洞常见于各种搜索引擎之中。
比如当我们在搜索栏中输入对应的恶意脚本代码,服务器端进行处理,当未找到匹配内容时简单返回我们输入的查询字符串。那么,这时候如果网站前端或者服务器端没有对查询字符串做恰当的处理,只是简单返回并插入到页面中,那这段恶意脚本代码很可能被当做正常的script标签解释执行。后果很明显,我们泄露了自己账户的cookie。
基于存储的攻击
基于存储的XSS攻击也是向目标网站注入可执行脚本,但是攻击者的恶意代码会被存储到网站服务器上,因此划分为基于存储的XSS攻击。这种漏洞常见于一般的社交网站的评论系统等。
我们去百度贴吧上回帖,回帖的内容是一段恶意的脚本代码,我们点击发表。我们的评论被存储到后台数据库中,当别人看帖时,我们的评论自然也会从数据库读取出来展示。那么如果存在XSS漏洞,前后端没有对我们提交的评论进行恰当的处理,这段提交的代码也很可能被当做正常的标签语句解释执行,结果自然也是cookie泄露。
基于DOM的攻击
它的特别之处就在于服务端并不会接触到攻击的脚本,攻击由客户端代码执行之后发生。
攻击者向受害者发送了一个攻击连接 http://some.site/page.html?default
当受害者点击这个链接时,便会向服务器端发送请求,服务器端返回资源、数据,浏览器可能会将这段恶意代码解释执行,于是触发了XSS攻击。
如何防御XSS漏洞
过滤输入,转义输出。