当我们测试Web应用程序的安全性的时候,经常需要对HTTP流量进行分析和动态修改。此外,取得对Web 应用程序流出和流入的数据的控制权不仅对Web 应用程序安全缺陷的发现和漏洞的利用等安全测试任务具有很大的帮助,而且还有利于常规的Web 应用程序测试。本文中,我们将讲解用于上述目的的工具:LiveHttpHeaders,有了这个Firefox扩展,我们不必架设代理服务器就可以方便地分析和操纵HTTP流量。
一、LiveHttpHeaders的安装
LiveHttpHeaders是一个用于分析HTTP流量的 Firefox 扩展,我们可以用它来分析和重放http请求。我们下面详细的说明该插件的安装步骤。首先,将浏览器导航至http://LiveHTTPHeaders.mozdev.org/installation.html,然后鼠标单击“Install version 0.14 of LiveHTTPHeaders now”超链接来选择当前的最新版本,如下图所示:
 

 
图1  单击图中所示的链接
如果Firefox阻止了该扩展的安装,可以在单击右边的“允许”按钮以继续安装。如下图所示:

 
图2  点击“允许”按钮
单击上图中的“允许”按钮就会启动安装过程,这时浏览器会弹出如下所示的“软件安装”对话框,如下图所示:

 
图3  单击“立即安装”按钮
单击“软件安装”对话框中的“立即安装”按钮进入下一安装画面,如下图所示:

 
图4  重启浏览器
在“附加附件”对话框中,请单击“重新启动Firefox”按钮,当浏览器重启后,会自动弹出如下所示画面:

 
图5  安装结束
这说明我们已经成功安装好了LiveHttpHeaders扩展,关闭该对话框,我们就能在工具菜单以及“查看”菜单下的“侧栏”子菜单中看到LiveHttpHeaders的菜单项了。
二、LiveHttpHeaders主窗口
根据我们目的的不同,LiveHttpHeaders有两种启动方法:当我们只想监视通信量的时候,可以从浏览器的“查看”菜单中选择“侧栏”菜单项,最后选择Live HTTP Headers菜单项;如果要使用该工具全部特性的话,则需要通过单击“工具”菜单中的Live HTTP Headers项来打开它,如下图所示。

 
图6  Live HTTP Headers的主窗口
LiveHttpHeaders主窗口中有多个选项卡,不同的选项卡对应于不同的功能。窗口的中间部分显示的是发出的请求和收到的响应,而各个请求-应答对之间有水平线进行分隔。该窗口底部包含LiveHttpHeaders的动作按钮以及规定是否启用捕获模式的“Capture”复选框。选中这个按钮可以停止LiveHttpHeaders向下滚动,以便对已经产生的通信流量进行分析。
三、利用LiveHttpHeaders重放请求
除了监视HTTP流量外,我们还能利用LiveHttpHeaders重放一个请求,这对于Web 应用程序的安全性测试来说非常重要。LiveHttpHeaders使我们能够轻松读写之前的请求,所以也就能够方便地通过修改该请求的各个部分来测试程序的弱点和缺陷。要进行重发的话,只要在窗口中间部分已列出的请求中选择一个,然后在窗口底部单击“Replay”按钮就会弹出如同图7中看到的那样的窗口,我们能够在此对该请求进行各种修改,例如我们可以添加额外的头部,改变请求方式(GET或POST),或者修改发往服务器的参数,等等。对请求做好修改后,单击“Live HTTP Replay”对话框底部的“Replay”按钮即可实现该请求的重发。

 
图7  请求重放对话框
重放可能是LiveHttpHeaders中最有用的功能,因为它直接把请求的结果加载到浏览器中,这正是各Web代理程序所不具备的,如Burp。利用重放窗口,我们可以进一步利用浏览会话进行各种修改并查看其结果。
四、修改POST参数
正如前面提到的那样,我们能够利用重放功能来改变请求的任何部分,其中包括POST参数,如图8所示。注意,改变POST 请求时,需要注意头部中的Content-Length参数,因为LiveHTTPReplay不能动态提供请求内容的长度值。虽然大多数Web服务器/ 应用程序并不关心该值的对错,但是按照RFC的规范,该头部是必需的。如果不包含这个值,当使用了入侵检测系统(IDS)监控Web通信流量时,就会引起 IDS报警。幸运的是,LiveHttpHeaders提供了一个长度计数器,它位于该窗口的左下方,我们可以利用它来插入我们的内容长度值。

 
图8  即时重放HTTP
除GET和POST请求之外,我们还可以利用这个工具通过TRACE、TRACK 和OPTIONS方式来测试Web服务器。例如,为重放工具提供下列命令,就可以测试一个Web服务器是否允许无限制的文件上载。

 
图9  模拟HTTP  PUT
五、过滤功能
最后要介绍的是如何过滤掉不想要的请求类型,这会在检查大型Web 应用程序时减少我们的工作量。首先单击Live HTTP Headers主窗口中的Config选项卡,如下图所示:

 
图10  LiveHTTPHeaders 的配置对话框
通过该配置视图,我们可以排除和包括匹配特殊正则表达式规则的URL。使用“Filter URLs with regexp ”和“exclude URLs with regexp ”,可以根据请求的URL来规定哪些类型的请求是我们想要的。在上图中,以.gif、.jpg、.ico、.css和.js 结尾的请求将会排除在Headers视图之外。
六、小结
本文中,我们对LiveHttpHeaders在安全测试方面的功能做了详细的介绍。总的来说,在发现XSS缺陷方面,LiveHttpHeaders是最常用的工具之一。我们可以通过几次点击就能很轻松地查看请求的内部细节,修改并重放它们。如果您留心观察的话,您就会发现LiveHttpHeaders重放的每个请求的结果,仍会进入浏览器窗口。与其它的测试工具例如应用程序代理等不同的是,LiveHttpHeaders提供了一个可视化的结果,这能帮你更快地理解它们

Web黑客工具箱之LiveHttpHeaders相关推荐

  1. 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(3)暴力破解目录与文件位置

    黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(3)暴力破解目录与文件位置 文章目录 黑帽python第二版(Black Hat P ...

  2. 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(4)暴力破解HTML表单身份验证

    黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第五章 WEB黑客(4)暴力破解HTML表单身份验证 文章目录 黑帽python第二版(Black Ha ...

  3. 走进黑客工具箱:使用 Whatweb 和 Acunetix 加固您的 Web 应用程序

    数据来源 Whatweb WhateWhatweb是一个基于Ruby语言的开源网站指纹识别软件,正如它的名字一样,,whate能够识别各种关于网站的详细信息,包括:CMS类型.博客平台.中间件.web ...

  4. 简单有趣的web项目_有趣而简单的电子项目书

    简单有趣的web项目 "当您去商店购买电子小物件时,您会想到自己可以自己做一个吗?或者甚至可以自己做一个有趣的事情?" 这就是约翰·贝希塔尔(John Baichtal)的面向初学 ...

  5. 终极黑客大杀器,可以把互联网杀一遍!

    [黑客联盟2016年11月21日讯]黑客们一直在寻找能够利用的漏洞,获取访问公司网络.工业控制系统.金融数据等的权限.黑客工具箱隐藏得最深的工具当属 Google Dorking,该工具可以识别出存在 ...

  6. win7 下载android源代码_适用于Android的30种最佳免费黑客应用程序和工具

    在本文中,我们将列出前30个Android黑客工具,以帮助完成网络和渗透测试任务. 适用于Android的30种最佳免费黑客应用程序和工具 NMap for Andr oid(NetworkMappe ...

  7. 万字讲解9种Web应用攻击与防护安全。XSS、CSRF、SQL注入等是如何实现的

    OWASP(开放Web软体安全项目- Open Web Application Security Project) 是一个开源的.非盈利的全球性安全组织,致力于应用软件的安全研究.使命 是使应用软件更 ...

  8. 面向初级 Web 开发人员的 Tomcat

    2019独角兽企业重金招聘Python工程师标准>>> 开始之前 关于本教程 本教程向 Java Web 开发人员介绍使用 Tomcat 对 JavaServer Pages (JS ...

  9. 黑客编程为什么首选Python语言?这个高速你答案!

    添加微一起学习Python,欢迎各位大牛指教,小白求学.mengy7762 [围鑫(同音)] 编程对于任何一个新手来说都不是一件容易的事情,特别是在中国基本以C语言作为启蒙语言的国家.python对于 ...

最新文章

  1. JAVA中dis_求助!!为什么我的dispose()不起作用
  2. android 耳机检测,android – 检测耳机是否有麦克风
  3. 用SmarterFox替换Internet Explorer的“加速器”
  4. flowable modler为任务节点增加自定义属性
  5. Spark基础学习笔记20:RDD持久化、存储级别与缓存
  6. CIT 中文笔记完整版
  7. HYSBZ1061题解
  8. app国际化多语言strings.xml 与 Excel 互相转换的工具,支持iOS和Android
  9. 文件上传系统php源码,PHP文件上传下载案例代码
  10. word 目录 有一部分无无虚线,解决办法
  11. 光流传感器 定位精度_基于多传感器的无人机定位和避障技术研究
  12. 微信自定义分享功能实现
  13. GStreamer - On Windows
  14. 纵观计算机简史ppt,纵观计算机简史初中信息技术新课本中国地图出社课件.ppt...
  15. android 常用加密,分享一下Android各种类型的加密
  16. 为什么服务器系统会异常,windows服务器查看系统异常
  17. 文达信息工程学院计算机学院,安徽文达信息工程学院计算机工程学院来我校信息工程学院调研交流...
  18. android alarmmanager定时任务,AlarmManager 定时任务详解
  19. python多个列表排列组合_多个列表的排列组合(笛卡儿积) | 迭代实现
  20. JAVA:实现简单的人员管理系统

热门文章

  1. 电池的寿命(信息学奥赛一本通-T1229)
  2. 动态规划 —— 背包问题 P04 —— 混合背包
  3. 哥德巴赫猜想(信息学奥赛一本通-T1157)
  4. 信息学奥赛C++语言:某年某月天数
  5. 信息学奥赛一本通C++语言——1029:计算浮点数相除的余
  6. 信息学奥赛C++语言:求正方形的面积
  7. Spoken English-口语-练习频次
  8. python求函数一二阶导_python:利用多种方式解微分方程(以二阶微分系统零状态响应为例)...
  9. require无法使用变量_被框架玩坏的孩子们浏览器环境下使用require
  10. lbp特征提取算法 知乎_Hog,SIFT以及LBP这三种特征有什么不同?