mysql对本地文件的读取_Mysql 任意读取客户端文件

load data infile "/etc/passwd" into table test FIELDS TERMINATED BY '\n';

实现:Mysql Server会读取服务端的/etc/passwd,然后将其数据按照'\n'分割插入表中,但现在这个语句同样要求你有FILE权限,以及非local加载的语句也受到secure_file_priv的限制

流程的话是: 客户端 读取 服务端本地中的文件 到 服务端的Mysql中

缺点:要求你有FILE权限,受到secure_file_priv的限制!

mysql> load data infile "/etc/passwd" into table test FIELDS TERMINATED BY '\n';

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

相同环境下,如果使用load data local infile,则可以进行成功读取!

流程的话是:客户端 读取 客户端本地中的文件 到 服务端中的Mysql中,但是与上面有个最大的不同点是读取方读取的文件是相反的!

mysql> load data local infile "/etc/passwd" into table test FIELDS TERMINATED BY '\n';

Query OK, 11 rows affected, 11 warnings (0.01 sec)

Records: 11 Deleted: 0 Skipped: 0 Warnings: 11

可能觉的是挺鸡肋的,但是如果配合相应的环境下还是可以进行利用的!

这时候利用上面这一点,现在我们的情况就是 服务端可以任意读取客户端中的文件!

例子1: Adminer的利用

受害者:192.168.1.157 ,该机器上面存在adminer数据库工具

攻击者:192.168.1.143

1、攻击者打开受害者的web界面如下,发现可以进行外连操作

4ce5bc9a1e7f9f94a145c0d50defd8a6.png

2、然后攻击者进行adminer连接到自己的mysql服务器上

8f3dc1d87c44ceb27c25f31e70239edf.png

3、攻击者执行LOAD DATA LOCAL INFILE 'C:\\programdata\\1.txt' INTO TABLE table;

06c8a7fef4c92684f16d932a1fd52d83.png

4、攻击者打开自己的mysql服务器查看,读取成功!

7bbdaddfeb4deee881a341e9907f1978.png

案例2:Discuz x3.4

在Discuz x3.4的配置中存在这样两个文件

config/config_ucenter.php

config/config_global.php

1、在dz的后台,有一个Ucenter的设置功能,这个功能中提供了ucenter的数据库服务器配置功能,通过配置数据库链接恶意服务器,可以实现任意文件读取获取配置信息。

b394a9adc9587984c5fd5a6f38ad8f8c.png

2、配置ucenter的访问地址

原地址: http://localhost:8086/upload/uc_server

修改为: http://localhost:8086/upload/uc_server\');phpinfo();//

当我们获得了authkey之后,我们可以通过admin的uid以及盐来计算admin的cookie。然后用admin的cookie以及UC_KEY来访问即可生效!

fc8ce78f53b1239fa544570a0b0319f6.png

LOAD DATA LOCAL INFILE权限要求

最后自己还想下看下关于LOAD DATA LOCAL INFILE是否也收到数据库权限或者是用户权限的限制

那么就有四种情况

1、高数据库权限 高PHP权限 ----> 读取成功

2、高数据库权限 低PHP权限 ----> 读取失败

3、低数据库权限 高PHP权限 ----> 读取成功

4、低数据库权限 低PHP权限 ----> 读取失败

总结:

LOAD DATA LOCAL INFILE 继承的是 执行客户端 用户权限 且只能读 mysql客户端 本地文件

若 webshell 中如果能读取 user.MYD 文件,LOAD DATA LOCAL INFILE 就能读该文件

若 webshell 中如果不能读取 user.MYD 文件,LOAD DATA LOCAL INFILE 就不能读该文件

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

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

相关文章

使用了12个月的苹果 M1 芯片,我发现了它的「致命」弱点

作者 | Attila Vg译者 | 弯月出品 | CSDN(ID:CSDNnews)首先,我仍然相信苹果 M1 的芯片在技术上取得了巨大的飞跃,再次站在了创新的最前沿,然而一旦新鲜感消失之后,裂痕就会慢慢显现,…

spi 动态加载、卸载_理解 ServiceLoader类与SPI机制

对于Java中的Service类和SPI机制的透彻理解,也算是对Java类加载模型的掌握的不错的一个反映。了解一个不太熟悉的类,那么从使用案例出发,读懂源代码以及代码内部执行逻辑是一个不错的学习方式。一、使用案例通常情况下,使用Servic…

探秘RocketMQ源码——Series1:Producer视角看事务消息

简介: 探秘RocketMQ源码——Series1:Producer视角看事务消息1. 前言 Apache RocketMQ作为广为人知的开源消息中间件,诞生于阿里巴巴,于2016年捐赠给了Apache。从RocketMQ 4.0到如今最新的v4.7.1,不论是在阿里巴巴内部还…

三大院士、十大数据库掌门人,岳麓对话开启数字经济新时代!

10月23日,第二届“长沙 中国1024程序员节”在湖南长沙盛大开幕。大会以“开源开放、算据赋能——开启数字经济新时代”为主题,囊括岳麓尖峰对话、2021技术英雄大会、18场专业主题论坛/峰会;50企业创新展,联动100海内外高校&#…

java 队列_百战程序员:Java并发阻塞队列

阻塞队列 (BlockingQueue)是Java util.concurrent包下重要的数据结构,BlockingQueue提供了线程安全的队列访问方式:当阻塞队列进行插入数据时,如果队列已满,线程将会阻塞等待直到队列非满;从阻塞队列取数据时&#xff…

select事件有哪些_Android 深入底层:Linux事件管理机制 epoll

在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在linux新的内核中,有了一种替换它的机制,就是epoll。select()和poll() IO多路复用模型select的缺点:单个进程能够监…

如何从 0 到 1 开发 PyFlink API 作业

简介: 以 Flink 1.12 为例,介绍如何使用 Python 语言,通过 PyFlink API 来开发 Flink 作业。 Apache Flink 作为当前最流行的流批统一的计算引擎,在实时 ETL、事件处理、数据分析、CEP、实时机器学习等领域都有着广泛的应用。从 F…

殷浩详解DDD:如何避免写流水账代码?

简介: 在日常工作中我观察到,面对老系统重构和迁移场景,有大量代码属于流水账代码,通常能看到开发在对外的API接口里直接写业务逻辑代码,或者在一个服务里大量的堆接口,导致业务逻辑实际无法收敛&#xff0…

小步快跑,Veeam BackupReplication v11a 重磅发布

作者 | 伍杏玲 出品 | CSDN云计算 随着企业数字化转型进入“深水区”,业务迅速发展之际也带来庞大的数据,导致管理和保护数据变得越来越复杂,给企业数字化转型带来挑战。 据 Gartner 预测,到 2024 年,全球每年由隐私…

ironpython3桌面开发_IronPython项目有了新负责人

IronPython项目有了新负责人Python .NET C摘要运行IronPython项目的社区领导职责已经交给了Alex Earl和Benedikt Eggers。之前的负责人Jeff Hardy自微软在2010年不再积极参与以来一直负责项目的运行。正文运行IronPython项目的社区领导职责已经交给了Alex Earl和Benedikt Egger…

mysql 查看表格scott_mysql查询学习第一天,针对scott

终于把牛老师的那个项目退了,以后有时间去学习自己喜欢的东西了。我喜欢写点东西,也喜欢胡扯,哈哈。算了,开始正题。scott表是Oracle官网的Demo现在学习一个新知识,学习他的Demo最好不过了。select * from emp;select …

重度使用Flutter研发模式下的页面性能优化实践

简介: 淘宝特价版是集团内应用Flutter技术场景比较多,且用户量一亿人以上的应用了。目前我们首页、详情、店铺、我的,看看短视频,及评价,设置等二级页面都在用Flutter技术搭建。一旦Flutter有性能瓶颈,重度…

蚂蚁构建服务演进史

简介: 自动化构建和CI/CD往往是相辅相成的,可以理解为,自动化构建是温饱问题,解决了温饱就会有更多的提高生产力的诉求,也就是对应的CI平台,CI/CD本篇文章不做扩展。 作者 | 琉克 来源 | 阿里技术公众号 一…

对话Satya Nadella:大规模AI模型、人机界面或将迎来大突破

编者按:1991年微软研究院成立,三十年坚持不懈的探索成就了微软研究院今天在全球计算机科研领域的位置。在接下来的10年、30年中,科研世界会呈现何种面貌?下一个技术创新的突破点在哪里?微软又将怎样持续发挥作用&#…

python入门之玩转列表我的菜单_我的Python成长之路---第一天---Python基础(作业2:三级菜单)---2015年12月26日(雾霾)...

#!/usr/bin/env python3#coding:utf-8Created on: 2015年12月30日author: 张晓宇Email: 61411916qq.comVersion: 1.0Description: 三层菜单1、菜单一共三级即:省,市,区县2、每一级菜单输入的如果输入的是菜单里的选项则进入下级菜单3、第1级菜…

这个云原生开发的痛点你遇到了吗?

简介: 上云从来都不是一片坦途,在此过程中我们总会遇到一些困难和挑战,得益于云原生技术的日益成熟,这些问题一定会有相应的解法。 作者:纳海 背景 在云原生时代,国内外众多云厂商释放出强大的技术红利…

mysql安装pymyaql_python安装mysql的依赖包mysql-python操作

一般情况下,使用pip命令安装即可:[rootdthost27 ~]# pip install mysql-python但是在实际工作环境中,往往会安装失败,这是因为系统缺少mysql的相关依赖组件。所以必须先安装mysql-devel类的包,而且必须要对应好mysql客…

「技术人生」专题第1篇:什么是技术一号位?

前言 什么是技术一号位、有哪些关注点、怎么做技术一号位? 做了研发团队的技术 leader 以后,要处理的事情非常多,如果对自己扮演的角色没有一个清晰的认知,就会出现该做的事情没有做,不该做的事情投入了过多的精力&…

服务器之后加码存储,浪潮信息重磅发布新一代 G6 存储平台

作者 | 宋慧 出品 | CSDN云计算 提到浪潮,业界首先想到的是浪潮信息服务器占有的优势和市场份额。不过,其实浪潮在存储领域也持续深耕和发力中。据国际分析机构 Gartner 报告显示,2021 年第一季度,浪潮存储在全闪存存储、分布式存…

python中异常和错误是同一个概念吗_Python 错误与异常

2017-08-01 13:40:17在程序运行过程中,总会遇到各种各样的错误。有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。有的错误是用户输入造成的,比如让…