mysql malloc lib_CVE-2016-6662-MySQL ‘malloc_lib’变量重写命令执行分析 | CN-SEC 中文网...

摘要

今天有个关于MySQL的漏洞被披露出来,编号CVE-2016-6662。该漏洞主要涉及到 mysqld_safe 脚本中在加速/处理内存时会采用 “malloc_lib”变量作为辨别标记选择性加载(preload方式)比如tcmalloc之类的malloc库。不幸的的是这个变量可以被my.cnf所控制,导致my.cnf一旦被攻击者在mysql客户端篡改的话可以直接导致mysqld_safe所调用的mysqld进程执行权被控制。

1c12abda09dc2f4555f14ce0321de2df.png

前言

今天有个关于MySQL的漏洞被披露出来,编号CVE-2016-6662。该漏洞主要涉及到 mysqld_safe 脚本中在加速/处理内存时会采用 “malloc_lib”变量作为辨别标记选择性加载(preload方式)比如tcmalloc之类的malloc库。不幸的的是这个变量可以被my.cnf所控制,导致my.cnf一旦被攻击者在mysql客户端篡改的话可以直接导致mysqld_safe所调用的mysqld进程执行权被控制。

技术分析

具体的攻击思路前言部分基本已经表述出来,这里不再重述。笔者来看看漏洞作者在【1】中做了3种攻击方式。作者的思路基本是围绕着如何用这几种技巧写入 my.cnf 被mysqld_safe调用执行这个中心攻防点来进行。

我们先看看最简单的第1种方法

1)采用 set global general_log 来绕过已存在文件(即my.cnf)

a)设置 my.cnf 为 mysql 用户所在权限的基础上

# ll /etc/my.cnf

-rw-r--r-- 1 mysql mysql 380 Sep 12 23:18 /etc/my.cnf

注:默认权限是root,但是不排除mysql集群使用时每个my.cnf是mysql组可读写;

b)开始攻击,各位直接看图吧

注: 这里使用root登录,普通用户默认是没更改全局变量general_log_file 的权限

1

2

mysql>  set global general_log_file = '/etc/my.cnf';

ERROR 1227 (42000): Access denied; you need the SUPER privilege for this operation

be8c07d565e6bb4d8392f144bf47f2de.png

攻击成功后的my.cnf

e46b11a785fe016cd393d406fba1bc19.png

2)使用隐藏的/var/lib/mysql/.my.cnf 和 /var/lib/mysql/my.cnf

这部分讲起来其实意义不大,就是历史原因造成这部分mysql数据目录下的my.cnf和.my.cnf。最糟糕的是这部分还是mysql用户组可以读写的目录。所以我们又能控制到my.cnf了。

写入的方法有两种,一种还是方法一的变量,另一个是常见 INTO OUTFILE 文件注入技巧。

3)作者考虑下了上面2种方式都是需要

作者在假设攻击者还有文件权限的情况下使用写入触发器文件的方式来“

CREATE DEFINER=`root`@`localhost` TRIGGER appendToConf

AFTER INSERT

ON `active_table` FOR EACH ROW

BEGIN

DECLARE void varchar(550);

set global general_log_file='/var/lib/mysql/my.cnf';

set global general_log = on;

select "

[mysqld]

malloc_lib='/var/lib/mysql/

" INTO void;

set global general_log = off;

END;

接下来就等这个这个触发器在表被flushed的时候被触发了(说真的,笔者没实践这个步骤),比如:

1

INSERT INTO `active_table` VALUES('xyz');

这样我们就可以

最后,关于PoC或相关的信息您可以直接访问【1】获得。作者其实在后面的so也提供一个很好的回写技巧,由于preload可以优先mysqld进程加载my.cnf,所以它就能修复my.cnf里的内容。J

最后

这个漏洞的危害建立在一个你至少需要普通用户的基础上,危害程度得因人而异,不注意安全的可能使用的mysql是一大堆弱口令的root用户;注意安全的基本都是普通mysql用户;集群上启动MySQL进程的用户也是个需要考虑的;至于web注入点使用这个功能个人觉得可能就比较窄了。

MySQL的修复【2】选择的是对malloc_lib的路径进行限制 /usr/lib, /usr/lib64, /usr/lib/i386-linux-gnu, or /usr/lib/x86_64-linux-gnu;

最后,笔者认为My

参考

本文由 安全客 原创发布,如需转载请注明来源及本文地址。

本文地址:http://bobao.360.cn/learning/detail/3026.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TPC-C中跑赢Oracle的OceanBase,最近有何惊艳?

戳蓝字“CSDN云计算”关注我们哦!作者 | 晶少责编 | 阿秃出品 | CSDN云计算(ID:CSDNcloud)就在一年一度震撼人心的双11前夕,有消息称前段时间火爆到瞬间刷屏的OceanBase已经完成了Oracle模式的研发,助力银行…

亚马逊计划明年推出云游戏服务,紧追微软谷歌;华为GaussDB数据库推出双分布式架构;腾讯擎天5G智慧灯杆助智慧城市服务升级……...

戳蓝字“CSDN云计算”关注我们哦!嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周五第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

万豪数据泄漏门再敲警钟 酒店集团7步安全建议

​​11月30日,万豪酒店官方发布消息称,多达5亿人次预订喜达屋酒店客人的详细个人信息可能遭到泄露。万豪国际在调查过程中了解到,自2014年起即存在第三方对喜达屋网络未经授权的访问,但公司直到2018年9月才第一次收到警报。 万豪…

八年技术加持,性能提升10倍,阿里云HBase 2.0首发商用

阿里云HBase 2.0成长手记,含着金汤匙出身 HBase本身是一个分布式存储、数据库引擎,可以支持千万的QPS、PB级别的存储,这些都已经在生产环境验证,并且在阿里得以验证。 早在2010年开始,阿里巴巴集团开始研究并把HBase…

不得不看之跳槽加薪利器:2019需求最旺盛的十大IT技能

戳蓝字“CSDN云计算”关注我们哦!作者 | 新技术 新商业责编|阿秃2018年岁末,中国互联网IT职场掀起一股裁员风暴,为所有的码农和IT专业人士敲响了警钟,要想职场顺风满帆,就应当及早预判热点,规划…

阿里云马劲:保证云产品持续拥有稳定性的实践和思考

对所有的技术人员来说,业务可靠性提升是一个系统工程,涉及网络管理、IDC管理、服务器管理、交付管理、变更管理、故障管理、监控管理、预案管理、根因分析、容量规划、容灾演练、标准化建设、集成测试、泛操作管理、权限管理、数据安全管理等方方面面&am…

实战:基于 Spring 的应用配置如何迁移至阿里云应用配置管理 ACM

最近遇到一些开发者朋友,准备将原有的Java Spring的应用配置迁移到 阿里云应用配置管理 ACM 中。迁移过程中,遇到不少有趣的问题。本文将通过一个简单的样例来还原迁移过程中遇到的问题和相关解决思路,以期达到和读者交流的目的。 什么样的配…

华为豪投20亿!3年培养100万AI人才,网友不服!

近日,华为20亿奖励员工的新闻频频刷屏。其中20亿奖金不是面向所有的华为员工,20亿奖金包涉及到的是研发体系、造AI芯片和建设生态的员工。从5G开始部署以来,华为获得了来自全球各地运营商的订单,签订了40多个5G商用合同。另外华为…

RAM SSO功能重磅发布 —— 满足客户使用企业本地账号登录阿里云

阿里云RAM (Resource Access Management)为客户提供身份与访问控制管理服务。使用RAM,可以轻松创建并管理您的用户(比如雇员、企业开发的应用程序),并控制用户对云资源的访问权限。 对云资源的信息安全保护与风险控制能力是企业成…

SQLServer AlwaysOn在阿里云的前世今生

缘起 早在2015年的时候,随着阿里云业务突飞猛进的发展,SQLServer业务也积累了大批忠实客户,其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格(规格是按照 内存CPUIOPS 一定比例分配,根据底层资源不同都会有…

构建企业数字化转型协同力有多难?青云发布workly.ai誓要解决这些棘手的问题!...

戳蓝字“CSDN云计算”关注我们哦!相信大部分人都经历过办公中的手忙脚乱与无所适从,每天面对无数的任务与工作本就是一项挑战,而在办公中面对不同终端协同工具,所带来的那些令人头疼的密码、来不及回复的信息与邮件、繁琐的办公流…

阿里云高级技术专家带你全面了解云主机性能评测

钱超,花名西邪,阿里云高级技术专家,超12年老阿里,是云主机性能领域的知名专家。 在目前的云计算测评领域,很多性能测评存在营销的包装,容易引起误导:比如用瞬时性能引导读者得出结论&#xff0…

阿里云HBase携X-Pack再进化,重新赋能轻量级大数据平台

一、八年双十一,造就国内最大最专业HBase技术团队 阿里巴巴集团早在2010开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储。持续8年的投入,历经8年双十一锻炼。4个PMC,6个committ…

2018阿里云双12年终大促主会场全攻略

2018阿里云双12年终大促活动已经于12月7日正式开启,从已开放的活动页面来看,活动分为两个阶段: 12月7日-12月23日的拉新返现阶段和12月24日-12月28日的TOP100英雄榜PK阶段。 活动核心亮点: 老会员拉新可享25%返现最高2.5万奖金&a…

RabbitMQ集群原理介绍

文章目录一、RabbitMQ默认集群原理1. RabbitMQ集群元数据的同步2. 为何RabbitMQ集群仅采用元数据同步的方式3. RabbitMQ集群发送/订阅消息的基本原理4. 客户端直接连接队列所在节点5. 客户端连接的是非队列数据所在节点7. 集群节点类型磁盘节点内存节点8. 总结二、RabbitMQ镜像…

阿里云物联网平台体验(树莓派+Python篇)

阿里云物联网平台体验(树莓派Python篇) 虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作。但是同时也见证了阿里云物联网团队从几十人到数百人的迅速扩张&#x…

阿里云物联网边缘计算加载MQTT驱动

写在前面 本文在LinkEdge快速入门样例驱动的基础上,加载了MQTT订阅的客户端,使得边缘端容器可以通过MQTT获得外部数据。 1. 系统需求 物联网边缘计算平台,又名Link IoT Edge[1]。在物联网边缘计算帮助文档中的 “快速入门”描述了…

完爆 Best Fit,看阿里如何优化 Sigma 在线调度策略节约亿级成本

2018 年“双 11”的交易额又达到了一个历史新高度 2135 亿。相比十年前,我们的交易额增长了 360 多倍,而交易峰值增长了 1200 多倍。相对应的,系统数呈现爆发式增长。系统在支撑“双 11”过程中的复杂度和难度呈现指数级形式上升趋势。 作为…

重磅!阿里巴巴工程师获得 containerd 社区席位,与社区共建云时代容器标准

重磅!阿里巴巴工程师获得 containerd 社区席位,与社区共建云时代容器标准 11 月 29 日,CNCF containerd 社区正式宣布:两位阿里巴巴工程师正式获得 containerd 社区席位,成为 containerd 社区 Reviewer,未…

RabbitMQ管控台操作手册

文章目录一、MQ管控台配置1.1. 修改guest用户的默认密码1.2. 创建Virtual Hosts1.3. 创建用户1.4. 给Virtual Hosts指定用户1.5. 给Virtual Hosts创建监控用户1.6. 给Virtual Hosts指定监控用户二、 验证2.1.给proj-01项目配置mq连接信息2.2.为proj-01项目声明队列和交换机2.3.…