SQL注入漏洞检测---Metasploit渗透测试魔鬼训练营

SQL注入指的是发生在Web应用对后台数据库查询语句处理存在的安全漏洞。攻击者通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。

一、首先,在Firefox输入10.10.10.129

进入定V公司的登录页面,输入“admin’”
在这里插入图片描述
出现错误:
在这里插入图片描述
此错误说明定V网站页面没有对输入字符串进行过滤。

将“admin ‘or’ 1’=’1”填入到Username输入框,然后单击Login按钮,即可进入系统
在这里插入图片描述

定V公司内部训练环境:
在这里插入图片描述

既然已经知道有注入漏洞了,接下来使用注入神器—Sqlmap。

sqlmap是由Python语言开发的,这使得它能够独立于底层操作系统,只需安装2.4版本之后的Python解释器即可。

在Metasploit中也集成了Sqlmap模块,在MSF终端环境下输入如下指令,就可以调用这个模块进行扫描:
在这里插入图片描述

二、接下来开始使用Sqlmap,对定V公司的SQL注入训练环境进行扫描和攻击。

进入BT5命令行终端,并进入/pentest/database/sqlmap目录,然后输入如下命令:
(帮助命令可以对相关命令进行查询)
在这里插入图片描述
使用Firefox浏览器以及它的一个著名插件Tamper Data,来查看Web应用在后台提交的数据,例如POST参数,Cookie值等。在SQL Injection页面中,首先随意输入测试数据,查看后台的数据提交参数,并把参数提交给Sqlmap:

在火狐浏览器中选择菜单栏中的Tools->Add-ons
在这里插入图片描述

将Tamper Data这个应用开启:
在这里插入图片描述
然后就可以使用这个插件了:
在这里插入图片描述

三、进入系统之后

步骤1: 进入DVWA security页面,将Security设置为low
在这里插入图片描述
点击“Damn Vulnerable Web Applocation”进入DVWA页面,设置Security为low:
在这里插入图片描述
步骤2: 进入sql injection页面,输入1,点击Submit:
在这里插入图片描述

步骤3: 利用firefox的tamper data插件,可以得到当前页面的Cookie
在这里插入图片描述

步骤4: 进入文件夹/pentest/database/sqlmap,输入命令:
在这里插入图片描述
注意:通过“python sqlmap.py -h”帮助命令可以看到-u的作用:
在这里插入图片描述

等待命令处理完可以看到如下界面。①首先Sqlmap探测出了URL中的id参数存在着SQL注入点,并包含了基于错误的Sql注入点,以及Union查询注入点(下图中Title看出)②还探测出后台数据库的版本是MySQL 5.0,Web应用平台为PHP 5.3.2/Apache 2.2.14
在这里插入图片描述
步骤5: 需要探测出MySQL中用来存放Web应用数据的数据库名称:
在这里插入图片描述
在这里插入图片描述
注意:①使用sqlmap的“–dbs”选项,就可以根据所识别的不同数据库管理平台类型,
来探测所包含的数据库名称。②除了发现MySQL默认的系统数据库information_schema之外,在结果中显示出了Web应用的数据库名称–dvwa。

步骤6: 使用下面的过程可查询得到dvwa数据库存在的表名
在这里插入图片描述
通过sqlmap获取到的表名:
在这里插入图片描述
得到表名之后,通过执行sqlmap命令,得到users表中的字段列表
在这里插入图片描述
通过sqlmap获取到的列名:
在这里插入图片描述
注意:指定数据库与表名之后,执行sqlmap命令行的–columns选项,就可以获取数据表的字段结构列表。其中password是很重要的一项。

步骤7: 通过sqlmap导出password列的内容:
在这里插入图片描述
使用sqlmap的–dump选项,可以轻而易举地拿到这个Web应用后台数据库的所用用户账户名和口令哈希,并将其保存为一个本地的CSV表格文件。这就是所谓的“拖库”,仔细查看password字段内容的形式,会发现仅仅通过简单的MD5哈希。
在这里插入图片描述

获取到密码的MD5值后,通过google这个MD5,就可以发现它的明文:
在这里插入图片描述
在这里插入图片描述

上述过程就完成了对这个Web应用的后台数据库的拖库,并可以破解出后台管理员的口令。
其实sqlmap还有一个功能,就是通过数据库注入一个交互的Shell,通过帮助进行查看:
在这里插入图片描述
可以通过–os-shell 得到Sqlmap提供的四种不同的shell(ASP、ASPX、PHP、JSP),还能通过–os-pwn命令与Metasploit交互,获得一个强大的Meterpreter Shell,Sqlmap与Metasploit的结合就在此处!

猜你喜欢

转载自blog.csdn.net/aaqian1/article/details/88935746