waf绕过(上)

在这里插入图片描述

WAF检测机制其实很简单,核心就是正则匹配,(就是你们学过的正则匹配),虽然说还有字符串强行匹配,还有什么语义解析,但是实际上还是正则居多。

在这里插入图片描述
在这里插入图片描述

我们先来安装一个waf,这里我用的是安全狗。
在这里插入图片描述
在安装waf的时候,一定要把容器的运行模式(这里我用的是phpstudy)调成系统服务
在这里插入图片描述
拼接mysql语句,成功拦截
通过正则匹配,如果符合规则,就拦截。and 1=1拦截

在这里插入图片描述
我们这个进行XSS,被狗拦截
在这里插入图片描述
但是在传参前面加个合法的txt文件就绕过了,不过这只适合低版本的狗。
在这里插入图片描述
我们的sql语句必须要连起才会被生效,比如 and 1=1 会被拦截,而单独的and 是不会拦截的。
在这里插入图片描述
在这里插入图片描述

数据库可以识别这个&为 and 的意思
在这里插入图片描述
但是在url栏里就失效了。
在这里插入图片描述
所以我们要去编码一下。把&变成url编码
在这里插入图片描述
现在就正常了
在这里插入图片描述
还有一些更骚的操作
2-1
在这里插入图片描述
1*2也是正常
在这里插入图片描述
也可以用16进制表示1
在这里插入图片描述

这里提醒一点,绕waf的时候,不要想着用编码绕过,因为可能他不会给你解码。

在这里要讲一个东西叫做内联注释。

内联注释是MySQL为了保持与其他数据兼容,将MySQL中特有的语句放在/!../中,
这些语句在不兼容的数据库中不执行,而在MySQL自身却能识别,执行。
/
!50001*/表示数据库版本>=5.00.01时中间的语句才能被执行
在这里插入图片描述
在这里插入图片描述
那么我们现在来测试哪个版本可以绕过,但是又可以运行的的版本。
在这里插入图片描述
拿来爆破一下,看哪个版本可以绕过,但是又可以运行的的版本。
把这个5002换了就是了
在这里插入图片描述
在这里插入图片描述
我们测试到10044可以正常运行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

?id=1 union  /*!10044select*/ 1,password,3 -- qwe/*%0afrom admin limit 0,1%23*/
10044select 内联注释
%0a 换行
%23 注释
ps:-- qwe和%23都只能单行注释 

这条语句也可以

在这里插入图片描述

可以理解为注释+换行来实现绕狗

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Apache
同时传入2个参数,她会以后面个参数为准。
在这里插入图片描述
waf会认为有注释,而不去拦截,但是里面的参数又会被网站执行。
在这里插入图片描述
用上面的语句,执行成功!!!!!!
在这里插入图片描述
在这里插入图片描述
正常多的数据被拦截了,那么我们就多弄点数据,看会不会别拦截
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值