XSS跨站漏洞

Posted 创保网IT技术开发汇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS跨站漏洞相关的知识,希望对你有一定的参考价值。

XSS跨站漏洞产生的原理:

XSS又叫CSS(Cross Site Script),跨站脚本攻击,它指的是恶意攻击者往Web页面里插入恶意代码脚本,而程序员在设计网站中输入输出的部分时,没有对用户输入的内容进行过滤,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。


XSS跨站漏洞危害:

跨站脚本攻击最常见的Web安全漏洞之一,全球OWASP排名第七位,在2017年信息安全团队检测发现中,XSS跨站漏洞数位列于第三位。


XSS漏洞危害:

1、盗取身份信息,窃取会和Cookie从而窃取网站用户隐私、包括账户、浏览历史、IP等。

2、更广泛的蠕虫传播,借助网站进行传播,使网站的使用用户受到攻击。

3、劫持用户会话,从而知悉任意操作,比如弹窗跳转、篡改页面、网页挂马。


XSS漏洞根源:前端输入不可信!没有对客户端提交参数或可执行代码进行校验或过滤。


XSS蠕虫案例攻击经典案例分析

 事件经过:2011.06.28晚

新浪微博出现一次较大的XSS攻击事件

 大量用户自动发送如“郭美美事件的一些未注意到的细节”等微博和私信,

并自动关注一位名为hellosamy的用户

具体时间如下:

20:14 开始有大量V的认证用户中招转发蠕虫

20:30 2kt.cn中的病毒页面无法访问

20:32 新浪微博中hellosamy用户无法访问

21:02 新浪漏洞修补完毕


攻击方式分析:

黑客通过对新浪微博的分析测试发现新浪名人堂由于代码过滤不严,导致XSS漏洞的存在,并可以通过构造脚本的方式植入恶意代码。


通过分析发现,在新浪名人堂部分中,当提交

http://weibo.com/pub/star/g/xyyd">?type=update

新浪会对该字符串进行处理,变成类似

http://weibo.com/pub/star.php?g=xyyd'>?type=update


而由于应用程序没有对参数g做充足的过滤,且将参数值直接显示在页面中,相当于weibo.com在页面中嵌入了一个来自于2kt.cn的JS脚本。

该JS脚本是黑客可以控制的文件,使得黑客可以构造任意JS脚本嵌入到weibo.com的页面中,且通过Ajax技术完全实现异步提交数据的功能,进而黑客通过构造特定的JS代码实现了受此XSS蠕虫攻击的客户自定发微博、添加关注、发微信等操作。


解决思路

若要过滤掉XSS,可以在输入层面过滤,也可以在输出层面过滤或html实体编码。


修复方法:HTML实体编码

<body>...插入不可信数据前,对其进行HTML实体编码...</body>

<div>...插入不可信数据前,对其进行HTML实体编码...</div>

<p>...插入不可信数据前,对其进行HTML实体编码...</p>


备注:

  • <script>...不要在这里直接插入不可信数据...</script>

  • <!-...不要在这里直接插入不可信数据...->

  • <div不要在这里直接插入不可信数据="..."></div>

  • <div name="...不要在这里直接插入不可信数据..."></div>

  • <a href="...不要在这里直接插入不可信数据..."></a>

  • <style>...不要在这里直接插入不可信数据...</style>

   


领导说了

您点一个

小编的工资就涨五毛!


分享IT技术、汇集最新资讯



往期回顾:













以上是关于XSS跨站漏洞的主要内容,如果未能解决你的问题,请参考以下文章

看图说话:持久式XSS(跨站)漏洞示例

跨站脚本xss

看图说话:反射式XSS(跨站)漏洞示例

web漏洞挖掘指南 -XSS跨站脚本攻击

修复XSS跨站漏洞

独家分享:跨站脚本攻击XSS详解