zoukankan      html  css  js  c++  java
  • 网络安全从入门到精通 (第七章-3) 文件上传漏洞 — 解析、验证、伪造(三)

    本文内容:

    • IIS6.0解析漏洞
    • CGI解析漏洞

    注意:

      菜刀链接200,文件存在,但是菜刀链接不上,原因可能是一句话木马的语言类型不符合。

      图片马:asp用sqp马,php用php马,他们之间是不能传,在做测试的时候,一个马连接不上,可以试试别的吗。

    1,IIS6.0解析漏洞:

      IIS6.0解析漏洞,其实有一些不如说是IIS6.0的一些特性,严格意义上而言,只是一些默认配置并不是漏洞,但是也有一些漏洞。

        IIS6.0解析漏洞(1)[不是漏洞,只是默认配置的问题,适合拿来绕过黑名单机制]。

          IIS6.0除了将ASP后缀当做ASP进行解析的同时,当文件后缀名字为.asa、.cer、.cdx也会当做asp去解析,这是因为IIS6.0在应用程序扩展中默认设置了.asa .cer .cdx都会调用asp.dll。

        解决方法:直接将相应配置删除掉即可。

        IIS6.0解析漏洞(2)[IIS5.1和IIS7.5无此漏洞]:

          IIS6.在处理含有特殊符合的文件路径是会出现粗偶我,从而造成文件解析漏洞:
            text.asp;jpg 它会当做asp进行解析。

              很多地方都会用到";"作用是结束。

              但是,这个文件的名称依旧是:a.asp;jpg。

        IIS6.0解析漏洞(3)[IIS5.1和IIS7.5无此漏洞]:

          IIS6.在处理含有特殊符合的文件路径是会出现粗偶我,从而造成文件解析漏洞:

            text.asp/123.jpg 它会当做asp进行解析。

            请求a.asp/x.jpg

            这相当于构建了一个新的文件a.asp,凡是这个文件夹里的文件都会以asp去执行。

    2,CGI解析漏洞:

        CGI是什么?

          简单的说,可以理解为Web服务器和独立程序之间的管家。

            服务器将a类型文件,交给CGI,CGI交给处理a类型文件的程序。

        Nginx默认是以CGI的方式支持php解析的,普遍的做法是在Nginx配置文件中通过正则匹配设SCRIPT_FILENAME。

        当访问www.xx.com/phpinfo.jpg/1.php这个url时,$fastcgi_script_name会被设置"phpinfo.jpg/1.php",然后构造成SCRIPT_FILENAME(绝对路径)传递给PHP CGI,如果开启了cgi.fix_pathinfo=1选项。

          CGI一看是php后缀结尾,便给php程序去执行,php去找名字为“phpinfo.jpg”的文件夹,没找到,便去找“phpinfo.jpg”的文件,找到后执行。

          这个默认是就是1,所以没有设置过就是开启,那么就会触发在php中的如下逻辑:

            php会认为SCRIPT_FILENAME(绝对路径)是phpinfo.jpg,而1.php是path_info,所以就会phpinfo.jpg作为php文件来解析了,

      漏洞的本质:

        少了再次检测的环节。

        这是一个逻辑问题,所以说我们只需在正常的.jpg后加/.php就可以成功绕过解析。

        这不是Nginx特有的漏洞,在IIS7.0、IIS7.5、Lighttpd等Web容器中也经常会出现这样的解析漏洞。

        可以通过云悉资产、微步社区等平台,判断是什么Web容器。

        用户发送请求----Web容器----php----CGI----交给php代码去执行----返回Web容器----再给用户。

      

  • 相关阅读:
    【乱侃】How do they look them ?
    【softeware】Messy code,some bug of Youdao notebook in EN win7
    【随谈】designing the login page of our project
    【web】Ad in security code, making good use of resource
    SQL数据库内存设置篇
    关系数据库的查询优化策略
    利用SQL未公开的存储过程实现分页
    sql语句总结
    sql中使用cmd命令注销登录用户
    SQLServer 分页存储过程
  • 原文地址:https://www.cnblogs.com/xz25/p/12730024.html
Copyright © 2011-2022 走看看