字符型注入、数字型注入、搜索型注入

字符型注入

源码

26行通过GET方式获取参数,参数未进行任何过滤。28行SQL查询语句对传入的参数使用单引号进行闭合。

首先判断注入类型

发现输入一个单引号报语法错误,说明可能存在注入点。使用  ' or 1=1 #(返回正常页面)和 ' or 1=2 #(返回错误页面)判断是单引号闭合,字符型注入。

 

判断字段数

发现3个字段会报错,2个字段回显正常,说明字段数为2

 

判断显示位

获取库名

@@datadir:显示路径

database():库名

获取表名

获取列名

获取数据

数字型注入

源码

代码第26行使用POST方式获取参数,27行SQL语句传入参数,可以看到参数未进行任何过滤。$id未使用闭合条件,说明传入的不是字符串而是数字。

判断注入类型

正常查询

抓包修改参数,因为是POST方式,无法直接在url中修改参数。

判断字段数

3个字段报错,2个字段回显正常,说明字段数为2

判断显示位

获取库名

获取表名

获取列名

获取数据

搜索型注入

源码

GET方式获取参数,未进行过滤,30行 '%$name%' 使用通配符%进行模糊查询

这里可以使用单引号进行闭合,和代码中的第一个单引号进行闭合,只保留了$name前面的通配符%,后面的注释掉就好了

判断注入类型

' and 1=1 # 字符型注入

判断字段数

4个字段会报错

3个字段显示正常,说明字段数为3

判断显示位

获取库名

获取表名

获取列名

获取数据

posted @ 2020-12-17 21:21  温水煮呱呱。  阅读(381)  评论(0编辑  收藏  举报