对 WAF系统“网站安全狗”的浅探

大家看了就图一乐呵,小弟没能写出特别高深的东西,权当抛砖引玉吧。 这两天在探究NIDS和WAF的机制,打算交论文啊。鄙人很是头疼,因为编程水平有限,接触不到太深层的东西。 比如基于服务器扩展的API—-ISPAI, 作为一个提供的DLL,驻留在WWW服务器中的程序代码,其扩展WWW服务 器的功能与CGI相同,而大大提高了运行效率和安全性,我们耳熟能详的那些WAF系统应该就是采用了它作为对Web 的接口进行有效防御。 但是作为Web安全爱好者,所关心的并不是底层的编程漏洞,我们需要关注的是对于规则库的研究和他的防御机制。 所以,有了以下的这篇文章。 为了测试,我先尝试搭建了“IIS版网站安全狗”。虽然有些大神说安全狗并不太好。但毕竟它与护卫神和一流防护 等软件也让不少人头痛过,我们仍可以将它作为探究的一个引子。另外,对于防注入和其他功能,Apache版本的和IIS版本 的其实只是在条款上的区别,请不要纠结。 无图无真相:

或许,不知道我说错木有,部分爱好Web安全的机油对于安全狗又爱又恨,爱的是寻求突破的过程,恨的是为了对付它 蛋蛋隐隐作痛。为了绕过它,有些机油们做的猜测盲目有些盲目,类似于管中窥豹得不到全貌。所以有些尝试并不太有效。     我们这里对他的部分功能进行简单分析:

主动防御:

大家可以看到,在网站安全狗里,主动防御提供sql注入防御模块儿的最新官方规则库主要有三大类:XSS注入,菜刀执行 和sql注入。可限制url长度上限。每个规则可自定义url注入、cookie注入以及post注入的检测选项。在这里提一下。url检测就是 做出对get注入传参和xss的防御。举个例子,也就是说,我们如果取得了某项特殊的注入,通过对比官方对于三项的限制。理论 上是可以在绕不过url的时进行post注入的。 而且,由于工具虽然有专门对于菜刀的拦截,但是并非全版本有效,同时,我们也有可能尝试其他特殊的一句话客户端。

对于主动防御的网马防护模块:

我们可以看到,在其中对于文件名做了单独防御。部分同志通过burp绕过了上传。有的童鞋通过文件包含突破,或是利用解析漏洞 创建畸形文件夹和文件。在这里其实有一个小点,因为安全狗默认禁止了浏览畸形文件,一般童鞋尝试普通的畸形文件解析是不行的。 但它并特别限制畸形目录,所以可以在目录名前后做文章,注释或者那啥,大神们有空去研究喔。

对于文件后缀的防御:

撸主看了下,上传防御那啥居然没有限制和.com、.cmd、.bat,部分危险脚本后缀也未做限制,这让小弟着实抹了一把汗。至于其他的 后缀只要没特定限制的话,是可以通过上传后改名的。

值得一提的是,安全狗有主动网马查杀功能,机油们在得到Webshell以后,并不要轻易放松。小弟指的是Webshell不免杀的情况。 某个倒霉孩子千辛万苦通过神马copy以及文件包含等诸多手段得到Webshell以后。前脚刚擦完屁股,乐颠乐颠地去吃饭,后脚管理就给删了, 这种情况并不算少见。所以,做好免杀,或者在正常页面插入免杀一句话(阴暗角落你懂得)是小弟比较推荐的。插数据库滴事儿还是建议 能免则免。 曾见过不少机油手握安全狗专杀工具,眼红ing。。。毕竟,拿到webshell后能K掉狗后续工作能方便许多。 至于其他监控模块,有点忍不住要吐槽一下流量防。毕竟是网站保护软件,做硬防和流量防护自然由NIDS和机房防火墙管理。如果个人测试 也不用管流量神马的了。这功能用在这里的话实在有些鸡肋。还有CC防模块,有时正常访问某网站它也会抽风,耍赖瘫痪,确实做的不算特别专业。 最后,安全狗有个防爬虫功能和前面说到的CC防是需要注意的。我们扫描时发送请求时线程最好调低一些,一味追求快恐怕最后只得蛋疼地换IP了。 另外,本来想反编译安全狗的数据文件,分析下它的规则库,奈何水平有限,期待大神做有效尝试。