WebScarab可以分析使用HTTP和HTTPS协议进行通信的应用程序,可以用最简单的形式记录它观察的会话,并提供多种方式来观察会话。
WebScarab功能较多,初学者可以先使用拦截、修改浏览器和HTTP/S服务器的请求和响应等功能。
这里以Firefox浏览器为例来介绍WebScarab的使用,并要求能够自由访问因特网,即并非位于一个代理之后。
WebScarab是一个可执行的jar文件,下载后,双击打开,初始页面如图5-11所示。 图5-11 首次打开WebScarab
图5-11是WebScarab启动后的截图,其中有几个主要的区域需要介绍一下。首先要介绍的是工具栏,从这里可以访问各个插件、摘要窗口(主视图)和消息窗口。
摘要窗口分成两个部分,图5-11上面部分标记为“窗口1”的是一个树表,显示访问的站点的布局,以及各个URL的属性。下面部分标记为“窗口2”的是一个表格,显示通过WebScarab可以看到的所有会话,正常情况下以ID逆序排列,所以靠近表顶部的是最近的会话。当然,会话的排列顺序是可以更改的,如果需要的话,只需通过单击列的标题即可。
为了将WebScarab作为代理使用,需要配置浏览器的设置。单击Firefox的“选项”菜单,打开如图5-12所示窗口,在“网络”页框中单击“设置”按钮,打开如图5-13所示的代理配置对话框。若使用IE浏览器,依次选择【工具】|【Internet 选项】|【连接】|【局域网设置】,同样打开如图5-13所示的对话框。
图5-12 Firefox“选项”菜单
图5-13 Firefox局域网设置
选中“代理服务器”下的“为LAN使用代理服务器”的复选框,地址填“localhost”,端口填“8008”(WebScarab默认使用8008端口)。单击“确定”按钮,即为Firefox配置好了代理服务器。
重新回到浏览器,浏览一个非SSL的网站,此时Firefox会把各种请求转发给WebScarab,此时应该看到如图5-14所示的界面。若浏览时遇到错误,请检查Firefox中的代理设置是否正确。如果代理设置是正确的,还有一种可能原因是端口8008已经被其它程序占用,此时应当停用占用8008端口的程序。
图5-14 WebScarab作为代理
注意:如果正在使用WebScarab测试的站点与浏览器位于同一个主机之上(即localhost或者127.0.0.1),并且浏览器为IE7以上或Firefox的话,则需要在主机名的后面添加一个点号“.”,从而强迫浏览器使用之前配置的代理。例如“http://localhost.:8080/test/login.jsp”,将强迫浏览器使用我们配置的代理。
访问http://localhost.:8080/test/login.jsp,WebScarab界面如图5-15所示。
图5-15 WebScarab为本机访问做代理
图中的URL树用来表示站点布局,以及经过WebScarab的各个会话。要想查看一个特定会话的详细信息,用户可以双击表中的一行,这时会弹出一个显示请求和响应的详细信息的窗口。用户可以通过多种形式来查看请求和响应,图5-16显示的是一个Parsed视图,报头被分解成一个表,并且请求或者响应的内容按照Content-Type报头进行显示。还可以选择Raw格式,请求或者响应就会严格按照它们的原始形态进行展示,如图5-17。
图5-16 Parsed视图
图5-17 Raw格式
在会话窗口中,用户可以通过“Previous”按钮和“Next”按钮从一个会话切换到另一个会话,也可通过下拉组合框直接跳到特定的会话。
熟悉了WebScarab的基本界面且正确配置了浏览器之后,就可以拦截一些请求,并且在它们被发送给服务器之前对其进行修改。
可以启用代理插件的拦截功能,方法是通过工具栏上的“proxy”按钮。然后,选择“Manual Edit”选项卡。选中“Intercept Requests”复选框后,用户就可以选择希望拦截的请求方法(通常是GET或者POST),如图5-18,这里先选择“GET”。
图5-18 WebScarab Proxy
现在,返回到浏览器,并访问任意一个网址(如http://localhost.:8080/webgoat/attack)。这时,将会看到如图5-19所示的一个窗口。最初,它只是在任务栏闪烁,点击即可打开。
图5-19 请求拦截页面
现在就可以编辑选择的请求的任何部分了。需要注意的是,报头是以URL译码形式显示的,而输入的一切都会自动地URL编码,也可以使用Raw模式。
做出修改后,单击“Accept changes”按钮就会将修改后的请求发送到服务器。单击“Cancel changes”按钮则取消所有的修改,这样就会发送原始的请求。单击“Abort request”按钮,则退出发送请求,这会向浏览器返回一个错误。如果打开了多个拦截窗口,可单击“Cancel ALL intercepts”按钮来释放所有的请求。
WebScarab将一直拦截所有的匹配用户指定的方法的请求,直到用户在拦截会话窗口或者Proxy插件的“Manual Edit”选项卡取消选中“Intercept requests”复选框为止。
WebScarab默认不会拦截对图像、样式表、JavaScript等内容的请求,这是在“Manual Edit”选项卡中的“Exclude paths matching :”栏中规定的,该栏包含一个正则表达式,用于匹配请求的URL,如果匹配,则该请求就不会被拦截。
如果想改变页面某些行为的话,还可以通过配置WebScarab使其拦截有关响应,如可以
禁用JavaScript验证、修改SELECT字段可选项等。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务