從SQL注入到getshell

2022-07-05 20:24:12 字數 2223 閱讀 9305

mysql資料庫getshell條件是很苛刻的,必須滿足以下幾個條件:

1、必須知道**的絕對路徑

2、要有file許可權,預設情況下只有root有,也就是dba為true

3、php的魔術引號(magic_quotes_gpc)沒有開啟

4、mysql的secure_file_priv變數的值為空(empty)

可以通過報錯、phpinfo介面、404介面等一些方式知道

也可以通過@@basedir(指定了安裝 mysql 的安裝路徑)、@@datadir(指定了 mysql 的資料庫檔案放在什麼路徑下)來推測出絕對路徑

但最好還是使它報錯得出絕對路徑,這樣的話比較準確點

可以通過sqlmap工具的--is-dba選項來查詢,必須dba:true

magic_quotes_gpc函式在php中的作用是判斷解析使用者提示的資料,如包括有:post、get、cookie過來的資料增加轉義字元「\」,以確保這些資料不會引起程式,特別是資料庫語句因為特殊字元引起的汙染而出現致命的錯誤。

magic_quotes_gpc = on的情況下,如果輸入的資料有單引號(』)、雙引號(」)、反斜線(\)與 null(null 字元)等字元都會被加上反斜線。

可以通過測試特殊字元是否被轉義,phpinfo頁面等一些方式來知道

如果是php 5.4.45版本以上的話可以不用考慮這個,因為早就移除了,壓根找不到

secure-file-priv引數是用來限制load data,select ... outfile,and load_file()傳到哪個指定目錄的。

如果是mysql5.5.53版本以下的話可以不用考慮這個,因為預設都是空。

如果是mysql5.5.53版本以上的(包括5.5.53),此變數預設為null。

因為我這個mysql5.7.11版本預設為null,所以我需要修改下

order by 4頁面正常

order by 5頁面異常,猜測這裡有4個字段

構成payload

訪問

輸出phpinfo介面,?6=phpinfo();

中國蟻劍連線,成功getshell

宣告:請勿用作違法用途,請在授權情況下使用

從SQL注入到內網漫遊

在一次滲透實戰中,發現了乙個注入點,最後成功的漫遊了內網。在滲透中遇到乙個站點,順手測試了一下,在搜尋框隨便輸入了乙個字元加個單引號直接報錯了,差不多可以確認這裡存在注入了。一般這種站安全性極差,測試了下其他地方,在乙個登入框處又發現乙個注入。直接丟到sqlmap裡面跑就行了。這裡就不重新跑了,貼s...

DVWA之從SQL注入到寫入webshell

這篇文章談論簡單的技術,利用sql注入 sqli 漏洞,並獲得乙個webshell,所有的演示都是用dvwa 滲透測試演練系統 對於sql注入利用,有以下幾個基本步驟 1,發現sql注入點 2,通過mysql資料庫幫助,進一步進行注入,獲取帳號密碼等敏感資訊 3,上傳webshell,獲得乙個反向連...

從SQL注入到進入伺服器

攻擊機ip 192.168.1.3 靶機ip 192.168.1.6 首先,我們使用dirb命令和nmap進行掃瞄發現了以該ip為url的 仔細搜尋該頁面發現個admin欄,點選發現了乙個登陸頁面 然後我們使用owasp zap掃瞄器掃瞄該 那麼我們開始掃瞄這個 吧!發現如下漏洞 既然存在sql注入...