第1章:SQLMap环境搭建
说实话,我见过太多人一上来就急着用SQLMap去测试,结果环境没配好,跑出来的结果全是错的。我自己刚入行那会儿也犯过这毛病——在Windows上折腾了半天,最后发现连Python版本都不对。嗯,今天咱们就把环境搭建这件事彻底搞定。
1.1 Kali Linux环境准备
为什么我推荐用Kali Linux?说白了,它就是为渗透测试而生的系统。SQLMap、Burp Suite、Metasploit这些工具都预装好了,省去你一个个去配的麻烦。
核心要点:Kali Linux自带Python环境和SQLMap,但版本可能不是最新的。我个人习惯用最新版,因为有些新特性老版本没有。
如果你还没有Kali Linux,可以去官网下载ISO镜像。安装方式有两种:
- 虚拟机安装——用VMware或VirtualBox,适合学习和测试
- 物理机安装——直接装到硬盘上,性能更好,但日常使用不太方便
我记得有一次在客户现场做渗透测试,对方只给了我一台Windows笔记本。我当场装了个Kali的WSL版本,虽然功能受限,但SQLMap跑起来完全没问题。所以别被环境限制住,灵活一点。
1.2 Python环境配置
SQLMap是用Python写的,所以Python环境是必须的。Kali Linux默认装了Python 3,但版本可能比较老。我建议你检查一下:
# 检查Python版本
python3 --version
# 如果版本低于3.8,建议升级
sudo apt update
sudo apt install python3 python3-pip -y
小技巧:我习惯用python3而不是python命令,因为有些系统同时装了Python 2和Python 3,直接用python可能会调用错版本。你想想看,要是跑SQLMap时调用了Python 2,那报错信息能让你找半天原因。
另外,pip也要装好。虽然SQLMap不依赖太多第三方库,但有些扩展功能需要requests、urllib3这些包:
# 安装pip
sudo apt install python3-pip -y
# 验证pip
pip3 --version
1.3 SQLMap下载与安装
Kali Linux预装了SQLMap,但版本可能不是最新的。我个人建议从GitHub下载最新源码,因为SQLMap更新频繁,新版本会修复很多bug和添加新功能。
安装方式有三种:
| 方式 | 命令 | 适用场景 |
|---|---|---|
| apt安装 | sudo apt install sqlmap |
快速安装,版本可能较旧 |
| Git克隆 | git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git |
获取最新源码,推荐 |
| 直接下载zip | 从GitHub Releases页面下载 | 没有Git环境时使用 |
我推荐用Git克隆的方式:
# 克隆最新版SQLMap
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git
# 进入目录
cd sqlmap
# 查看版本
python3 sqlmap.py --version
注意:我曾经遇到过一个问题——从GitHub克隆时网络不稳定,导致文件下载不完整。后来我加了--depth 1参数,只克隆最新版本,速度快多了,而且不会因为历史提交太多而出错。
1.4 验证安装成功
装完之后,一定要验证一下。别等到真正测试时才发现有问题,那就尴尬了。
验证步骤很简单:
- 打开终端,进入SQLMap目录
- 运行
python3 sqlmap.py --version - 看到版本号输出,说明安装成功
如果一切正常,你会看到类似这样的输出:
___
__H__
___ ___[.]_____ ___ ___ {1.8.2#stable}
|_ -| . [,] | .'| . |
|___|_ ["]_|_|_|__,| _|
|_|V... |_| https://sqlmap.org
看到这个ASCII艺术字logo了吗?嗯,这就是SQLMap的标志。我第一次看到它时还挺兴奋的,感觉像拿到了一个神器。
避坑指南:如果运行时报错ModuleNotFoundError: No module named 'sqlmap',别慌。这通常是因为你不在SQLMap的目录下运行。记住,一定要在sqlmap/目录里执行命令,或者把SQLMap的路径加到环境变量里。
我个人习惯把SQLMap加到PATH里,这样在任何目录都能直接调用:
# 编辑bashrc
echo 'export PATH=$PATH:~/sqlmap' >> ~/.bashrc
source ~/.bashrc
# 现在可以直接运行
sqlmap --version
知识体系总览
下面这张图是我自己画的,把本章的核心内容串起来了。你一看就明白环境搭建的完整流程:
看到这张图你就明白了——Kali Linux是基础,Python是运行环境,SQLMap是核心工具。三个环节缺一不可。我见过有人跳过了Python环境检查,结果跑SQLMap时报了一堆错,最后发现是Python版本太旧。所以别偷懒,每一步都走一遍。
总结一下:环境搭建其实不难,但细节决定成败。Kali Linux选对版本,Python确认3.8以上,SQLMap用Git克隆最新版,最后验证一下。搞定这些,你就可以开始真正的SQL注入测试了。