对护卫神防火墙的分析

上个礼拜很不给力,本来答应进行一个主题演讲的,后来只讲了burpsuite的一种用法。很对不起大家,这个礼拜的议题是绕过,虽然这次来的人比较少,不过会议还是得继续。分享依然是重要的….

这次我负责分析的是护卫神系统,怎么说,这玩意在关键字检测上确实很强大,检测规则可以自己添加,也可以按照官方下载的来。分析如下:

1、规则匹配

护卫神系统对三种提交参数的方式都进行了匹配,GET POST COOKIES。主要代码如下

GET方式匹配的数据有:

POST方式匹配的参数有:

cookie方式匹配的参数有:

这些,基本上涵盖了所有我知道的注入方式,可以说很完美。

实测发现,绕过的方式还是有的,可以通过程序对%00这个截断符的操作,来进行截断,假设,我们在传递参数的时候,护卫神在处理%00的数据时,截断,会是什么情况呢,应该是不会有后面的数据,因此,我们可以打破规则,进行处理。

测试如下:

先在mysql数据库里面测试:

返回结果,当然,如果在/**/里面加入感叹号,mysql会出不停的接收参数,所以不能用。我们用上面这句即可,php的版本合适的话 /*%00*/应该会作为参数进行传递进入数据据,而此时,护卫神系统已经无法识别规了。

当然,在测试的时候,本地搭建的环境有点问题,php没有成功加载mysql模块,一直无法测试实际的php处理是否正确,不过通过对fck上传的猜想,应该是成功利用的。

91ri.org这里介绍另外一种突破方法 详见:《突破护卫神之见招拆招

2、上传规则

护卫神系统有上传保护的东西,发现,其实在post的数据中,不出现关键函数就可以直接绕过,只要上传成功,后台运行不会影响

可以利用:

这种加密方式去进行绕过就好了。

如果是一句话的话,注意连接方式,不要用菜刀,菜刀肯定不行的。

在网页版的客户端吧,或者直接上传大马就好了。

更多突破护卫神的方法参考:《将代码换行绕过web保护系统》及《过护卫神PHP一句话

作者conqu3r由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处。

其它的还没有分析完,到时再增加内容吧,顺便整理下绕过注入的方式!