web容器漏洞

707 阅读1分钟

IIS文件解析漏洞

    1.初始思路:如果网站禁止上传asp文件我们就上传iis可以解析的cer和asa文件
    2.iis6.0:会解析此两类文件:/test.asp/test.jpg
                                test.asp;.jpg
    3.iis7.5:解析此类情况:test.jpg/.php
            条件:php配置文件开启cgi.fix.pathinfo(php.ini)
    4.apache:apache重要文件时在/etc/mime.types文件中写入了可以解析哪些文件和mime类型
                解析是由于apache特性从右向左解析。当apache添加addhandle application/x-httpd-php.php
                    就可以解析php文件。修复是用sethandle然后加正则匹配
    5.nginx:解析test.jpg/.php文件,低版本的可以%00.PHP进行解析攻击
                    同样和apache一样是通过mime.types来识别文件
                    也是当cgi.fix.pathinfo=1时开启文件修理路径修理功能
                    在www.conf中加入security.limit_extensions=    没有指定特定格式就可以解析php

命令执行漏洞

    1.iis6.0:命令执行漏洞编号CVE-2017-7269。在开启webdav服务的情况下可远程执行漏洞
                原理:iis6.0处理PROPFIND指令对url的长度没有检查和控制,导致memcpy对虚拟路径执行引发栈溢出。

目录遍历

    1.nginx:目录遍历与apache一样同样是配置错误
            开启:/etc/nginx/sites-available/default中的location中加入autoindex on

任意上传文件漏洞

    1.tomcat:修改/conf/web.xml中的readonly=false就可以用put方式创建jsp文件进行远程代码执行

漏洞防御总结

    限制上传文件类型
    扩展名检测防止%00截断以及特殊字符绕过,对上传的图片文件进行2次渲染压缩
    限制上传文件大小:配置web server 允许最大的post大小
    将上传目录设置为静态资源目录,防止被解析为脚本
    使用代理页面隐藏真是路径