可以自动检测和利用SQL注入漏洞并接管数据库服务器。
它配备了强大的检测引擎,针对终极渗透测试人员的众多特性,以及从数据库指纹识别,从数据库获取数据,到访问底层文件系统以及在操作系统上通过out-带外连接。
主要功能是扫描,发现并利用给定的URL的SQL注入漏洞
MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP MaxDB,HSQLDB和Informix
数据库管理系统。交互式命令提示符,Meterpreter会话或图形用户界面(VNC)会话
,可以根据用户的选择进行选择。通过
Metasploit
的Meterpreter
命令支持数据库进程 用户权限升级getsystem
。
1.根据url 判断数据库
2.根据数据库 判断数据库名(根据权限限制 ,可省略)
3.根据数据库名 判断数据表
4.根据数据表 判断数据表键值
5.根据数据表键值 猜出数据内容 转存数据表键值
6.按加密规则,反向 破解密码
当然如果此网站 确定存在注入漏洞 ,而且你也知道数据库表名,键值
直接最后一步就可以了, 或者使用其他工具直接破解
-
单项的后接具体值,代表指定
--
为未指定,待猜测,或待破解
sqlmap -u "http://localhost/?id=1"
--dbs –current-db –current-user
选项简介 :
1、–current-user:获取当前用户
2、–current-db : 获取当前数据库
3、-u : 指定目标URL
4、-b : 获取DBMS(数据库管理系统) banner
5、–cookie : 设置我们的cookie值“将security
安全等级从high设置为low”
可加
–cookie = "MUID=3F169DAF1EFE6D6302CA97681AFE6BE2”
6、–dbs : 枚举DBMS中的数据库
键入 y
, 确定跳过 其他 DBMS 测试(已经确定是 access数据库
下)
对于其余的测试,是否要包含所有针对“Microsoft Access”扩展提供级别(1)和风险(1)值的测试?
未确定时,键入y
id
存在漏洞 , 问你是否继续测试其他漏洞?
为了节省时间 , 键入n
得到操作系统
Windows 2003 or XP
web服务器 为IIS 6.0
数据库为Access
然而 没有 用户名 和 库名
sqlmap -u "http://localhost/?id=1"
–- tables
不能猜解数据库表名,问 是否使用已存在常用的 的
公共表名
猜测
键入 ‘y’
问你要选择哪个文件?(这就需要运气了,判断里面是否有所匹配的)
直接 默认,键入回车
后会要求你键入 共同运行的匹配规则的 线程数 ,自己看情况考虑选取(1~10)
会列出匹配到的表 , 以上只展示 了一个
admin
, 几乎就差不多了….
运行
sqlmap -u "http://localhost/?id=1"
–T admin --columns
选项简介
1、 -T 表名 : 要枚举的DBMS数据库表
2、–columns : 枚举DBMS数据库表中的所有列
出现错误 , 仍无法得到表中键值
问是否需要
公共键值
猜测
键入y
后面与之前相同仍需要 选择文件 ,选择线程数目 .
已经猜测出大概…
sqlmap -u "http://localhost/?id=1"
–T admin -C loginname,username,password --dump
选项简介
1、-T 表名: 要枚举的DBMS数据表
2、-C 键值名: 要枚举的DBMS数据表中的列
3、–dump : 转储DBMS数据表项
若需要解密的会提醒,后面会存到文件里,终端也会显示……