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…

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

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

蚂蚁构建服务演进史

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

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

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

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

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

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

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

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

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

技术干货 | 轻松两步完成向 mPaaS 小程序传递启动参数

简介: 以传递 name 和 pwd 参数为例,分别介绍此场景在 Android 小程序和 iOS 小程序中的实现过程。 前言 在部分场景下,需要向小程序的默认接收页(pages/index/index)传递参数。 本文将以传递 name 和 pwd 参数为例&…

腾讯安全发布安全托管服务MSS,推动网络安全建设向服务驱动转变

近年来,随着黑产组织逐渐规模化、产业化,网络攻击态势愈发严峻;同时,由于DevOps、云原生等新技术的落地,以及IT架构的变化,企业研发和运营的模型随之改变,风险应对策略也越发复杂,越…

深入解读:获得 2021 Forrester 全球云数仓卓越表现者的阿里云数据仓库

简介: 阿里云在最新发布的 The Forrester Wave™: Cloud Data Warehouse, Q1 2021 全球云数据仓库技术评比中进入卓越表现者象限,成为国内唯一入选厂商。本文针对 Forrester 的报告,结合阿里云的以 MaxCompute 为核心的云数仓产品&#xff0c…

Azkaban业务流程如何转化为DataWorks业务流程

简介: 用户在迁移上云的时候,需要将云下的的Azkaban任务迁移上云,之前通过用户在DataWroks一步步创建对应的业务流程,其转化难度和转化时间都是一定的成本和时间,但如何能做到省时省力的方式迁移,为此本文提供了使用迁…

深度 | 数据湖分析算力隔离技术剖析

简介: 随着越来越多的企业开始做数据湖分析,数据量的持续增加,数据分析需求也会越来越多,在一个共享的数据湖分析引擎,如何防止多租户之间的查询相互影响是一个很通用的问题,本文以阿里云DLA Presto为例&am…

mfc链表中的数据如何排序输出_java程序员面试中最容易被问到的18个算法题(附答案!)...

算法是比较复杂又基础的学科,每个学编程的人都会学习大量的算法。而根据统计,以下这18个问题是面试中最容易遇到的,本文给出了一些基本答案,供算法方向工程师或对此感兴趣的程序员参考。1)请简单解释算法是什么&#x…