sql injection
在MySQL注入中DNSlog外帶主要利用MySQL內置函數load_file()函數,load_file()不僅能讀取本地文件也能通過UNC的方式讀取遠程文件。
要求用户具有file权限 通常root 才有
當secure_file_priv為空,則表示沒有任何限制。
當secure_file_priv為指定目錄,則表示數據庫導入導出只能在指定目錄。
當secure_file_priv為null,則表示不允許導入導出(MySQL 5.7 默認值)
以上部分內容轉載自:
https://www.freebuf.com/articles/web/323674.html
要求用户具有file权限 通常root 才有
文件不能覆盖写入,所以文件必须为不存在
如果secure_file_priv非空,则写入文件的目录只能为对应目录下
我是想將這些內容 導出到 一個txt文件,事實上是可以完整導出每行記錄的.
這個很適合導庫
而into dump是不行的 它只能導出 一行數據!
若我們想把一個 可執行2進制 文件用into outfile函數導出
事實上 導出後 就會被破壞
因為into outfile 函數 會 在行末端寫入新行 更致命的 是會轉義 換行符
這樣的話這個2進制可執行 文件 就會被破壞
這時候我們用into dumpfile 就能導出 一個完整能執行的2進制 文件
into dumpfile 函數不對任何列或行進行終止,也不執行任何轉義處理
以上部分內容轉載自:
https://www.cnblogs.com/milantgh/p/5444398.html
這是window 橫向滲透,自己開啟一個共享資料夾(所有人可寫入),然後把資料帶到自己的資料夾。
需要用 responder 工具。基於錯誤的UNC PATH
我自己實測,我覺得成功率不高,
首先要設置,就不太可能
實測就算你開了 secure_file_priv='' 你也把一些檔案開了權限,你也查看了父目錄
你也查看了mysql的權限,有些目錄你就是讀寫不了,這個功能有點玄
mysql 是以 mysql 身份執行
当你在 Linux 系统上安装和配置 MySQL 服务时,它默认会以 mysql 用户的身份运行
有人說要關閉或調整,以下兩個,但我檢查,我根本沒設置,所以原因不明
AppArmor
SELinux
幸運一點可以寫入web目錄,不行就只能寫在系統的其他目錄,然後 file inlcusion
可讀