XSS漏洞整理笔记 – 作者:我爱喝牛奶i

XSS漏洞

跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets,缩写:CSS)混淆,所以架构跨站脚本攻击缩写为XSS。XSS就是攻击者在web页面插入恶意的Script代码,当用户浏览该页面时,嵌入其中的js代码会被执行,从而达到恶意攻击的目的。

XSS的类型

XSS类型一般分为三种:

1.反射型XSS

反射型XSS只是简单的把用户输入的数据“反射”给浏览器,也就是需要诱使用户“点击”一个恶意链接,才能攻击成功。反射型XSS也叫作“非持久性XSS”

2.存储型XSS

存储型XSS会把用户输入的数据“存储”在服务器端。这种XSS具有很强的稳定性,当再次访问页面时会被执行

3.DOM Based XSS

实际上,这种类型的XSS并非按照“数据是否保存在服务器端”来划分的,从效果上来说也是反射型XSS单独划分出来的,因为DOM Based XSS的形成原因比较特别。这是由于客户端脚本自身解析不正确导致的安全问题。

这种利用也需要受害者点击链接来触发,DOM型XSS是前端代码中存在了漏洞,而反射型是后端代码中存在了漏洞。

反射型和存储型xss是服务器端代码漏洞造成的,payload在响应页面中,在dom xss中,payload不在服务器发出的HTTP响应页面中,当客户端脚本运行时(渲染页面时),payload才会加载到脚本中执行。

XSS防御

为防御XSS,我们首先要知道XSS攻击的本质时不安全的

HTML注入,可通过在HTML、CSS、JS、或HTTP协议层次上进行防范

输入检查

1.用户名、邮箱等表单验证(前台/服务器二次验证)

2.富文本使用白名单机制等

输出检查

HTML-Encoder

js-Encoder

HTTP头部:HttpOnly

设置cookie时加入HttpOnly,可使js脚本无法获取cookie

HTTP头部:CSP

定义允许的资源加载地址,比如图片/视频/JS脚本等

HTTPS加密访问

有效防止DOM XSS攻击

漏洞危害

XSS漏洞时发生在客户端,目的时让浏览器执行一段用户提交的恶意js代码,从而达到某种目的。

cookie劫持(窃取cookie)

后台增删改文章等操作(类似于csrf骗取用户点击,利用js模拟浏览器发包)

钓鱼,利用XSS构造出一个登录框,骗取用户账户密码。

XSS蠕虫(利用XSS漏洞进行传播)

修改网页代码

利用网站重定向

来源:freebuf.com 2021-03-06 21:00:18 by: 我爱喝牛奶i

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论