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. 無法越權讀取。

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM