zoukankan      html  css  js  c++  java
  • 解析漏洞总结

    1.IIS

    IIS5.x/6.0

    目录解析漏洞

    当在网站下建立文件夹的名字为*.asp、*.asa、*.cer、*.cdx 的文件夹,那么其目录内的任何扩展名的文件都会被IIS当做asp文件来解释并执行。

    文件解析漏洞

    在 IIS5.x/6.0 中, 分号后面的不被解析,也就是说 xie.asp;.jpg 会被服务器看成是xie.asp。还有IIS6.0默认的可执行文件除了asp还包含这两种 .asa   .cer 。在文件上传时我们可以构造xxx.cer;.jpg等后缀成功上传。

    IIS7.0

    畸形解析漏洞

    将文件保存成test.jpg格式,上传到服务器后,/test.jpg/x.php,此时test.jpg将会被服务器当成php文件执行,所以图片里面的代码就会被执行。我们会发现在目录下已经创建了一个一句话木马文件 test.php 。

    2.apache

    1.x/2.x

    文件解析漏洞

    apache是从右到左开始判断解析,如果为不可识别解析,就再往左判断。直到结束如果还没找到就以默认方式解析。如xxx.asp.qwe.sdf.sdf.fdc 最终就以asp文件解析。

    陌生后缀

    apache将 phtml pht php phps php3p php3 php4 php5后缀名都将以php解析执行

    .htaccess文件

     .htaccess 文件生效前提条件为:mod_rewrite 模块开启且AllowOverride All

    列举两个利用方式:

    #1:这个.htaccess的意思就是把所有名字里面含有shell的文件当成php脚本来执行

    <FilesMatch   "shell"> 

    SetHandler  application/x-httpd-php 

    </FilesMatch>

    #2:这里代码的意思可以让 .jpg后缀名文件格式的文件名以php格式解析

    AddType application/x-httpd-php .jpg

    3.nginx

    nginx<0.8.03

    畸形解析漏洞

    将文件保存成test.jpg格式,上传到服务器后,/test.jpg/x.php,此时test.jpg将会被服务器当成php文件执行,所以图片里面的代码就会被执行。我们会发现在目录下已经创建了一个一句话木马文件 test.php 。

    主要原因是Nginx拿到文件路径(更专业的说法是URI)/test.jpg/test.php 后,一看后缀是.php,便认为该文件是php文件,于是转交给php去处理。php一看 /test.jpg/test.php 不存在,便删去最后的/test.php,又看/test.jpg存在,便把/test.jpg当成要执行的文件了,又因为后缀为.jpg,php认为这不是php文件,所以就以php解析执行了。

    nginx0.5、0.6、0.7<=0.7.65、0.8<= 0.8.37

    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,但是PHP为什么会接受这样的参数,并将phpinfo.jpg作为PHP文件解析呢?这就要说到fix_pathinfo这个选项了。 如果开启了这个选项,那么就会触发在PHP中的如下逻辑:

    PHP会认为SCRIPT_FILENAME是phpinfo.jpg,而1.php是PATH_INFO,所以就会将phpinfo.jpg作为PHP文件来解析了

    漏洞形式

    www.xxxx.com/UploadFiles/image/1.jpg/1.php
    www.xxxx.com/UploadFiles/image/1.jpg%00.php
    www.xxxx.com/UploadFiles/image/1.jpg/%20.php

    xxx.jpg%00.php (Nginx <8.03 空字节代码执行漏洞)

    另外一种手法:上传一个名字为test.jpg图片马然后访问test.jpg/.php,在这个目录下就会生成一句话木马test.php。

  • 相关阅读:
    11 数值的整数次方
    10 二进制中1的个数
    6 重建二叉树
    5 从尾到头打印链表
    计算机网络面试题
    Http和Https的区别
    UVALive 7749 Convex Contour (计算几何)
    Gym 101190H Hard Refactoring (模拟坑题)
    UVa 11324 The Largest Clique (强连通分量+DP)
    HDU 6006 Engineer Assignment (状压DP)
  • 原文地址:https://www.cnblogs.com/Shepherd-boy/p/15079426.html
Copyright © 2011-2022 走看看