TCLhttpd远程目录列表泄露漏洞
发布日期:2003-09-24
更新日期:2003-10-08
受影响系统:TCLHttpd TCLHttpd 3.4.2
描述:
BUGTRAQ ID:
8687
TCLHttpd是一款WEB服务程序。
TCLHttpd对用户提交的请求缺少正确处理,远程攻击者可以利用这个漏洞查看系统目录列表,导致信息泄露。
当用户请求TCLHttpd服务器上的目录时,会查找目录中的索引文件名,如没有找到就会使用dirlist.tcl脚本执行"fancy"目录列表,提供用户通过修改文件名,日期大小等参数来对文件进行排序。dirlist.tcl脚本虽然进行了一些过滤可防止部分目录遍历,但这个安全检查可以通过输入绝对路径名来绕过,通过查看目录信息可获得系统敏感信息。
<*来源:Phuong Nguyen (
dphuong@yahoo.com)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=106444875624790&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Phuong Nguyen (
dphuong@yahoo.com)提供了如下测试方法:
http://abc.com/images/?pattern=/*&sort=name建议:
厂商补丁:
TCLHttpd
--------
使用如下补丁:
*** dirlist.tcl 4 Apr 2003 04:10:54 -0000 1.10
--- dirlist.tcl 24 Sep 2003 20:32:28 -0000
***************
*** 174,180 ****
set path [file split $dir]
# Filter pattern to avoid leaking path information
! regsub -all {\.\./} $pattern {} pattern
set list [glob -nocomplain -- [file join $dir $pattern]]
if {[llength $path] > 1} {
--- 174,181 ----
set path [file split $dir]
# Filter pattern to avoid leaking path information
! regsub -all {\.+/} $pattern {} pattern
! set pattern [string trimleft $pattern /]
set list [glob -nocomplain -- [file join $dir $pattern]]
if {[llength $path] > 1} {
浏览次数:3101
严重程度:0(网友投票)