论坛: 菜鸟乐园 标题: CGI 复制本贴地址    
作者: tarantula [tarantula]    论坛用户   登录
如何用这个漏洞?谢谢!

地主 发表时间: 04-08-18 15:59

回复: bluecat_ [bluecat_]   论坛用户   登录
我也想知道哦..
我帮顶住

B1层 发表时间: 04-08-18 16:08

回复: zhong [zhong]   见习版主   登录
长期以来,WEB服务器的安全一直是大家关注的焦点,很多网上“黑客” 的行为也是修改别人的主页。CGI程序的安全性是WEB安全中一个非常重要的部分,大部分的80端口入侵都是通过CGI程序漏洞来进行的,所谓CGI漏洞是指CGI程序开发人员在开发CGI程序过程中忽略了对某些变量的过滤或者在程序中的某些句柄参数中留有安全问题,因此留下CGI程序的安全隐患,导致入侵者可以从80端口进入服务器,进而获得对服务器的控制权。

  下面我给大家介绍一下比较常见的CGI漏洞以及应对的办法,请大家批评指正:

guestbook.cgi漏洞分析

  资料来源:www.securiteam.com
  受影响的系统:guestbook.cgi version 4.12

  Guestserver(http://www.stud.ntnu.no/~larsell/guestbook/)是一个guestbook系统,有远程执行任意命令的BUG。导致这个BUG的原因是从HTTP提交一个恶意的email变量。

详细资料:

  先来看看guestserver如何屏蔽email变量的:
  提交的email变量首先被过滤掉冒号、逗号、分号,如下所示:

line 282:
$FORM{‘email‘} =~ s/\<[^\>]*\>//ig;
$FORM{‘email‘} =~ s/\$FORM{‘email‘} =~ s/\>//g;
$FORM{‘email‘} =~ s/\"/_/g;

if ($FORM{‘email‘} !~ /^[^\@]*[\@][^\@]*?\.[^\@]*$/g) {
$FORM{‘email‘} = undef;
}

line 360:
&mail_guest if ($mailto_guest && $mailprogram && ($FORM{‘email‘} !~ /[\,\:\;]/));

After that, the email must be in "normal" form.

line 957:
if ($FORM{‘email‘} =~ /.*?\@.*?\..*?/) {
open (MAIL, "|$mailprogram $FORM{‘email‘}");

  但这个过滤是不够的:管道符没有被过滤。我们可以提交一个带命令的email变量,以管道符作为命令和emial变量的分割线。如果它看起来象是一个普通的email地址。CGI会执行这个email所附带的命令。举例说明:使用一个email变量,注意引号内的内容:“|bleh|bob@example.com”

  以管道符作为分界线的内容提交给远程服务器,就会执行这条命令:“/bin/sh -c |bleh|bob@example.com”,检查error_log,你会发现下面的内容:
sh: bleh: command not found
sh: bob@example.com: command not found

读到这里,大家应该明白攻击者可能利用这个漏洞在服务器上创建一个后门,用以进入执行这个CGI script的服务器。

局限性:

  首先,guestserver.cgi必须配置允许向guest发送邮件,才能通过向guestbook张贴带命令的邮件地址的方法来利用这个漏洞。

  服务器上的guestbook配置文件里必须有这一句: <-guestbook.mailto_guest-> # Yes = 1, No = 0

  另外,在提交的emial变量里不能带有冒号,否则,email变量将会被打乱。所以不能使用如i.e.: "xterm -ut -display 127.0.0.1:0.0"之类的命令。

解决方法:

1、快速方式(但不太好)

  在guestbook配置文件里选择不接受发送邮件给guest,即设置<-guestbook.mailto_guest->指示为0。

2、更好的方法:

  修改程序,完全过滤控制字符。




B2层 发表时间: 04-08-18 16:23

回复: bluecat_ [bluecat_]   论坛用户   登录
哦........稻草人谢谢你哦

B3层 发表时间: 04-08-18 17:04

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号