[Web 安全]XSS 跨站脚本

漏洞原理

攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如Cookie、Session-ID等,进而造成安全隐患

XSS分类

反射型XSS

最常见的攻击类型,属于非持久性攻击.当攻击者在单个HTTP链接中注入可执行的JS代码,并被受害者点击时,这段代码将被执行,由此发生反射型XSS攻击

存储型XSS

危害最大的攻击类型,属于持久型攻击。当攻击者利用漏洞在服务端的应用中插入可执行的JS代码,并且相关代码被受害者访问时,就可能发生存储型XSS攻击

DOM型XSS

DOM是JS中的文档对象模型,用来在浏览器中表示文档的结构格式。当攻击者可以控制DOM时,就可能会发生DOM型XSS攻击

漏洞危害

网页挂马、会话劫持、用户劫持、信息窃取、网站钓鱼、DDoS、蠕虫等

检测方法

在输入中插入恶意代码,并查看用户的输入是否被浏览器所解析

防御方案

  1. 过滤

后端对用户的输入进行合法性校验

script、img、a 标签等

  1. 转义

escapeHTML、unescapeHTML 等函数

  1. 为Cookie添加HTTP-Only标记

添加后的Cookie不允许脚本读取或修改,HTTP-Only不能防XSS,只能防盗Cookie

绕过手段

  1. javascript:;绕过转义

代码不会立即执行,但一旦用户点击a标签时,浏览器就会弹出XSS

 <a href="javascript:alert('xss');">123</a>
  1. 大小写混写、双写

jAvascRipt:alert('xss')
  1. 空格、回车、制表符

  1. 替换弹窗函数

  1. 编码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值