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跨站漏洞的主要内容,如果未能解决你的问题,请参考以下文章