Mutillidae SQL注入漏洞“注入工具:SQLMAP“

Admin 2020-04-29 484人围观 ,发现0个评论 Mutillidae SQL注入漏洞SQLMAP注入工具

SQLMAP是一款专业的针对SQL注入漏洞的工具。软件可以自动化,比手工简单多了。

 

SQLMAP漏洞检测技术:

1、基于布尔的盲注检测:' and 1=1 'and 1=2等

2、基于时间的盲注检测:' and (select * from (select(sleep(20)))a) --

3、基于错误的盲注检测:比如输入单引号报错

4、基于联合查询的检测:取决于开发者是否使用循环语句,如果使用,才可以查出多条信息

5、基于堆叠查询的检测:分号分隔SQL语句

 

SQLMAP支持几乎所有主流数据库,例如:支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP MaxDB,Informix,HSQLDB和H2数据库管理系统,但不包括NoSQL  。  

 

此演示示例不首先使用DVWA,因为登录DVWA需要身份验证。 特定身份认证方法将在后面描述。  

 

使用Metaploitable2的Mutillidae:

 

首先,要处理数据库问题,这是Mutillidar数据库的问题:

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第1张

 

找到$dbname变量,更改一下就可以了:

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第2张

 

http://192.168.232.129/mutillidae/index.php?page=user-info.php&username=1&password=2&user-info-php-submit-button=View+Account+Details

使用SQLMAP对上面这个网址进行检测

命令:

sqlmap -u "http://192.168.232.129/mutillidae/index.php?page=user-info.php&username=1&password=2&user-info-php-submit-button=View+Account+Details" -p username -f

解析:-u输入猜测存在注入的URL,-p猜测存在注入的参数,-f使用指纹信息

结果如下:

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第3张

 

基于错误,基于时间,基于联合查询判断出存在注入而且数据库为MySQL

指纹信息如下:

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第4张

得知目标系统的语言和Web服务器,数据库版本等关键信息。

 

这条命令最后的参数其实可以不用-f,我们可以使用其他的参数:

比如--users:查询目标数据库账号

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第5张

 

比如--banner:获取banner信息,其实和上面结果差不多

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第6张

 

再比如--dbs:目标数据库中有哪些库

这里查到7个库

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第7张

 

还有--schema:查看元数据库

数据过多,我这里只展示其中一部分的数据库

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第8张

 

最后一个参数-a:查看所有信息

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第9张

 

没有结束,sqlmap接下来提示我们发现了哈希值,是否需要继续破解下去

我选择是,它会将哈希值存入一个本地文件中,并且允许sqlmap进行进一步的破解

使用默认字典,不适用密码前缀

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第10张

 

由于我们使用的是-a参数,最终破解出了所有的数据库信息和带有哈希的密文。

 

我们可以用sqlmap作为客户端直接连接目标数据库:

执行命令:

sqlmap -d "mysql://root:@192.168.232.129:3306/dvwa" -f --users

结果很快就可以出来,其他参数和上边提到的一样,都可以做到相关的操作,但是速度要比上面快得多

 

注入多个URL:

执行命令:

sqlmap -m list.txt --users

将多个URL存入list.txt,然后注入,后边的参数很前面提到的一样

 

以上的方式都是采用GET方式提交的URL,如果是采用POST方式提交的URL呢?

这里就需要结合Burpsuite工具了

找一个需要POST方法提交表单的注入URL:

http://192.168.232.129/mutillidae/index.php?page=login.php

使用Burp截获HTTP请求:

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第11张

存入一个文本post.txt

 

然后就可以执行了:

命令:后边的参数还是可选的那些

sqlmap -r post.txt --users

 

第二种方式:

使用Burp的log文件:

首先我们到Burp的设置中配置Log:

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第12张

 

然后使用命令:

sqlmap -l log.txt -p username

后面参数还是类似的,就可以对日志中的requests信息进行检测了

 

基于HTTPS的检测:

其实很简单,只需要加一个参数--force-ssl

 

扫描配置文件:

sqlmap -c config.txt

由于配置文件的参数过多,所以具体的使用方法就不多说了。

可以来看看sqlmap的默认的配置文件:

查询位置,然后进入/etc/sqlmap/sqlmap.conf查看

Mutillidae SQL注入漏洞“注入工具:SQLMAP“ Web教程 第13张

 

后边内容就是围绕这个配置文件中的其他参数进行讲解,暂时就不多说了。


请发表您的评论
请关注微信公众号
微信二维码
不容错过
Powered By 蚁人博客