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

  • A+
所属分类:颓废's Blog
摘要

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

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


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


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


打开我们的DVWA:

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


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

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


然后打开我们的SQL注入:

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

大功告成!

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


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

发表评论

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