*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

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

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

具体漏洞详细信息如下:IIS加载CGI环境块伪造漏洞

危害等级:高危

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

影响平台:Winnt\win2000

影响软件:IIS4、IIS5

基本情况:

IIS4、IIS5加载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日志文件执行系统命令等。

漏洞利用程序:

4月1号的愚人节版本:usage:iisexp411 127.0.0.1  /AprilFools'Day.php  PATH_TRANSLATED  c:\windows\win.ini

iis php cgi.exe 漏洞,IIS4\IIS5 CGI环境块伪造0day漏洞相关推荐

  1. 8月第1周安全回顾 0Day漏洞成企业最大威胁 应重视网络监听

    文章同时发表在:[url]http://netsecurity.51cto.com/art/200708/52822.htm[/url] 本周(0730至0805)安全方面值得关注的新闻集中在安全管理 ...

  2. 解读金山网盾3.5 0day漏洞免疫技术

    解读金山网盾3.5 0day漏洞免疫技术 关键字:金山网盾 0day漏洞 Pwn2Own***大会 沙箱 第三届Pwn2Own***大会上,Apple's Safari, Mozilla's Fire ...

  3. FastJSON的0day漏洞报告

    一.问题背景 fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean,由于具有 ...

  4. 银行系统 0day 漏洞挖掘与分析 方法研究——期刊读后心得

    读后心得 全文的总体概括 0day漏洞的重要性 0day挖掘方法和模型 0day 漏洞挖掘的未来展望 全文的总体概括 漏洞是网络攻防的武器,是力量提升的重要战略资源,而 0day 漏洞更是核武器,谁掌 ...

  5. php cgi进程很多win2008,php cgi.exe 太多 在 windowserver2008 apache 这个怎么样限制下?...

    php cgi.exe 太多 在 windowserver2008 apache 这个怎么样限制下? mip版  关注:61  答案:2  悬赏:70 解决时间 2021-02-24 01:48 已解 ...

  6. fckeditor漏洞_三十,文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御

    一.编辑器漏洞 1.编辑器 编辑器属于第三方软件,它的作用是方便网站管理员上传或编辑网站上的内容,类似我们电脑上的Word文档. 编辑器通常分为两种情况: (1) 不需要后台验证,可以直接在前台访问且 ...

  7. 打开cgi文件的网络服务器,cgi文件怎么打开 .cgi是什么文件 | 帮助信息-动天数据...

    cgi文件怎么打开 .cgi是什么文件 作者:dthost | 时间:2017-12-14 | 分类:未分类 | 18,533 次阅读 cgi格式文件是"公共网关接口脚本"类型文件 ...

  8. boa服务器如何运行cgi,嵌入式WEB服务器BOA+CGI.ppt

    嵌入式WEB服务器BOACGI 嵌入式WEB服务器:BOA+CGI 报 告 人: 李 实 * ASIPP 随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流 ...

  9. C++ Web 编程 CGI公共网关接口(CGI):第一个 CGI 程序

    Table of Contents C++ Web 编程 什么是 CGI? Web 浏览 CGI 架构图 Web 服务器配置 第一个 CGI 程序 Hello World! 这是我的第一个 CGI 程 ...

最新文章

  1. C#拉姆达(=)表达式
  2. Android5.1.1 - zygote中获取系统服务时抛出异常
  3. 关于Sybase ASE数据库的license以及试用版过期的问题的解决方案
  4. 伯克利计算机科学研究生,加州大学伯克利分校
  5. 什么是单页应用(转)
  6. python引入导入自定义模块和外部文件
  7. Spring DI注入规则
  8. CAP,ACID,BASE
  9. 深度学习 --- BP算法详解(误差反向传播算法)
  10. 企业机房升温-谁之过?
  11. java语言介绍以及各个编程语言特点
  12. RHEL7的安装步骤
  13. 华为发布会2019鸿蒙,鸿蒙,来了!华为正式发布鸿蒙OS操作系统
  14. 零基础学图形学(9) 几何知识——行向量和列向量
  15. java面试题大合集(开发者必看)
  16. c语言注释两种,C语言有几种注释方式
  17. 发散级数(中文维基百科)
  18. Zigbee协议与开发 - 协调器/路由器节点(EB板)程序结构分析
  19. asp毕业设计——基于asp+access的档案管理系统设计与实现(毕业论文+程序源码)——档案管理系统
  20. 不再纠结devDependencies与dependencies

热门文章

  1. 卡巴斯基文件服务器,卡巴斯基更新服务器的解决方案
  2. php ajax邮箱,PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
  3. python中的__call__和__repr__魔术方法
  4. python struct模块的使用
  5. Python3将xml文件解析为Python对象
  6. Python assert 断言函数
  7. Python 的6个日期时间库
  8. c语言fgetc()函数(从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动)
  9. Xshell修改颜色(xshell配色)
  10. visual studio c/c++报错:向“printf”传递了额外参数: _Param_(2) 未由格式字符串使用