xss漏洞总结
跨站脚本攻击
跨站脚本(Cross-Site Scripting,XSS)是一种经常出现在Web应用程序中的计算机安全漏洞
原理
未对输入做过滤,执行了恶意js代码,导致数据泄露;是一种客户端漏洞
类型
- 反射型XSS
- 你提交的数据成功的实现了XSS,但是仅仅是对你这次访问产生了影响,是非持久型攻击一次
- 存储型XSS
- 你提交的数据成功的实现了XSS,存入了数据库,别人访问含有这个恶意代码的页面的时候就会自动触发多次
- DOM型XSS
- 主要利用DOM相关的操作,修改了页面,引发的惨案
- 非持久型攻击
核心:偷cookie
攻击方式
- 基于事件的XSS
- onblur
- onfocus
- onerror
- 基于标签的XSS
- script
- img
- svg
- a
- 基于属性的XSS
- href
- src
- 绕过方式
- 大小写
- 双写
- 编码
- 浏览器对 XSS 代码的解析顺序为:HTML解码 —— URL解码 —— JS解码(只支持UNICODE)
- html实体编码
- 十进制
- 十六进制
- url编码
- js编码
- base64编码
- ascii编码
- 空格过滤绕过
- 圆括号过滤绕过
- 反引号
- throw
- 单引号过滤绕过
- 斜杆替换
- 反引号替换
- alert过滤绕过
- prompt替换
- confirm替换
- console.log替换
- document.write替换
- 编码
危害
1.网络钓鱼,包括盗取各类用户账号;
2.窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份进一步对网站执行操作;
3.劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志、发送电子邮件等;
4.强制弹出广告页面、刷流量等;
5.网页挂马;
6.进行恶意操作,例如任意篡改页面信息、删除文章等;
7.进行大量的客户端攻击,如DDoS攻击;
8.结合其他漏洞,如CSRF漏洞,实施进一步作恶;
9.传播跨站脚本蠕虫等。
防御
- httponly:禁止js访问httponly属性的cookie
- 参数过滤
<、>、"、'
- html编码(HtmlEncode)转义用户输入数据
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐