基于DVWA中难度为Low的SQL注入

  • 内容
  • 相关

各位大表哥你们好,我是初来的free,在以后的日子里,我会不断发布一些渗透方面的文章,如果文章写的不好,可评论留言我,感谢各位支持~


首先,我们必须知道什么是DVWADVWA就是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。


这篇文章适合有一定代码基础的人看,在渗透测试的时候,我们是必须懂得那么些代码的,不然我们很难去理解他产生的原理,不过我尽量写仔细一点,面向大众~然后再次感谢各位的观看~


打开我们的DVWA:

DVWA登录界面.png


登录之后,我们来将难度设置为LOW(=^=):

DVWA难度设置.png


然后打开我们的SQL注入:

DVWA LOW注入1.png


来测试一下,是否存在sql注入:

sql单引号测试.png

在下图我们可以看到,祖传的and 1=1 and 1=2在这里没有效果,我们还有一个办法可测试

sqland11.pngsqland12.png


我们在这里输入了-1 可以看到没有返回任何信息,那么我们差不多可以判定这里是有sql注入的:



我们来猜解一下有多少表名:

sqlorder.png

(这里我们可以看到,输入1' order by 5-- a的时候报错了,所以字段在5个以下,那么,这里的order by 5是什么意思呢?在sql语句中order by是排序的意思,我们想想,如果表上只有3个字段,我们肯定无法排序4个对吧,还有这里的-- a是什么意思?这是注释的意思,就是要让后面的sql查询语句注释掉)。

当我输入1' order by 3-- a的时候,就没报错了,说明这里存在3个表,让我们在继续测试:

sql位置符.png

(这里的union select表示联合查询的意思。也就是说,我们不单单要查询id=1的那个数据,还要查询union select后面的数据~)

我们来查看一下这个数据库的用户名:

sql user.png

接着我们来猜解一下它是否存在users这个表:

sql表名.png

继续测试,现在我们尝试一下猜解出他的列:

拆解出表名.png

(当我们输入1' union select user,2,3 from users-- a的时候返回了数据,那么可说明,这个数据就是user列名下的数据)


我们继续测试一下,看看是否存在password这个列:

拆解出表名2.png


大功告成!

在下面的时间里,我会写出那么几篇sql注入的原理,本来想现在写的,可是已经2点多了,就不好意思了。


最后,再次感谢各位的观看!

本文标签:

版权声明:若无特殊注明,本文皆为《only_free》原创,转载请保留文章出处。

收录状态:[百度已收录] | [360已收录] | [搜狗已收录]

本文链接:基于DVWA中难度为Low的SQL注入 - https://www.0dayhack.com/post-815.html

严重声明:本站内容来自于互联网,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规,黑客不是骇客,黑客维护网络安全

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论

4条评论
  1. avatar

    xiaocheng Lv.1 Chrome 38.0.2125.102 Chrome 38.0.2125.102 Android 5.0.2 Android 5.0.2 回复

    文章很详细 比颓废那个屌丝用心

    广东省广州市 移动GSM/TD-SCDMA/LTE全省共用出口

    1. iamfree Lv.1 Firefox 59.0 Firefox 59.0 Windows Windows 回复

      回复了xiaocheng:谢谢 表情

      广东省汕头市 移动

  2. avatar

    iamfree Lv.1 Firefox 59.0 Firefox 59.0 Windows Windows 回复

    给自己点个赞~ 加油!!!

    广东省梅州市 电信

    1. darkangle Lv.1 Firefox 56.0 Firefox 56.0 Windows Windows 回复

      回复了iamfree:老哥能问句为啥在DVWA环境中必须要  --  注释掉后边才能正常判断,但是在有些网站中只需要直接ID=xx order by xx  就可以直接判断

      山东省东营市 电信