服务器解析漏洞

IIS解析漏洞

IIS 6. 0
  • 新建一个名为“test.asp”的目录,该目录中的任何文件都被ⅡS当做asp程序执行(特殊符号是“/”)

  • 第二种是上传名为“test.asp;.jpg”的文件,虽然该文件真正的后缀名是“jpg”,但由于含有特殊符号“;”,仍会被IIS当做asp程序执行。

IIS 7.5
  • 上传wen文件名为test.jpg 访问test.jpg/.php

IIS命令执行漏洞

Apache解析漏洞

  • 在web目录创建一个1.php.aaa然后访问该文件
    aaa无法识别则向左去识别php
    因此文件被执行了

Nginx解析漏洞

  • 在web目录创建1.jpg
    访问1.jpg/1.php
    成功访问

Tomcat任意文件上传漏洞

  • 抓包
    请求方式改为PUT
    后面加上test.php
    最后加上文件内容

防御方法

IIS6.0防御方法

  • 升级ⅡS版本,IIS5.1与7.5均无此漏洞

Apache防御方法

  • 不要使用AddHandler,改用SetHandler,写好正则,就不会有解析问题,
    <FilesMatch".+.php$">
    SetHandler application/x-httpd-php
  • 禁止.php.这样的文件执行,
    <FilesMatch".+.ph(p【3457】?ltltml).">
    Require all denied

Nginx防御方法

  • 将php.ini文件中的cgi.fix_pathinfo的值设为0。这样php在解析1.php/1.jpg这样的目录时,只要1.jpg不存在就会显示404.
  • 将/etc/php5/fpm/pool.d/www.conf中security.limit_extensions后面的值设为.php。

Tomcat防御方法

  • Tomcat任意文件上传漏洞环境较为苛刻,将Tomcat、jdk、php更新。
  • 避免开启可通过PUT方式创建JSP文件的功能。
posted @ 2018-10-21 20:03  浅笑996  阅读(104)  评论(0编辑  收藏  举报