您当前的位置:首页 > 电脑百科 > 安全防护 > 网络安全

XSS跨站脚本攻击剖析与防御

时间:2019-12-24 10:06:47  来源:  作者:

01

XSS跨站脚本介绍

跨站脚本(Cross-Site Scripting,XSS)是一种经常出现在Web应用程序中的计算机安全漏洞,是由于Web应用程序对用户的输入过滤不足而产生的。攻击者利用网站漏洞把恶意的脚本代码(通常包括html代码和客户端JAVAscript脚本)注入到网页之中,当其他用户浏览这些网页时,就会执行其中的恶意代码,对受害者可能采取Cookie资料窃取、会话劫持、钓鱼欺骗等各种攻击。

XSS跨站脚本攻击本身对Web服务器没有直接危害,它借助网站进行传播,使网站的大量用户受到攻击。攻击者一般通过留言、电子邮件或其他途径向受害者发送一个精心构造的恶意URL,当受害者在Web浏览器中打开该URL的时候,恶意脚本会在受害者的计算机上悄悄运行,流程如图所示:

 

XSS跨站脚本攻击剖析与防御

 

点击添加图片描述(最多60个字)

02

XSS的危害

1.网络钓鱼,包括盗取各类用户账号;

2.窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份进一步对网站执行操作;

3.劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志、发送电子邮件等;

4.强制弹出广告页面、刷流量等;

5.网页挂马;

6.进行恶意操作,例如任意篡改页面信息、删除文章等;

7.进行大量的客户端攻击,如DDoS攻击;

8.结合其他漏洞,如CSRF漏洞,实施进一步作恶;

9.传播跨站脚本蠕虫等。

03

XSS的原理及案例

XSS根据其特性和利用手法的不同,只要分成两大类型:一种是反射型跨站脚本;另一种是持久型跨站脚本。

1.反射型XSS

反射型跨站脚本也称作非持久型、参数型跨站脚本。这种类型的跨站脚本是最常见的,也是使用最广的一种,主要用于将恶意脚本附加到URL地址的参数中,例如:

http://www.test.com/search.php?key=”><script>alter(“XSS”)</script>

http://www.test.com/logout.asp?out=1&ur1=JavaScript:alert(document.cookie)

反射型XSS的利用一般是攻击者通过特定手法(比如利用电子邮件),诱惑用户去访问一个包含恶意代码的URL,当受害者单击这些专门设计的链接的时候,恶意JavaScript代码会直接在受害者主机上的浏览器执行。它的特点是只在用户单击时触发,而且只执行一次,非持久化,所以称为反射型跨站式脚本。

反射型XSS的攻击流程如图所示:

 

XSS跨站脚本攻击剖析与防御

 

 

此类XSS通常出现在网站的搜索栏、用户登入口等地方,常用来窃取客户端Cookies或进行钓鱼欺骗。

如下为反射型XSS的一个案例:当在该网站的姓名提交框内输入恶意的JavaScript脚本时,点击提交按钮,便出现了反射型XSS攻击,如图所示:

 

XSS跨站脚本攻击剖析与防御

 

点击添加图片描述(最多60个字)

 

XSS跨站脚本攻击剖析与防御

 

点击添加图片描述(最多60个字)

反射型XSS的危害往往不如持久型XSS,因为恶意代码暴露在URL参数中,并且时刻要求用户单击方可触发,稍微有点安全意识的用户可以轻易看穿链接是不可信任的。如此一来,反射型XSS攻击的成本要比持久型XSS高得多。

2.持久型XSS

持久型跨站脚本也等于存储型跨站脚本,比反射型跨站脚本更具威胁性,并且可能影响到Web服务器自身的安全。

此类XSS不需要用户单击特定的URL就能执行跨站脚本,攻击者事先将恶意JavaScript代码上传或存储到漏洞服务器中,只要受害者浏览包含此恶意JavaScript代码的页面就会执行恶意代码。

持久型XSS的攻击流程如图所示:

 

XSS跨站脚本攻击剖析与防御

 

点击添加图片描述(最多60个字)

持久型XSS一般出现在网站的留言、评论。博客日志等交互处,恶意脚本被存储到客户端或者服务器的数据库中,当其他用户浏览该网页时,站点即从数据库中读取恶意用户存入的非法数据,然后显示在页面中,即在受害者主机上的浏览器执行恶意代码。

如下为持久型XSS的一个案例:当攻击者在留言框内输入恶意JavaScript代码并提交后,其他用户再浏览这个页面时,就会发生持久型XSS攻击,如图所示:

 

XSS跨站脚本攻击剖析与防御

 

点击添加图片描述(最多60个字)

XSS跨站脚本攻击剖析与防御

 

 

持久型XSS不需要用户去单击URL进行触发,所以他的危害比反射型XSS大,黑客可以利用它渗透网站、挂马、钓鱼……

04

XSS防御方案

XSS 漏洞是由于对用户提交的数据没有经过严格的过滤处理造成的,所以防御的原则就是不相信用户输入的数据,对输入进行过滤,对输出进行编码。

1.使用XSS Filter

对用户提交的信息进行有效的验证,仅接受指定长度范围内的,采用适当格式的内容提交,阻止或者忽略此外的其他任何数据。此外,还需过滤有效的和净化有害的输入。

例如:

▻ 表单数据指定值的类型:年龄只能是 int 、name 只能是字母数字等。

▻ 过滤或移除特殊的 html 标签:<script>、<iframe>等。

▻ 过滤 js 事件的标签:onclick、onerror、onfocus等。

2.使用编码(HTMLEncode)

HTML编码在防止XSS攻击上可以起到很大的作用,它主要是用对应的HTML实体替代字面量字符,这样做可确保浏览器安全处理可能存在的恶意字符,将其当做HTML文档的内容而非结构加以处理。

一些常见的可能造成问题的字符的HTML编码如表所示:

 

XSS跨站脚本攻击剖析与防御

 

 

3、JavaScript编码

这条原则主要针对动态生成的JavaScript代码,这包括脚本部分以及HTML标签的事件处理属性(如onerror, onload等)。在往JavaScript代码里插入数据的时候,只有一种情况是安全的,那就是对不可信数据进行JavaScript编码,并且只把这些数据放到使用引号包围起来的值部分(data value)之中,除了上面的那些转义之外,还要附加上下面的转义:

转成 \

/ 转成 /

; 转成 ;(全角;)

4、Http Only cookie

许多 XSS 攻击的目的就是为了获取用户的cookie,将重要的 cookie 标记为http only,这样的话当浏览器向服务端发起请求时就会带上cookie字段,但是在脚本中却不能访问 cookie,这样就避免了XSS攻击利用JavaScript的document.cookie获取cookie。



Tags:XSS   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
10月18号, W3C中网络平台孵化器小组(Web Platform Incubator Community Group)公布了HTML Sanitizer API的规范草案。这份草案用来解决浏览器如何解决XSS攻击问题。 网络安全中...【详细内容】
2021-12-07  Tags: XSS  点击:(20)  评论:(0)  加入收藏
一.XSSI漏洞原理同源策略同源策略是Web应用程序安全模型中最基本也是最核心的策略。现在所有支持JavaScript的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。同源...【详细内容】
2021-07-14  Tags: XSS  点击:(84)  评论:(0)  加入收藏
一、CSRFCSRF 全称叫做,跨站请求伪造(Cross&mdash;Site Request Forgery),顾名思义,攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成...【详细内容】
2021-06-10  Tags: XSS  点击:(125)  评论:(0)  加入收藏
什么是XSS跨站攻击CSS(Cross Site Script),又叫XSS跨站脚本攻击。它指的是恶意攻击者往Web页面的HTML代码中插入恶意的ActiveX、HTML、JavaScript、Flash或VBScript脚本,当用户...【详细内容】
2021-01-22  Tags: XSS  点击:(133)  评论:(0)  加入收藏
概述XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人...【详细内容】
2020-10-13  Tags: XSS  点击:(174)  评论:(0)  加入收藏
作者:陈吉转发链接:https://mp.weixin.qq.com/s/HweEFh78WXLawyQr_Vsl5g前言前端一般会面临 XSS 这样的安全风险,但随着 React 等现代前端框架的流行,使我们在平时开发时不用太...【详细内容】
2020-09-24  Tags: XSS  点击:(153)  评论:(0)  加入收藏
不知道各位有没有被各类XSS攻击、点击劫持 (ClickJacking、 frame 恶意引用等等方式骚扰过,百度联盟被封就有这些攻击的功劳在里面。为此一直都在搜寻相关防御办法,...【详细内容】
2020-09-21  Tags: XSS  点击:(145)  评论:(0)  加入收藏
一、一般可利用的编码1.URL编码格式:%十六进制数 记住常用符号、字母的 ASCII 码,能熟练转换 10 -16 进制即可。中文的URL编码略有不同,因为用的地方没有,也就不想写了如何利用:...【详细内容】
2020-08-12  Tags: XSS  点击:(116)  评论:(0)  加入收藏
不知道各位有没有被各类XSS攻击、点击劫持 (ClickJacking、 frame 恶意引用等等方式骚扰过,百度联盟被封就有这些攻击的功劳在里面。为此一直都在搜寻相关防御办法,...【详细内容】
2020-08-10  Tags: XSS  点击:(80)  评论:(0)  加入收藏
跨站脚本漏洞(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。XSS攻击使用到的技术主要为HTML和Javascript...【详细内容】
2020-07-28  Tags: XSS  点击:(275)  评论:(0)  加入收藏
▌简易百科推荐
(报告出品方:德勤)数字化转型网络安全及转型挑战在任何行业,保持竞争力都需要快速开发新产品和 服务并推向市场。创新型业务模式不仅仅是简单地将现有 流程数字化,其正在覆盖供应...【详细内容】
2021-12-22  认是    Tags:网络安全   点击:(29)  评论:(0)  加入收藏
10月18号, W3C中网络平台孵化器小组(Web Platform Incubator Community Group)公布了HTML Sanitizer API的规范草案。这份草案用来解决浏览器如何解决XSS攻击问题。 网络安全中...【详细内容】
2021-12-07  实战Java  博客园  Tags:脚本攻击   点击:(20)  评论:(0)  加入收藏
一、背景介绍大家在Linux的日常使用中都晓得如何通过命令行去配置Linux的端口开放规则,但是大家知道如何配置Windows入站出站规则吗?有哪些常见的危险端口呢?如何解决上述问题...【详细内容】
2021-12-01  Kali与编程    Tags:防火墙   点击:(30)  评论:(0)  加入收藏
网络安全服务商Randori公司日前发布了一份调查报告,列出了网络攻击者最有可能攻击或利用的IT资产。在遭遇Solarwinds黑客攻击一周年之际,以及在网络安全(尤其是勒索软件和供应...【详细内容】
2021-10-28  企业网D1net   企鹅号  Tags:网络攻击   点击:(57)  评论:(0)  加入收藏
0x01.背景实验利用Dns Administrators 组成员,通过远程配置Dns服务,进行Dll inject从而实现特权提升。 在域内,Dns server 通常为Dc Server,Dns服务器管理基于rpc,通过调用c:\wi...【详细内容】
2021-10-22  IT影子    Tags:特权提升   点击:(37)  评论:(0)  加入收藏
本文主要介绍和总结了CSRF跨站请求伪造的基本原理和主要防范措施,工作中有用到的朋友不妨收藏转发一下,以备您参考。什么是CSRF?CSRF跨站点请求伪造(Cross&mdash;Site Request...【详细内容】
2021-10-13  快乐中恒    Tags:CSRF   点击:(49)  评论:(0)  加入收藏
waf拦截在打某市 Hvv 第一天就找到一个文件上传的点,经过测试,可以直接任意文件上传,没有什么道理。 直接尝试上传 Php 文件,被 waf 拦截了 2021最新整理网络安全/渗透测试/安...【详细内容】
2021-10-11  KaliMa    Tags:防火墙   点击:(56)  评论:(0)  加入收藏
应用程序与文件系统的交互始终是高度安全敏感的,因为较小的功能漏洞很容易成为可利用漏洞的来源。这种观察在web文件管理器的情况下尤其正确,其作用是复制完整文件系统的功能...【详细内容】
2021-09-17  IT野涵    Tags:漏洞链   点击:(56)  评论:(0)  加入收藏
您的苹果手机尽管iPhone比Android更安全,但也可以通过各种方式入侵。避免黑客入侵的最佳方法是警惕奇怪的链接或粗略的应用程序,并仅在必要时提供信息。电池寿命差和性能低下...【详细内容】
2021-09-16  Hackers爱好者    Tags:黑客入侵   点击:(633)  评论:(0)  加入收藏
防火墙一般布置在逻辑区域的入口处,位于三层网络架构的核心和汇聚之间,起到隔离逻辑区域,为逻辑区域创建安全策略的作用。 上面就是应用区的防火墙布置方式,他布置在应用区,可以...【详细内容】
2021-09-03  知来知去    Tags:主备模式防火墙   点击:(109)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条