关于针对XSS漏洞攻击防范的一些思考

2022-10-21 11:14 景运管家助手

众所周知,XSS几乎在最常见、危害最大的WEB漏洞。针对这个危害,我们应该怎么防范呢。

下面简单说一下思路。

作者:轻轻的烟雾(z281099678

一、XSS漏洞是什么

XSS漏洞网上的资料太多,这里只简单说一下。

大概分为3种类型:反射型、存储型、DOM型。

但我认为,其实DOM型是被包含在反射型和存储型里的,只不过它具有一定的特殊性,所以经常把它独立出来说明。

1.反射型

就是攻击者对存在XSS漏洞的系统,通过构建一个具有攻击功能的URL链接,然后想方设法让被攻击者访问这个链接。一旦被攻击者访问了攻击链接,则暴露了自己的信息。

2.存储型

就是攻击者提交具有攻击功能的内容给有XSS漏洞的系统,系统把内容保存之后,就像一个地雷一样埋伏在系统里。被攻击者一旦访问这个地雷所在的页面,就不知不觉的泄漏了这个信息。

注意:这个地雷是永久有效的,可无限制的爆炸,而且爆炸并不会引起被攻击者的注意。

3.DOM型

就是利用反射型或者存储型漏洞,让被攻击者访问的页面的DOM发生改变,进而引起XSS攻击。

二、XSS攻击的防范

XSS臭名昭著,因为这类攻击简单,而危险极大。可能泄漏任何后台管理员的cookie,导致攻击者直接绕开登录检测的“大门”,直接进入后台系统,进而进行下一步可能危害性更大的攻击。

防范手段大概如下:

1.对用户提交数据进行过滤、转移

开发者或者安全工程师要有一个理念:所有用户都不可信。对于用户提交的信息,做完善的过滤、转移。

针对前端用户提交的数据,进行HTML字符转移、标签过滤等操作,对于需要提交富文本的后台用户,做好严格的允许和禁止的标签及属性的检查。

严格做好数据的检测和过滤,理论上可以控制绝大部分XSS攻击。当然事实上要做到完美的控制很难。

2.设置Content-Security-Policy

设置内容安全策略,限制浏览器对资源引用。这样可以一定程度上避免攻击者引入攻击资源。


3.对Cookie增加HttpOnly、Secure属性

对敏感Cookie进行保护,我认为是一种“事后保护”策略。即便是攻击者已经成功埋下了XSS地雷,但是由于我们做好Cookie保护,所以XSS攻击也拿不到想要的Cookie,从而导致攻击失效。

这里另外说一点,对于这一点,其实攻击者可能还有一些别开生面的思路,虽然无法直接拿到Cookie,但是他可以利用XSS发起一些迷惑人的攻击,比如给页面引到另外一个钓鱼页面,或者直接弹出帐号密码输入框,一旦被攻击者缺乏安全意识甚至是一个不小心,便主动把用户名和密码提交给了攻击者。

三、更多

对于XSS的防不胜防,我想到另外一个“补救措施”,那就是对系统进行监控。

我们把系统所有要正常引入的资源的域名都做成白名单,然后对系统的资源引用做监控,一旦系统的页面引入了白名单之外的资源,即记录引用资源等信息,并向安全员或者系统管理员发送告警。

利用浏览器PerformanceObserver对象,对所有的网络资源加载进行监控:

 
然后通过自定义函数check_url,对资源进行分析,如果不是白名单的网络资源,则触发记录和告警。如此便可让系统管理员对系统的XSS攻击有快速的知晓和反应。


最后说个题外话,一些浏览器(号称以安全著称,具体名称这里就不提了)很神奇,你使用它访问网站,它会默认的增加一些乱七八糟的链接的访问,甚至把你访问的页面的一些信息带上。我猜可能一些是广告,或还有一些是什么分析,不得而知。但是作为基础设施的浏览器,夹带这些“私货”,真让人感觉无耻恶心且不寒而栗。


5564 1 查看更多
相关文章
智慧导览系统简介之手绘图层

智慧导览系统简介之手绘图层

智慧导览系统简介之定位导航

智慧导览系统简介之定位导航

智慧导览系统已经成为景区的标配是基础建设的一项此系统为游客提供的便利和沉浸似游玩体验也获得大量游客的好评

智慧导览系统简介之点位标注

智慧导览系统简介之点位标注

智慧导览系统已经成为景区的标配是基础建设的一项此系统为游客提供的便利和沉浸似游玩体验也获得大量游客的好评

一机在手,畅游全园——麻城孝感乡文化园电子导游介绍

一机在手,畅游全园——麻城孝感乡文化园电子导游介绍

智慧导览系统已经成为景区的标配是基础建设的一项此系统为游客提供的便利和沉浸似游玩体验也获得大量游客的好评

景运管家票务系统介绍

景运管家票务系统介绍

请管理员用微信扫码绑定您的微信

二维码2024-03-29 21:07:21过期

温馨提示:

为了系统安全及登录便捷,后台只支持绑定微信的管理员扫码登录(一个帐号可绑定多个微信),不再支持帐号密码登录。

尚未绑定微信的管理员,请及时绑定微信。

微信已扫码