XSS简介

一、概述

XSS(Cross Site Script),即跨站脚本攻击,是指攻击者通过在Web页面中写入恶意脚本,造成用户在浏览页面时,控制用户浏览器进行操作的攻击方式。

跨站脚本攻击(XSS),是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。

二、分类

1.反射型XSS

攻击方式:攻击者构造好get请求参数,将带有恶意参数的链接发给受害者,诱使受害人点击后,服务器接收到受害人的请求并处理,然后把恶意XSS代码发送到受害人的浏览器,浏览器解析这段代码后就会触发XSS攻击,完成攻击者想要的功能(获取cookie、url、浏览器信息、IP等)。

2.存储型XSS

存储型XSS又称为永久性XSS攻击,常见于留言板、博客、论坛。攻击恶意脚本会被存放进数据库,以至于每次访问浏览器,数据库都会将恶意代码查询发给浏览器,继而触发存储型XSS漏洞。

3.DOM型XSS

DOM型XSS不与后台服务器进行交互,是一种通过dom操作前端代码输出的时候产生的问题,实际上也属于一次性反射型XSS。挖掘dom型XSS就不能看源代码了,而需要看网页元素信息中的JS代码,理清代码逻辑。

三、防御手段

XSS漏洞本质是网站在设计初期,对输入的文本没有进行过滤,导致输入的js、jsp、html等被编译,所以防御的手段也很直观,即:“输入要做过滤,输出要做转义”。

1.过滤:

根据业务需求过滤,比如手机号只允许输入手机号格式的数字。

在留言板或论坛等,则可以过滤掉特殊字符或命令字符。

限制HTTPonly,使得无法通过js获取cookie。

2.转义:

所有输出到前端的数据都要做转义,比如输出到html里做html转义,输出到js里面做js转义。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XSS (Cross-Site Scripting) 是一种常见的安全漏洞,攻击通过注入恶意脚本来攻击网站用户。为了防止XSS攻击,可以使用XSS过滤器来对用户输入的数据进行处理和过滤。 XSS过滤器的主要目标是检测和阻止恶意脚本的注入。它可以通过以下几种方式来实现: 1. 输入验证: 对用户输入的数据进行验证,确保只接受符合预期格式和类型的数据。例如,如果一个输入字段只允许数字,那么任何非数字的输入都应该被拒绝。 2. 输出转义: 对从数据库或其他来源检索到的数据进行适当的转义处理,确保在将其插入到HTML页面时不会被解释为可执行的脚本代码。常见的转义包括将特殊字符如<、>、&等替换为对应的HTML实体编码。 3. 内容安全策略(CSP): 使用CSP可以限制页面中可以加载和执行的资源,从而减少XSS攻击的可能性。CSP可以配置允许加载的外部脚本、样式表和图片等资源,同时禁止内联脚本和eval()等危险函数的使用。 4. HttpOnly Cookie: 将敏感信息存储在HttpOnly Cookie中,这样可以防止客户端的脚本访问和修改Cookie内容,减少XSS攻击的影响范围。 5. 使用安全的编程语言和框架: 选择使用经过安全性测试的编程语言和框架,它们通常提供了内置的安全机制和过滤器,帮助减少XSS攻击的风险。 综合上述措施可以加强网站的安全性,但是XSS攻击的方法和技术不断演变,所以保持对最新安全威胁的了解和及时更新防护措施也是非常重要的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值