注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

且行且记录

点滴记录,行的更远!

 
 
 

日志

 
 

【转】IIS4\IIS5 CGI环境块伪造0day  

2014-04-28 08:51:19|  分类: 参考文章 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
2014-04-09 16:33

IIS4\IIS5 CGI环境块伪造0day



IIS4\IIS5 CGI环境块伪造0day


大约14年前发现一直到现在的0day


IIS4\IIS5的漏洞,对应操作系统是winntwin2000系统,微软不再支持这些软件,他们的策略想淘汰这些系统,11年报告后微软决定不再修补。算是很严重的漏洞,只是影响的软件现在使用率相对比较低,但总量也不少。

具体漏洞详细信息如下:

IIS加载CGI环境块伪造漏洞 

危害等级:高危

危害类型:缓冲区溢出、远程执行代码、信息泄露

影响平台:Winnt\win2000

影响软件:IIS4IIS5

基本情况:

     IIS4IIS5加载CGI,处理环境块的时候,错误的把“\n”字符用“\x00”替换,导致可以伪造任意环境块。IIS加载CGI的时候,把自己的请求加上“HTTP_”前缀加入环境变量和本地环境变量区分,通过利用”\n”替换成”\0”的漏洞就可以把这些前缀去掉,从而任意伪造环境块变量。攻击者可以在http头里提交“a=b\nPATH_TRANSLATED:var”使得IIS加载CGI的时候环境块变量成为”HTTP_a=b”“PATH_TRANSLATED=var”,成功伪造环境块“PATH_TRANSLATED=var”,让php.exe执行脚本文件“var”,从而执行任意命令。

    CGI加载有两种方式,一种本身就是编译成.exe的可执行程序,这些常见的有一些计数器、一些网站自己开发的应用程序、还有一些应用比较广的WEB应用程序等。还有一种是通用脚本映射到.EXE解释执行(映射到.dll的是isapi,不受影响),这些常见的有PHP\PERL脚本等。


具体危害看具体CGI程序对环境块的处理方式,可能会导致的部分结果:

1  CGI处理本地环境变量的时候缓冲溢出,一些CGI处理本地环境变量的时候,因为这些变量一般不能设置或者本来是可信的,没有考虑缓冲大小检查等。

2  有些环境块变量影响一些CGI的处理逻辑、信任关系等。

3  加载dll或者加载进程时因为伪造的path环境变量加载攻击者的程序。



验证步骤:

1、win2000+iis5配置.php映射到php.exe(即cgi方式,如果影射到.dll是isapi方式,没有此漏洞)

2、请求发送:

“GET /a.php HTTP/1.1\r\na=b\nPATH_TRANSLATED:c:\windows\win.ini\r\nHOST:192.168.0.1\r\n\r\n”

3、iis将返回win.ini内容。

4、也可以利用iis的日志文件写出php命令,利用此漏洞让php.exe调用iis日志文件执行系统命令等。

 

漏洞利用程序:

http://hi.baidu.com/yuange1975/item/cefea0c63156032f46d5c050


4月1号的愚人节版本:

http://seclists.org/fulldisclosure/2012/Apr/13


usage: 

iisexp411 127.0.0.1  /AprilFools'Day.php  PATH_TRANSLATED  c:\windows\win.ini
  评论这张
 
阅读(81)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017