1. IIS 6.0
      1. 后缀解析 /xx.asp;.jpg
      2. 服务器默认不解析;号及其后面的内容,相当于截断
      3. 目录解析 /xx.asp/xx.jpg(xx.asp目录下任意解析)
      4. 默认解析xx.asa xx.cer xx.cdx
    2. IIS 7.0-7.5 /Nginx<=0.8.37
      1. 在Fast-CGI开启状态下,在文件路径后加上/xx.php,即xx.jpg/xx.php 会被解析为php文件
    3. PUT漏洞
      1. 开启webDAV
      2. 拥有来宾用户,且来宾用户拥有上传权限
      3. 可任意文件上传
    4. windows特性
      1. windows不允许空格和点以及一些特殊字符作为结尾,创建这样的文件会自动重命名,所以可以使用xx.php[空格], 、xx.php. 、xx.php/ 、xx.php::$DATA上传文件
    5. winAPI与通配符的那些事
      1. 在windows环境下使用php时,php中的部分函数会调用2个底层windoowsAPI函数FindFirstExW(),FindFirstFile(),这两个函数对< > “ 三个字符做了特别的对待和处理
      2. 大于号 >等价于 通配符 ? 0次或者1次
      3. 小于号 <等价于 通配符 * 0次或者多次
      4. 双引号 “ 等价于通配符 . 匹配除换行符(\n,\r)之外的任意单个字符
      5. 以上得出,我们在windows下的php某些函数中,我们可以使用< > “ 来匹配一些文件名/目录名
      6. 这里的部分函数包括但不限于:
        a. include()
        b. Include_once()
        c. Require()
        d. Require_once()
        e. Fopen()
        f. Copy()
        g. File_get_contents()
    6. IIS短文件名的那些事
      1. dos下存在这样的文件命名规则
        a. 主文件名不能超过8个字符,拓展名不能超过3个字符
        b. 所以也叫做8.3格式
      2. windows为了兼容MS-DOS,文件名超过8位,拓展名超过3位的文件都会对应的创建一个8.3格式的文件名,也称为短文件名
      3. 短文件名有以下2个特征:
        a. 文件名只显示前6个字符,后续字符用~1代替。当存在多个文件名类似的文件时(文件名前6位相同,且后缀名前三位相同),数字1会进行递增。
        b. 后缀只显示前三个字符
      4. 当我们访问某个存在的短文件名时,会返回404,而当我们访问某个不存在的短文件名时,会返回400,依据返回结果的不同,就可以进行逐位猜测
      5. Windows+apache+php文件/目录猜测
    7. Apache
      1. 后缀解析
        a. Test.php.x1.x2.x3(x1,x2,x3为没有在mime.types文件中定义的文件类型)
        b. Apache将从右往左开始判断后缀,若x3为非可识别后缀,则判断x2,直到找到可识别后缀为止,然后对可识别后缀进行解析
    8. Nginx
      1. Fast-CGI
        a. 在fast-cgi关闭的情况下,nginx任然存在解析漏洞:在文件路径(xx.jpg)后面加上%00.php,即xx.jpg%00.php会被当做php文件来解析