mysql几种读取文件方法的使用

mysql数据库在渗透过程中能够使用的功能还是比较多的,除了读取数据之外,还可以进行对文件进行读写(但前提是权限足够)

 

总结下mysql在不同版本读取文件方法大致有这3个:

1.load_file()
2.load data infile()

3.system cat

 

load_file()和load data infile读取文件的方法为:新建一个表,读取文件为字符串形式插入表中,然后读出表中数据。

但是通常情况下有两个前提:

1.在拥有file权限的前提下

2.secure_file_priv不为NULL

secure_file_priv的值可以在这样查看

 

在mysql 5.6.34版本以后 secure_file_priv的值默认为NULL。可以通过以下方式修改

windows下:

修改mysql.ini 文件,在[mysqld] 下添加条目: secure_file_priv =

保存,重启mysql。

Linux下:

在/etc/my.cnf的[mysqld]下面添加local-infile=0选项。

 

1.load_file()

首先我在/tmp目录下创建一个文档

运行mysql

sql命令如下:

1 create table user(cmd text);
2 insert into user(cmd) values (load_file('/tmp/1.txt'));
3 select * from user;

 

 

2.load data infile


其实load data infile和load_file()用法上没有什么区别,只是在注入过程中,往往会过滤掉load_file()这个函数,但是仍然有load data infile可以使用。

1 load data infile '/tmp/1.txt' into table user;

 

3.system cat


在mysql版本为5.x时,除了可以使用上两种方法外,还可以使用系统命令直接读取文件

 

 注意: 

1.此方法只能在本地读取,远程连接mysql时无法使用system。

2. 无法越权读取。

 

 

 

 

 

 

转载于:https://www.cnblogs.com/c1e4r/articles/8618692.html

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值