1. 程式人生 > 資料庫 >SQL注入(Get)

SQL注入(Get)

SQL注入

當Web應用向後臺數據庫傳遞SQL語句進行資料庫操作時。如果對使用者輸入的引數沒有經過嚴格的過濾處理,那麼攻擊者就可以構造特殊的SQL語句,直接輸入資料庫引擎執行,獲取或修改資料庫中的資料。

實驗環境

攻擊者:Kali Linux(192.168.100.146)
靶機:VMware workstations Pro——Debian 6(32-bit)(192.168.100.132)
注意:當前靶機中並沒有flag值,需要通過靶機上面的SQL注入漏洞獲取資料庫中的內容,登陸網站後臺,利用網站web漏洞getshell

實驗流程

  1. 實驗環境匯入
    利用VMware workstations將iso檔案作為映象檔案進行安裝即可,將攻擊機和靶機全部設定成NAT網絡卡。
  2. 啟動靶機,資訊探測。
    檢測與靶機的網路連通性
    命令:ping -c4 192.168.100.132
    在這裡插入圖片描述
    埠掃描,服務探測
    命令:nmap -sV 192.168.100.132
    在這裡插入圖片描述
  3. web漏洞掃描
    工具:owasp-zap(kali中的整合工具)
    設定好目標http://192.168.100.132,點選攻擊即開始自動掃描
    在這裡插入圖片描述
    該web漏洞掃描器首先會對網站內容進行爬取,其次利用規則進行主動掃描,最後將掃描結果進行整理顯示。
    在這裡插入圖片描述
    根據掃描結果發現該網站中存在一個GET型別的SQL注入漏洞可以利用
    在這裡插入圖片描述
  4. 自動注入
    工具:sqlmap
    a) 獲取MySQL中的資料庫
    命令:sqlmap -u http://192.168.100.132/cat.php?id=1 --dbs
    在這裡插入圖片描述
    其中information_schema是資料庫中MySQL中預設存在的資料庫,photoblog疑似網站使用的後臺資料庫。
    b) 獲取資料庫中的資料表
    命令:sqlmap -u http://192.168.100.132/cat.php?id=1 -D photoblog --tables
    在這裡插入圖片描述
    Users表中可能儲存了網站後臺使用者的使用者名稱和登入密碼
    c) 獲取資料表中的欄位
    命令:sqlmap -u http://192.168.100.132/cat.php?id=1 -D photoblog -T users --columns
    在這裡插入圖片描述
    嘗試獲取login以及password兩個欄位中的內容
    d) 獲取資料庫中的內容
    在這裡插入圖片描述
    獲取到的密碼是經過hash加密後的密碼,sqlmap會自動使用預設的字典進行爆破攻擊,經過破解得到網站後臺登入使用者名稱為admin,密碼為P4ssw0rd
  5. 登入網站後臺,尋找後臺漏洞
    獲取網站後臺登入地址
    在這裡插入圖片描述
    通過目錄掃描,其中http://192.168.100.132/admin疑似網站後臺登入地址。
    在這裡插入圖片描述
    登入成功
    在這裡插入圖片描述
    網站中存在檔案上傳功能,嘗試探測是否存在檔案上傳漏洞;利用msfvenom生成PHP型別的木馬,嘗試上傳。
    在這裡插入圖片描述
    上傳PHP指令碼
    在這裡插入圖片描述
    提示不允許上傳PHP型別的檔案
    在這裡插入圖片描述
    嘗試進行繞過,首先判斷檔案上傳是前端防禦還是後端防禦;如果是前端的js程式碼防禦,就不會像伺服器發出請求,否則就是後端的程式碼防禦。通過瀏覽器的網路功能即可檢視是否有請求發出。
    在這裡插入圖片描述
    通過判斷是後端防禦,後端防禦的形式非常多,不同的防禦方式對應不同的繞過方式,因為沒有拿到網站後臺的原始碼,所以只能依次進行嘗試。首先嚐試進行字尾名大小寫繞過。
    在這裡插入圖片描述
    嘗試上傳
    在這裡插入圖片描述
    上傳成功
    在這裡插入圖片描述
    使用msfconsole監聽埠
    在這裡插入圖片描述在這裡插入圖片描述
    訪問上傳的木馬,反彈shell
    在這裡插入圖片描述在這裡插入圖片描述
    獲取許可權
    在這裡插入圖片描述