XSS攻击分析---(原理、危害、防御、应急响应)

1、攻击原理

造成XSS漏洞的原因就是,对攻击者的输入没有经过严格的控制,使得攻击者通过巧妙的方法注入恶意指令代码到网页,进行加载并执行。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java, VBScript, ActiveX, Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、个人网页内容、会话和cookie等各种内容。

  1)非持久型:

  通过 GET、POST、referer 等参数未加处理直接输出到页面执行。该类型是最为常见的,攻击者主要利用此类型通过email、热度非常大的论坛、或者有针对性的某一用户发送一个隐藏性的链接,让受害者进行点击触发。

  2)持久型:

  由攻击者输入恶意数据保存在数据库,再由服务器脚本程序从数据库中读取数据,然后显示在公共显示的固定页面上,那么所有浏览该页面的用户都会被攻击。该类型攻击性非常大,危险也非常大。

  3)DOM型:

  由Javascript 脚本动态创建、输出到页面造成的。该类型不容易发现,具有隐藏性的特点,必需手工去发现。

  4)浏览器漏洞造成:

  在某个浏览器版本造成的漏洞,由浏览于用户浏览历史、页面交互等方式,未加处理,所造成的。该漏洞攻击危害非常大,一旦存在,基本可以实现跨域操作,严重者可以以本地权限执行 javascript 脚本,访问读取本地文件。

2、常见场景:

 1)回帖,评论,用户输入在页面直接进行显示,没有进行过滤。

 2)用户反馈,客服提问,输入的恶意脚本在后台进行了执行,窃取后台管理员cookie等信息。

 3)搜索展示搜索结果的时候直接展示用户输入。

3、危害影响

1、攻击者可能利用XSS攻击获取业务系统服务器账号权限登

4、防御方法

1)htmlspecialchars() 函数:用于转义处理在页面上显示的文本。

2)htmlentities() 函数:用于转义处理在页面上显示的文本。

3)strip_tags() 函数:过滤掉输入、输出里面的恶意标签。

4)header() 函数:使用header("Content-type: application/json"); 用于控制 json 数据的头部,不用于浏览。

5)urlencode() 函数:用于输出处理 字符型参数带入页面 链接中。

6)intval() 函数:用于处理数值型参数输出页面中。

7)自定义函数:大多情况下,要使用一些常用的 html 标签以美化页面显示,如留言、小纸条。在这样的情况下,要采用白名单的方法使用合法的标签显示,过滤掉非法的字符。

5、研判思路

1、判读是否为规则误报

 1)基于漏洞特征检测:查看是否在请求中包含明文或转义/转码后的执行语句,比如<script>alert()</script>等;

 2)排除业务导致的误报:需要排除业务系统不规范导致的误报情况,比如业务请求中包含alert等字段时的误报

2、判断是否为恶意行为

 1)需要确认是否为分析和研究人员的测试行为;

 2)需要排除是否为内网已授权漏洞扫描器的扫描行为

3、判断是否攻击成功

1)如果来源IP为内网,则说明内网已存在失陷服务器,可以认为攻击成功,该告警的处置优先级高;

 2)如果来源IP为外网,返回值中包含攻击者已执行成功/获取到有效信息,则认为是攻击成功。

6、应急响应-事中处置

1、已失陷主机

 1)隔离和处置失陷机器:及时联系机器负责人,对感染的机器采取断网操作,并且修改相关账户的口令,下载杀毒软件或者专杀软件进行清除;

 2)内部通告和培训:及时进行内部通告和培训,增强企业员工安全意识,对不明邮件附件和不明站点可疑连接谨慎点击访问,从正规渠道下载程序,不安装来自不明来源的应用程序;

 3)端口限制:根据业务情况,在不影响的情况下可选择在安全策略中限制如下端口,3306(MYSQL)、1521(ORACLE)、1433(SQL SERVER)、5432(PG)、6379(REDIS)、9200(ES)

 4)漏洞修补:对存在漏洞的主机进行安全漏洞修复,及时对设备系统进行安全更新和应用安全补丁更新

2、已失陷账户

 1)修改密码:建议采用数字、符号及大小写字母混合的方式,设置8位以上的密码;

 2)账户封禁

 3)账户权限收回

3、外部攻击遏制

 1)封禁IP:在防火墙上配置IP黑名单,封堵攻击源主机

7、应急响应-事后加固

 1)更新网络安全管理措施:根据该事件中暴露的问题,针对性修订完善网络安全管理制度,做好攻击预警和处置,同时对攻击事件进行复盘,并更新网络安全突发事件应急预案;

 2)加强网络安全隐患修补:在消除该事件攻击影响的情况下,开展网络安全隐患排查和修补。例如,在权限管理方面,重点排查弱口令、账户权限、口令更新和共用等问题;在漏洞修补方面,及时更新系统、软件、硬件等漏洞补丁;

 3)自动化封禁:使用SOAR或其他自动化手段将此类告警外网源IP在第一时间进行边界防火墙的封禁;

 4)保持网络安全设备特征库更新:日常运维过程中需要保持特征库为最新版本

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值