• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mysql注入中的outfile、dumpfile、load_file函数详解

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

    我们本次的测试数据如下

    读写文件函数调用的限制

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

    翻译一下就是

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

    dumpfile与outfile的区别

    导出数据库场景下的差异

    select …… into outfile

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

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

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

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

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

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

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

    其中 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'

    得到的导出文件如下

    select …… into dumpfile

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

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

    查看文件内容

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

    写入webshell或者udf下的差异

     select …… into outfile

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

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

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

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

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

    总结

    以上所述是小编给大家介绍的Mysql注入中的outfile、dumpfile、load_file函数详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • MySQL使用LOAD_FILE()函数方法总结
    上一篇:MYSQL的存储过程和函数简单写法
    下一篇:Mysql 常用的时间日期及转换函数小结
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mysql注入中的outfile、dumpfile、load_file函数详解 Mysql,注入,中的,outfile,dumpfile,