sqlmap,掃描網站資料庫並得到使用者名稱及密碼!
接著上篇文章,你已經對sqlmap有了瞭解。那麼我們今天就進一步瞭解sqlmap,使用sqlmap對一個網站解剖分析!
SqlMap的程式允許檢查網站的SQL注入漏洞,XSS漏洞的存在,並且可以還利用SQL注入。支援多種SQL注入型別和多種資料庫。
我們可以使用sqlmap檢查網站中是否存在漏洞。
如果該站點容易受到SQL注入的攻擊,則駭客可以進行以下攻擊:
- 從資料庫接收資訊,包括轉儲(整個)資料庫
- 修改和刪除資料庫中的資訊
- 在Web伺服器上生成外殼(後門)
- 從資料庫獲取使用者名稱和密碼
- 搜尋管理儀表板(管理頁面)
- 使用登入名和密碼登入到管理區域
- 資料修改
- JavaScript程式碼注入以檢索使用者資料
作為網路安全員,我們是利用工具去檢查網站是否有漏洞,如果有,則將漏洞提交給技術部或者我們自己修復解決!這裡絕不是讓你學完技術去瞎搞!
使用sqlmap檢查網站
如果站點使用GET方法從使用者那裡接收資料(當變數名和正在傳輸的資料都在瀏覽器的位址列中可見時),則需要選擇存在該變數的頁面的地址。它在問號(?)之後,我們選幾個網址。例如:
- http://www.域名/頁面.php?id=8
- http://www.域名/頁面.php?id=22
在第一個URL地址中,變數的名稱為id,傳遞的值為8。在第二個地址中,變數的名稱也為id,傳輸的值為22。
相同的變數名稱是針對不同站點的隨機匹配,可以是任何變數,可以傳輸任何資料,可以有多個變數,其值用&符號分隔。
如果我們要檢查變數id是否容易受到SQL注入攻擊,那麼我們需要完全輸入地址 http://www.域名/頁面.php?id=8(而不是http:// www.域名/頁面.php或http://www.域名)。
測試通過GET方法傳遞的變數的命令非常簡單:
python sqlmap.py -u URL
這時候要注意一些問題:我們需要在sqlmap-dev目錄下執行命令。另外,在上圖中,我用紅色框標記出來的地方,詢問你yes還是no時,我們輸入y或n大小寫不區分,都可以。主要注意的是,有時候大寫的是Y,有時候大寫的是N 。大寫字母表示預設選擇,如果你同意,則只需按回車。
在掃描中我們發現,這個網站是可以注入sql的。
我們也可以使用一個引數 --batch,這個引數可以省去sqlmap詢問,直接選擇預設項。
python sqlmap.py -u URL --batch
sqlmap掃描時可能出現的問題
與目標地址連線超時,這也就意味著該網站不想與sqlmap進行“對話”。
作為一種選擇,我們可以使用–random-agent。如果在瀏覽器中你可以觀察到該站點,並且sqlmap記錄了無法連線的資訊,則該站點將忽略請求,並由使用者代理指導。–random-agent選項將sqlmap的標準值更改為任意值:
python sqlmap.py -u URL --random-agent
發生此錯誤的另一個原因可能是網站阻止了你的IP,然後你可以使用代理。如果你已經在使用代理,並且發生此錯誤,則可能意味著代理存在連線問題,應嘗試在沒有代理的情況下進行連線。
sqlmap掃描結果
劃重點,injectable!!!易受攻擊。
由於一些網路安全原因,這裡不能再繼續檢視網站的資料庫資訊及密碼,下面我只給出教程,就不再做對網站掃描的步驟了
使用sqlmap獲取資料庫列表
python sqlmap.py -u URL --dbs
從資料庫獲取資訊
python sqlmap.py -u URL --random-agent -D main_域名 --tables
我想獲取 main_域名 資料庫中的表列表。為此,我們可以使用 --tables 選項。除此之外,我們需要在 -D 選項之後指定我們感興趣的表:
python sqlmap.py -u URL --random-agent -D main_域名 --tables
如果要列印全部內容,可以使用 --dump 選項。可以與資料庫一起指定它,然後整個資料庫將被轉儲,或者你可以將資料限制為一個表甚至一列。接下來,檢視整個使用者表的內容:
python sqlmap.py -u URL --random-agent -D main_域名 -T users --dump
因為網站管理員不可能簡簡單單的直接將密碼存起來,而是轉化為雜湊,讓入侵者無法識別。
但在聰明的駭客那裡,雜湊也將很容易的被破解!
注:知識永遠只是知識,我們學習黑客技術,希望能為網路安全做一些貢獻。不要拿著一些技術去做一些不該做的事。技術本無罪,用到正確的地方才能發揮到極致!
歡迎關注筆者公眾號【Honker】