中安E社区
@hacker.cn
今日导读
→ 您现在的位置:首页 >>技术文摘 >>安全技术 >>数据库及web安全 >>WEB安全 >>正文
精通JavaScript攻击框架:AttackAPI(第一弹)
Hacker.cn 更新时间:09-02-17 09:17 来源:51cto 作者:宇文
  多年来客户端安全一直未引起人们的足够重视,但是如今情况发生了急剧转变,客户端安全已经成为信息安全领域的焦点之一。Web恶意软件、AJAX蠕虫、浏览历史暴破、登录检测、傀儡控制技术网络端口扫描以及浏览器劫持等各种技术只是安全研究人员地下实验室的部分技术,但是已经带来了非常大的影响。

  一种类型的安全专业浮现并变成主流利用机制时,供应厂商和个人就会开始发行框架和自动工具,来处理工具和测试过程。虽然供应厂商最初主要将精力放在AJAX审计工具方面,但是安全研究人员更关注的是连绵的系统边界,以探索事实真相。

  由于存在多种可能的攻击矢量,Web应用程序安全社区也建立了多个框架来探测、利用安全漏洞,从而揭示Web 开发社区所面临的种种问题。而本文将向大家介绍AttackAPI的详细使用方法。

  一、AttackAPI概述

  AttackAPI是一个基于Web的攻击构造库,它可以结合PHP、JavaScript及其他客户端和服务器端技术进行使用。AttackAPI有几十个不同功能的模块组成,这些模块既可以从浏览器使用,也可以从JavaScript解释器执行,例如 Mozilla Rhino。它的目标是为实现漏洞利用而提供一个简单易用的接口,主要用于测试和验证之用。

  在开始研究AttackAPI子程序之前,我们先来做一些准备工作。首先,下载该库,然后搭设一个测试环境,我们将在这个环境中开发大部分示例程序。为此,我们需要安装、运行以下应用程序:

  支持PHP 4.x或者更新的版本的HTTP服务器(Apache+PHP或者AppServ)

  www.apache.org/

  www.php.net/

  www.appservnetwork.com/

  从GNUCITIZEN下载最新的AttackAPI

  www.gnucitizen.org/projects/attackapi

  Mozilla的网络浏览器Firefox

  www.getfirefox.com

  Firefox扩展Firebug,地址www.getfirebug.com/

  启动Apache HTTP 服务器并且确保已在正常运行中。 在网上,介绍这类任务文档很多,在此不再赘述。然后,从GNUCITIZEN下载AttackAPI程序包 ,并且将其抽取到Web服务器的根文件夹中。例如,如果使用的是AppServ,那么可以将这些文件放在C:\AppServ\www\attackapi中。

  确保运行的Firefox已经安装了Firebug。我们之所以不辞劳苦的准备这些东西,是因为它们可以在将来为我们剩下许多力气,当我们从Firebug的动态控制台下做这些工作的时候,要比不停地保存和打开一些随机的临时文件要轻松得多。虽然我们这里使用的是Firefox,但是这里的例子照样可以用在其它浏览器上,只需稍作修改即可。

  做好这些初始设置后,打开Firefox,从localhost导航至AttackAPI文件夹,即http://localhost/attackapi。这时就会看到如图1所示内容。

  图1

  从AttackAPI的文件结构来到Build|Tests|firetest-interactive.htm,这个文件中包含了下面我们将用到的一些元素。因为我们不会对打开的页面的HTML内容做任何修改,所以打开 Firebug,并调整控制台使其扩展至整个屏幕。

  确保位于Console 选项卡中,并输入命令:dir(AttackAPI)。如果一切正常的话,就会看到如图2所示的AttackAPI 文档对象模型(DOM)结构。

  图2

  在本文剩下部分中,我们将使用$A对象而不是AttackAPI来访问和调用库对象和方法。$A对象是AttackAPI的一个独立的实例,并且包含更易使用的AttackAPI方法的快捷方式。 AttackAPI是一个结构化程度很高的库,通过图2可以看出,它还进一步分为AttackAPI.core(库核心)、AttackAPI.dom(跨浏览器的方法)和AttackAPI.utils(跨解释器的方法)。通过使用上面所说的约定,AttackAPI的base64编码函数的完整路径为$A.encodeBase64,是不是非常简洁呀?!这样输入代码的时候是不是省力气了,所以说,懒惰是促进人类进步的主要动力之一。

  由于我们需要输入的代码较多,所以建议使用更大的命令行,首先在“选项”下拉菜单中选择“更大的命令行”选项,如同图3所示。

  图3

  这时命令行会出现在窗口的右侧,如下图所示:

  图4

  因为我们要键入许多代码,所以难免出现输入错误。所以打开更大的命令行之后,改起来会更快、更好。

  需要注意的是,我们可以使用Load AttackAPI 书签将AttackAPI 加载到选择的页面上,尤其是当我们需要为某个站点开发利用程序,但是又不想通过Firebug修改该页面的源代码或者插入脚本标签的时候格外有用。该bookmarklet可以是从www.gnucitizen.org/projects/load-attackapi-bookmarklet下载。现在开始研究AttackAPI的客户端踩点功能。
  二、客户端踩点

  攻击者一旦控制了受害者的浏览器,他们首先要做的第一件事情就是弄清楚他们俘获的到底是什么样的客户端和平台。为达到这一目的,他们只需在Firebug的命令行中输入下列命令便可:

  console.log($A.getAgent() );

  console.log($A.getPlatform() );

  命令行窗口下方的

9 7 3 1 2 3 4 4 8 :

Tags:精通  JavaScript  攻击框架  AttackAPI  第一弹 责任编辑:333
【浏览次数: 阅】【收藏文章】【关闭此页】【问题交流
↑上一篇:
↓下一篇:
热点专题
焦点图片推荐
推荐新闻
论坛热帖
关于我们 | 网络营销 | 产品服务 | 欢迎投稿 | RSS订阅 | 友情链接 | 网站地图
CopyRight 2003-2009 www.hacker.cn All Right Reserved.中国安全信息网 版权所有 普及网络安全-振兴中华 冀ICP备05001826号
Tel:(86)0311-85880333 Fax:(86)0311-85876088 E-mail:Webmaster@Hacker.cn
中国安全信息网