iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mysql注入中outfile、dumpfile、load_file函数的示例分析
  • 212
分享到

Mysql注入中outfile、dumpfile、load_file函数的示例分析

2024-04-02 19:04:59 212人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关Mysql注入中outfile、dumpfile、load_file函数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所

这篇文章将为大家详细讲解有关Mysql注入中outfile、dumpfile、load_file函数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在利用sql注入漏洞后期,最常用的就是通过mysql的file系列函数来进行读取敏感文件或者写入WEBshell,其中比较常用的函数有以下三个

  • into dumpfile()

  • into outfile()

  • load_file()

我们本次的测试数据如下

Mysql注入中outfile、dumpfile、load_file函数的示例分析

读写文件函数调用的限制

因为涉及到在服务器上写入文件,所以上述函数能否成功执行受到参数 secure_file_priv 的影响。官方文档中的描述如下

Mysql注入中outfile、dumpfile、load_file函数的示例分析

翻译一下就是

  • 其中当参数 secure_file_priv 为空时,对导入导出无限制

  • 当值为一个指定的目录时,只能向指定的目录导入导出

  • 当值被设置为NULL时,禁止导入导出功能

这个值可以通过命令 select @@secure_file_priv 查询。由于这个参数不能动态更改,只能在mysql的配置文件中进行修改,然后重启生效。

dumpfile与outfile的区别

导出数据库场景下的差异

select …… into outfile

我们先来看一下mysql官方文档里对于这两个函数的解释

Mysql注入中outfile、dumpfile、load_file函数的示例分析

Mysql注入中outfile、dumpfile、load_file函数的示例分析

其中有两个值得注意的坑点

outfile函数可以导出多行,而dumpfile只能导出一行数据
outfile函数在将数据写到文件里时有特殊的格式转换,而dumpfile则保持原数据格式

我们接下来通过导出测试看看这里面的细节

首先通过命令 select * from test into outfile '/tmp/test.txt' 来使用outfile导出

可以看到文件 /tmp/test.txt 文件中保存了所有的数据并且在一行数据的末尾自动换行

Mysql注入中outfile、dumpfile、load_file函数的示例分析

通过查看官方文档,可以看出使用如下参数可以进行格式调整

Mysql注入中outfile、dumpfile、load_file函数的示例分析

其中 FIELDS ESCAPED BY 可以用来对指定的字符进行转义, FIELDS [OPTioNALLY] ENCLOSED BY 用来对字段值进行包裹, FIELDS TERMINATED BY 用来对字段值之间进行分割

例如使用如下命令 select * from test into outfile '/tmp/test.txt FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ' " 'LINES TERMINATED BY '\n'

得到的导出文件如下

Mysql注入中outfile、dumpfile、load_file函数的示例分析

select …… into dumpfile

而接着使用命令 select * from test into dumpfile '/tmp/test.txt' 使用dumpfile进行导出

可以看到此命令在执行的时候提示输出超过一行

Mysql注入中outfile、dumpfile、load_file函数的示例分析

查看文件内容

Mysql注入中outfile、dumpfile、load_file函数的示例分析

可以看见通过dumpfile导出的数据行数据之间并未进行换行且只导出了部分数据

写入webshell或者udf下的差异

 select …… into outfile

我们使用命令 select 'a\naa\raaaa' into outfile '/tmp/test.txt' 来看一下在常用的写文件场景下的结果

Mysql注入中outfile、dumpfile、load_file函数的示例分析

可以看到outfile对导出内容中的\n等特殊字符进行了转义,并且在文件内容的末尾增加了一个新行

我们接着使用命令 select 'a\naa\raaaa' into dumpfile '/tmp/test.txt' 来看一下

Mysql注入中outfile、dumpfile、load_file函数的示例分析

可以看到dumpfile对文件内容是原意写入,未做任何转移和增加。这也就是为什么 我们在平常的UDF提权中使用dumpfile进行dll文件 写入的原因

还有一个需要关注的点就是:outfile后面不能接0x开头或者char转换以后的路径,只能是单引号路径。这个问题在PHP注入中更加麻烦,因为会自动将单引号转义成\',那么基本就GG了,但是load_file,后面的路径可以是单引号、0x、char转换的字符,但是路径中的斜杠是/而不是\

关于“Mysql注入中outfile、dumpfile、load_file函数的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: Mysql注入中outfile、dumpfile、load_file函数的示例分析

本文链接: https://www.lsjlt.com/news/57544.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql注入中outfile、dumpfile、load_file函数的示例分析
    这篇文章将为大家详细讲解有关Mysql注入中outfile、dumpfile、load_file函数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所...
    99+
    2024-04-02
  • mysql中dumpfile与outfile函数的区别是什么
    这篇文章将为大家详细讲解有关mysql中dumpfile与outfile函数的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。&...
    99+
    2024-04-02
  • mysql中select into outfile问题的示例分析
    这篇文章将为大家详细讲解有关mysql中select into outfile问题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。01 背景s...
    99+
    2024-04-02
  • mysql中max与where的示例分析
    这篇文章主要介绍mysql中max与where的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql max 与 where 间的执行问题执行sql:...
    99+
    2024-04-02
  • php中array_reverse()函数的使用示例
    这篇文章主要介绍php中array_reverse()函数的使用示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主...
    99+
    2023-06-14
  • MySQL中where查询的案例分析
    这篇文章将为大家详细讲解有关MySQL中where查询的案例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。不能说不行今天加班,业务的妹子过来找我们查数据,说...
    99+
    2024-04-02
  • mysql中max与where间执行问题的示例分析
    这篇文章主要介绍mysql中max与where间执行问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql max 与 where 间的执行问题执...
    99+
    2024-04-02
  • mysql函数的示例分析
    这篇文章将为大家详细讲解有关mysql函数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一.内置函数1.数学函数rand()round(num)ceil(num...
    99+
    2024-04-02
  • 数据库中sql注入的示例分析
    这篇文章将为大家详细讲解有关数据库中sql注入的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先可能大家都会问什么是sqlSql是数据库的一种类型,是用来存储网...
    99+
    2024-04-02
  • 在mysql中宽字节注入的示例分析
    这篇文章将为大家详细讲解有关在mysql中宽字节注入的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言在mysql中,用于转义的函数有addslashes,mysql_real_escape_s...
    99+
    2023-06-17
  • MySQL中存储函数的示例分析
    这篇文章将为大家详细讲解有关MySQL中存储函数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。存储函数什么是存储函数: 封装一段sql代码,完成一种特定的功能,...
    99+
    2024-04-02
  • Angular中依赖注入的示例分析
    这篇文章主要介绍Angular中依赖注入的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!依赖注入:设计模式依赖:程序里需要的某种类型的对象。依赖注入框架:工程化的框架注入器Injector:用它的API创建依...
    99+
    2023-06-06
  • Vue中依赖注入的示例分析
    这篇文章主要介绍了Vue中依赖注入的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简单粗暴型:<el-select ...
    99+
    2024-04-02
  • Linux中可重入函数与不可重入函数的示例分析
    这篇文章主要为大家展示了“Linux中可重入函数与不可重入函数的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中可重入函数与不可重入函数的示例分析”这篇文章吧。Linux 中可...
    99+
    2023-06-09
  • 数据库之SQL注入的示例分析
    小编给大家分享一下数据库之SQL注入的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、产生SQL注入原因开发代码的时候没有全面考虑到网络安全性,特别是在...
    99+
    2023-06-20
  • SQL Server中WAITFOR DELAY注入的示例分析
    这篇文章主要为大家展示了“SQL Server中WAITFOR DELAY注入的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL Server中WAITFOR DELAY注入的示例分...
    99+
    2023-06-04
  • MySQL中存储函数、触发器的示例分析
    这篇文章主要介绍了MySQL中存储函数、触发器的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 创建函数: 1....
    99+
    2024-04-02
  • PHP中函数参数的示例分析
    小编给大家分享一下PHP中函数参数的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PHP 函数参数可以通过参数向函数传递...
    99+
    2024-04-02
  • mysql中入门语句的示例分析
    这篇文章主要为大家展示了“mysql中入门语句的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中入门语句的示例分析”这篇文章吧。Selec&#...
    99+
    2024-04-02
  • PHP中date()函数的示例分析
    这篇文章主要介绍PHP中date()函数的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在PHP的日常使用过程中,我们不可避免的需要使用到时间,PHP内置了date()函数,帮助我们解锁时间的方式,本文就带大...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作