解析漏洞

IIS6.0 IIS7.5

IIS6.0 在处理含有特殊文件路径时候就会出现逻辑错误

  1. 在.asp目录下的任意文件都会以asp格式解析
  2. ;截断,上传test.asp;.jpg是一个jpg文件,但是会以asp执行

    IIS 7.0 url中文件后缀是.php,无论文件是否存在,直接交给php处理,而php默认开启”cgi.fix_pathinfo”,会对文件进行”修理”,比如当php遇到路径”/aaa.xxx/bbb.yyy”,若”/aaa.xxx/bbb.yyy”不存在,则会去掉最后的”bbb.yyy”,然后判断”/aaa.xxx”是否存在,若存在,则”/aaa.xxx”当做文件

  1. php.ini中的cgi.fix_pathinfo设置为1,且结合方式是fast-cgi
  2. 在文件后门加上/xx.php(xx可加可不加)就会将该文件以php格式执行

P U T漏洞

条件:
IIS6.0开启webdav服务并且设置了写入权限
image.png
image.png

可以使用IIS PUT SCANNER 探测一下目标IIS是否拥有写入权限

  1. 使用P U T方法上传文件,但是大多情况下无法上传php等脚本文件,上传txt
  2. 可以使用move方法将txt转换为脚本文件,或者利用解析漏洞执行

Cve-2017-7269

背景

IIS开启WebDAV

在iischuliPROPFIND指令的时候,由于对url 的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路劲进行构造时候,英法栈溢出,从而导致远程代码执行

https://github.com/admintony/Windows-Exploit/tree/master/IIS6_WebDAV_Scanner https://github.com/zcgonvh/cve-2017-7269

短文件名猜测

iis短文件名机制,可以暴力猜测文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,会返回400

特征

  1. 只显示前6位字符,后续用~1代替,其中数字1是可以递增的,如果存在文件名类似的文件,则前面的六个字符是相同的,后面的数字是递增的
  2. 后缀名最长的只有3位,超过3位的会生成短文件名,且后面多余的部分会被截断
  3. 所有小写字母均转换为大写字母
  4. 长文件名中包含多个”.”,以最后一个“.”作为段文件名的后缀
  5. 文件名后缀长度大于等于4或者总长度大于等于9时才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件

    github.com/lijiejie/IIS_shortname_Scanner