中华网络安全联盟 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 进程知识 技术论坛
中华网络安全联盟 >> 新闻中心 >> 漏洞发布 >> Cosign CGI Check Cookie命令远程绕过认证漏洞
新闻中心
行业动态
软件新闻
安全资讯
病毒预警
漏洞发布
Microsoft Windows DN
FreeRadius EAP-TTLS隧
Oracle Applications口
Cisco无线Lan控制器多
Cisco无线控制系统多个
Roxio CinePlayer Son
Cosign CGI Register命
IPSec-Tools远程拒绝服
Cosign CGI Check Cookie命令远程绕过认证漏洞
字体:

中华网络安全联盟    来源:奇趣    时间:2007-4-14 0:41:41

发布日期:2007-04-10
更新日期:2007-04-12

受影响系统:
University of Michigan cosign 2.9.4a
University of Michigan cosign 2.0.1
不受影响系统:
University of Michigan cosign 2.9.4b
University of Michigan cosign 2.0.2a
描述:

BUGTRAQ  ID: 23422

cosign是美国密歇根大学开发的开源Web单次登录认证系统。

cosign处理用户请求中的Cookie时存在输入验证漏洞,远程攻击者可能利用此漏洞执行恶意协议命令。

未经认证的Web用户可以通过在HTTP POST请求中向cosign CGI传输恶意的cookie导致向cosign守护程序中注入任意命令。CGI没有正确地验证组成cookie的字符并将其传输给了守护程序,这样就可以执行攻击者所注入的协议命令。

<*来源:Jon Oberheide (jon@oberheide.org)
  
  链接:http://www.umich.edu/~umweb/software/cosign/cosign-vuln-2007-001.txt
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

cosign CGI cookie正常为以下形式:

cosign=X

这里X是由CGI所生成的128个随机字符所组成的base64字符串。

恶意的cookie形式如下:

cosign=X\rLOGIN cosign=X 1.2.3.4 username\rREGISTER cosign=X 1.2.3.4 cosign-servicename=Y

这里X代表攻击者所选择的128个字符的任意base64字符串,\r代表回车(单个ASCII字符0x0D),1.2.3.4是攻击者的IP地址,username是攻击者所要扮演用户身份的用户ID,servicename是攻击者所要访问的cosign保护的服务,Y代表攻击者所选择的第二个128字符的base64字符串。攻击者可以通过检查cosign所保护web服务器设置的cookie来判断服务名称。

为了判断用户是否已认证,CGI会向守护程序传送CHECK cookie命令,这里cookie代表name=value对。由于没有正确的验证组成cookie的字符,这个恶意cookie会导致向守护程序发送以下命令:

CHECK cosign=X\rLOGIN cosign=X 1.2.3.4 username\rREGISTER cosign=X 1.2.3.4 cosign-servicename=Y

嵌入的回车会被处理为命令分隔符,执行以下命令:

CHECK cosign=X
LOGIN cosign=X 1.2.3.4 username
REGISTER cosign=X 1.2.3.4 cosign-servicename=Y

CGI所发送的CHECK命令判断cookie为cosign=X的用户是否已认证;这个命令返回了否定的回答。

攻击者所注入的LOGIN命令错误的断言CGI已成功的将攻击者认证为username,要求守护程序在IP地址1.2.3.4将username关联到cosign=X。

攻击者所注入的REGISTER命令要求守护程序为IP地址1.2.3.4将cosign-servicename=Y关联到cosign=X。

然后攻击者可以在对cosign所保护的servicename服务的任意请求中传送cosign-servicename=Y。运行在cosign所保护服务上的过滤器会用守护程序检查攻击者所提供的cookie,守护程序会用攻击者在上述LOGIN命令中所提供的username响应,这样攻击者就可以无须认证便以username的身份访问servicename服务。

建议:

厂商补丁:

University of Michigan
----------------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.umich.edu/~umweb/downloads/cosign-1.9.4b.tar.gz
http://www.umich.edu/~umweb/downloads/cosign-2.0.2a.tar.gz
字体:
 
设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
Copyright©2006-2008 中华网络安全联盟 All rights reserved.