网络安全系列知识之CGI漏洞攻击合集上
来源:中国信息安全网 更新时间:2012-04-13
                  

以下收集和整理了一些著名的CGI漏洞,并提供了一些安全建议和解决方法,如果服务器存在这些漏洞不及时修补的话,每一个漏洞有可能将会补入侵者利用,加大服务器被攻击的指数。

1. phf

● 类型: 攻击型

● 风险等级: 中

● 描述: 在NCSA 或者 Apache (1.1.1版本以内)非商业版本的Web Server中有一段程序util.c,允许入侵者以root身份执行任何一个指令:

http://www.xxx.com/cgi-bin/phf?Qname=root%0Asome%20command%20here

● 解决方法: 把Apache web server升级到1.1.1以上,或者将NCSA web server升级到最新版本。

2. wguset.exe

● 类型: 攻击型

● 风险等级: 中

● 描述: 如果使用Windows NT做为WebServer的操作系统,而且wguest.exe存在于Web可执行目录中的话,入侵者将能利用它阅读到硬盘上所有USR_用户能阅读的文件。

● 解决方法: 将wguset.exe从Web目录中移走或删除。

3. rguset.exe

● 类型: 攻击型

● 风险等级: 中

● 描述: 如果使用Windows NT做为WebServer的操作系统,而且rguest.exe存在于Web可执行目录中的话,入侵者将能利用它阅读到服务器硬盘上所有USR_用户能阅读的文件。

● 解决方法: 将rguset.exe从Web目录中移走或删除。

4. perl.exe

● 类型: 攻击型

● 风险等级: 低

● 描述: 在cgi-bin执行目录下存在perl.exe,这属于严重的配置错误。入侵者可以在perl.exe后面加一串指令,利用浏览器在server上执行任何脚本程序。

● 解决方法: 在Web目录下移除perl.exe这个程序。

5. shtml.exe

● 类型: 攻击型

● 风险等级: 低

● 描述: 如果使用Front Page作为WebServer,那么入侵者能够利用IUSR_ 用户和shtml.exe入侵户用的机器。

● 解决方法: 将shtml.exe从Web目录移走或删除。

6. wwwboard.pl

● 类型: 攻击型

● 风险等级: 低

● 描述: wwwboard.pl程序容易引起攻击者对服务器进行D.O.S攻击。

● 建议: 如无必要可以删除该文件。

● 解决方法: 将get_variables的子程序中的下面这段:

if ($FORM{"followup"}) { $followup = "1"
@followup_num = split(/,/,$FORM{"followup"});
$num_followups = @followups = @followup_num;
$last_message = pop(@followups);
$origdate = "$FORM{"origdate"}"
$origname = "$FORM{"origname"}"
$origsubject = "$FORM{"origsubject"}" }

替换为:

if ($FORM{"followup"}) {
$followup = "1"
@followup_num = split(/,/,$FORM{"followup"});
$num_followups = @followups = @followup_num;
$last_message = pop(@followups);
$origdate = "$FORM{"origdate"}"
$origname = "$FORM{"origname"}"
$origsubject = "$FORM{"origsubject"}"
# WWWBoard Bomb Patch
# Written By: Samuel Sparling sparling@slip.net) 
$fn=0;
while($fn < $num_followups)
{
$cur_fup = @followups $fn]; 
$dfn=0;
foreach $fm(@followups)
{
if(@followups[$dfn] == @followups[$fn] && $dfn != $fn)
{
&error(board_bomb);
} 
$dfn++;
} 
$fn++; 
}
# End WWWBoard Bomb Patch 
}

7. uploader.exe

● 类型: 攻击型

● 风险等级: 中

● 描述: 如果使用Windows NT作为WebServer的操作系统,入侵者能够利用uploader.exe上传任何文件。

● 解决方法: 将uploader.exe从Web目录移走或删除。

8. bdir.htr

● 类型: 攻击型

● 风险等级: 高

● 描述: 如果使用Windows NT做为WebServer的操作系统,而且bdir.htr存在于Web可执行目录中的话,入侵者将能利用它在服务器上无止境的创建ODBC数据库,并生成一些可执行的文件。

● 解决方法: 将bdir.htr从Web目录移走或删除。

9. Count.cgi

● 类型: 攻击型

● 风险等级: 高

● 描述: 在/cgi-bin目录下的Count.cgi程序(Wwwcount2.3版本)有一个溢出错误,允许入侵者无须登录而远程执行任何指令。

● 建议: 如无必要可以删除该文件。

● 解决方法: 将Wwwcount升级到2.4或者以上。

以下收集和整理了一些著名的CGI漏洞,并提供了一些安全建议和解决方法,如果服务器存在这些漏洞不及时修补的话,每一个漏洞有可能将会补入侵者利用,加大服务器被攻击的指数。

1. phf

● 类型: 攻击型

● 风险等级: 中

● 描述: 在NCSA 或者 Apache (1.1.1版本以内)非商业版本的Web Server中有一段程序util.c,允许入侵者以root身份执行任何一个指令:

http://www.xxx.com/cgi-bin/phf?Qname=root%0Asome%20command%20here

● 解决方法: 把Apache web server升级到1.1.1以上,或者将NCSA web server升级到最新版本。

2. wguset.exe

● 类型: 攻击型

● 风险等级: 中

● 描述: 如果使用Windows NT做为WebServer的操作系统,而且wguest.exe存在于Web可执行目录中的话,入侵者将能利用它阅读到硬盘上所有USR_用户能阅读的文件。

● 解决方法: 将wguset.exe从Web目录中移走或删除。

3. rguset.exe

● 类型: 攻击型

● 风险等级: 中

● 描述: 如果使用Windows NT做为WebServer的操作系统,而且rguest.exe存在于Web可执行目录中的话,入侵者将能利用它阅读到服务器硬盘上所有USR_用户能阅读的文件。

● 解决方法: 将rguset.exe从Web目录中移走或删除。

4. perl.exe

● 类型: 攻击型

● 风险等级: 低

● 描述: 在cgi-bin执行目录下存在perl.exe,这属于严重的配置错误。入侵者可以在perl.exe后面加一串指令,利用浏览器在server上执行任何脚本程序。

● 解决方法: 在Web目录下移除perl.exe这个程序。

5. shtml.exe

● 类型: 攻击型

● 风险等级: 低

● 描述: 如果使用Front Page作为WebServer,那么入侵者能够利用IUSR_ 用户和shtml.exe入侵户用的机器。

● 解决方法: 将shtml.exe从Web目录移走或删除。

6. wwwboard.pl

● 类型: 攻击型

● 风险等级: 低

● 描述: wwwboard.pl程序容易引起攻击者对服务器进行D.O.S攻击。

● 建议: 如无必要可以删除该文件。

● 解决方法: 将get_variables的子程序中的下面这段:

if ($FORM{"followup"}) { $followup = "1"
@followup_num = split(/,/,$FORM{"followup"});
$num_followups = @followups = @followup_num;
$last_message = pop(@followups);
$origdate = "$FORM{"origdate"}"
$origname = "$FORM{"origname"}"
$origsubject = "$FORM{"origsubject"}" }


替换为:

if ($FORM{"followup"}) {
$followup = "1"
@followup_num = split(/,/,$FORM{"followup"});
$num_followups = @followups = @followup_num;
$last_message = pop(@followups);
$origdate = "$FORM{"origdate"}"
$origname = "$FORM{"origname"}"
$origsubject = "$FORM{"origsubject"}"
# WWWBoard Bomb Patch
# Written By: Samuel Sparling sparling@slip.net) 
$fn=0;
while($fn < $num_followups)
{
$cur_fup = @followups $fn]; 
$dfn=0;
foreach $fm(@followups)
{
if(@followups[$dfn] == @followups[$fn] && $dfn != $fn)
{
&error(board_bomb);
} 
$dfn++;
} 
$fn++; 
}
# End WWWBoard Bomb Patch 
}

7. uploader.exe

● 类型: 攻击型

● 风险等级: 中

● 描述: 如果使用Windows NT作为WebServer的操作系统,入侵者能够利用uploader.exe上传任何文件。

● 解决方法: 将uploader.exe从Web目录移走或删除。

8. bdir.htr

● 类型: 攻击型

● 风险等级: 高

● 描述: 如果使用Windows NT做为WebServer的操作系统,而且bdir.htr存在于Web可执行目录中的话,入侵者将能利用它在服务器上无止境的创建ODBC数据库,并生成一些可执行的文件。

● 解决方法: 将bdir.htr从Web目录移走或删除。

9. Count.cgi

● 类型: 攻击型

● 风险等级: 高

● 描述: 在/cgi-bin目录下的Count.cgi程序(Wwwcount2.3版本)有一个溢出错误,允许入侵者无须登录而远程执行任何指令。

● 建议: 如无必要可以删除该文件。

● 解决方法: 将Wwwcount升级到2.4或者以上。

23. aglimpse

● 类型: 攻击型

● 风险等级: 高

● 描述: 在cgi-bin目录下的aglimpse程序有一个漏洞可以使入侵者无须登录而随意执行任何指令。 

● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在 。

● 解决方法: 删除/cgi-bin目录下的aglimpse程序。

24. AT-admin.cgi

● 类型: 攻击型

● 风险等级: 中

● 描述: 在Excite for Web Servers 1.1上的/cgi-bin/AT-admin.cgi程序,允许普通用户完全控制整个系统。

● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。

● 解决方法: 删除/cgi-bin目录下的AT-admin.cgi程序。

25. finger

● 类型: 攻击型

● 风险等级: 中

● 描述: 这个位于/cgi-bin下的finger程序,可以查看其他服务器的信息,但是如果将参数改成本机,本机上的账号信息将暴露无遗:

/cgi-bin/finger?@localhost

● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。

● 解决方法: 删除/cgi-bin目录下的finger程序。

26. webwho.pl

● 类型: 攻击型

● 风险等级: 中

● 描述: 如果在Web可执行目录中有webwho.pl这个CGI脚本,那么入侵者将能利用它阅读启动Web的用户能读写执行的任何文件。

● 解决方法: 将webwho.pl从Web目录中删除或移走。

27. w3-msql

● 类型:攻击型

● 风险等级:低

● 描述:MiniSQL软件包发行版本附带的一个CGI(w3-msql)可被用于以httpd的uid权限执行任意代码。这个安全漏洞是由程序中的scanf()函数引起的。

● 解决方法:如果安装了MiniSQL软件包,请将/cgi-bin/目录下的w3-msql文件删除或移走.或使用以下补丁程序。

补丁程序:

------ w3-msql.patch ---------
410c410
< scanf("%s ", boundary);
---
> scanf("%128s ", boundary);
418c418
< strcat(var, buffer);
---
> strncat(var, buffer,sizeof(buffer));
428c428
< scanf(" Content-Type: %s ", buffer);
---
> scanf(" Content-Type: %15360s ", buffer);
------ w3-msql.patch ---------

28. Netscape FastTrack server 2.0.1a

● 类型: 攻击型

● 风险等级: 中

● 描述: UnixWare 7.1附带的Netscape FastTrack server 2.0.1a存在一个远程缓冲区溢出漏洞。默认情况下,该服务监听457端口的http通过http协议提供UnixWare文档。如果向该服务器传送一个长度超过367字符的GET请求,会使缓冲区溢出,EIP值被覆盖将可能导致任意代码以httpd权限执行。

● 解决方法: 临时解决方法是关闭Netscape FastTrack服务器

29. AnyForm.cgi

● 类型: 攻击型

● 风险等级: 高

● 描述: 位于cgi-bin目录下的AnyForm.cgi程序,是用于简单表单通过邮件传递响应的,但该程序对用户输入检查不彻底,可被入侵者利用在server上执行任何指令。

● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。

● 解决方法: 建议升级该cgi程序,或者删除该文件。

30. whois.cgi

● 类型: 攻击型

● 风险等级: 低

● 描述: 在多个WebServer中带有的Whois.cgi存在溢出漏洞。它们包括:

Whois Internic Lookup - version: 1.02
CC Whois - Version: 1.0
Matt"s Whois - Version: 1


它们将使入侵者能够在系统上使用启动httpd用户的权限执行任意的代码。

● 解决方法: 将Web目录中问whois.cgi删除或移走。

31. environ.cgi

● 类型:攻击型

● 风险等级:中

● 描述:在Apache web server或者IIS等其他web server的/cgi-bin/environ.cgi 程序,有一个漏洞允许入侵者绕过安全机制,浏览服务器上的一些文件。

● 建议:建议审核cgi-bin目录,避免有不必要的程序存在。

● 解决方法:建议升级该cgi程序,或者删除该文件。

32. wrap

● 类型: 攻击型

● 风险等级: 中

● 描述: /cgi-bin/wrap程序有2个漏洞,均允许入侵者获取服务器上文件的非法访 问,如:

http://host/cgi-bin/wrap?/../../../../../etc

● 建议:建议审核cgi-bin目录,避免有不必要的程序存在。

● 解决方法:删除/cgi-bin/wrap文件。

33. edit.pl

● 类型: 攻击型

● 风险等级: 中

● 描述:/cgi-bin/edit.pl有一个安全弱点,用下面这条命令就可以访问用户的配置情况:

http://www.sitetracker.com/cgi-bin/edit.pl?account=&password=

● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。

● 解决方法: 删除/cgi-bin/edit.pl文件。

34. service.pwd

● 类型:攻击型

● 风险等级: 中

● 描述: UNix系统的http://www.hostname.com/_vti_pvt/service.pwd可读,将暴露用户密码信息。

● 建议: 建议删除service.pwd。

● 解决方法:无

35. administrators.pwd

● 类型: 攻击型

● 风险等级: 中

● 描述: UNix系统的http://www.hostname.com/_vti_pvt/administrators.pwd可读,将暴露用户密码信息。

● 建议: 建议删除administrators.pwd。

● 解决方法: 无

36. users.pwd

● 类型: 攻击型

● 风险等级: 中

● 描述: UNix系统的http://www.hostname.com/_vti_pvt/users.pwd可读,将暴露用户密码信息。

● 建议: 建议删除users.pwd。

● 解决方法: 无

37. authors.pwd

● 类型: 攻击型

● 风险等级: 中

● 描述: UNix系统的http://www.hostname.com/_vti_pvt/authors.pwd可读,将暴露用户密码信息。

● 建议: 建议删除authors.pwd。

● 解决方法: 无

38. visadmin.exe

● 类型: 攻击型

● 风险等级: 中

● 描述: 在OmniHTTPd Web Server的cgi-bin目录下存在这个文件visadmin.exe,那么攻击者只要输入下面的命令:

http://omni.server/cgi-bin/visadmin.exe?user=guest


数分钟之后服务器的硬盘将会被撑满。

● 解决方法: 把visadmin.exe从cgi-bin目录中删除。

39. tst.bat

● 类型: 攻击型

● 风险等级: 高

● 描述: Alibaba的web server,其cgi-bin目录存在tst.bat这个程序,允许入侵者任意执行一条指令:

http://www.victim.com/cgi-bin/tst.bat|type%20c:\windows\win.ini

● 解决方法: 把tst.bat从cgi-bin目录中删除。

40. fpcount.exe

● 类型: 攻击型

● 风险等级: 低

● 描述: 如果使用Windows NT作为WebServer的操作平台,并只安装了SP3补丁程序,那么入侵者能利用这个CGI程序进行DoS攻击,使IIS服务拒绝访问。

● 解决方法: 将Web目录中的fpcount.exe删除或移走。

41. openfile.cfm

● 类型: 攻击型

● 风险等级: 低

● 描述: 如果在Web目录中含有:

/cfdocs/expeval/exprcalc.cfm
/cfdocs/expeval/sendmail.cfm
/cfdocs/expeval/eval.cfm
/cfdocs/expeval/openfile.cfm
/cfdocs/expeval/displayopenedfile.cfm
/cfdocs/exampleapp/email/getfile.cfm
/cfdocs/exampleapp/publish/admin/addcontent.cfm
 

这些文件,那么入侵者可能能够利用它们读到系统上的所有文件。

● 解决方法: 将Web目录中的openfile.cfm删除或移走。