当前位置: 主页 > 网络知识 > 网络安全 > Web应用漏洞测试技术

Web应用漏洞测试技术

时间:2010-1-11来源:互联网 点击:

接下来,打开WebScarab。WebScarab启动后,我们只会看到两个选项卡:Summary和Intercept。因为您想使用WebScarab进行fuzzing测试,所以要通过单击Tools > Use full-featured interface > OK来切换视图。这时,WebScarab会提示我们重新启动该软件。重启后,将看到如图3所示的界面。(WebScarab提供了一个快捷键列表--令人遗憾的是,只有两个快捷键。)

                                                                                                         图3. WebScarab界面

WebScarab界面的截屏,这里显示了多个选项卡:Spider、Extensions 、XSS /CRLF 、SessionID Analysis 、Scripted 、Fragments 、Fuzzer 、Compare 、Search 、Summary 、Messages 、Proxy 、Manual Request 和Web Services。其中Summary选项卡被高亮显示。

若要启动新的会话,请单击File > New。这时会出现一个方框,要求输入会话保存地点。 选择或者创建存储目录,然后单击OK按钮。当您在Hacme Casino上使用WebScarab时,需要在打开浏览器之前就启动服务器。 然后,在浏览器的地址栏中输入http://localhost:3000。

一旦打开浏览器,您就会看到WebScarab中出现某些活动,因为WebScarab将捕获浏览器和服务器之间的所有请求和响应。因为您想使用fuzzing功能来测试安全漏洞,所以要首先察看可能存在漏洞的地点。我们将登录作为查找潜在漏洞的第一站。若要测试登录过程,您应当记录浏览器和服务器之间的交互信息。这里不需要成功进行登录,所以您可以随意输入用户名和口令,对本例而言,我们输入的用户名和口令都为casino,然后单击login按钮。

当然,登录将失败,但是我们对此并不关心。相反,我们要立马返回到WebScarab。在Path栏中,右键单击account\login,然后单击Use as fuzz template,如图4所示.

                                                                                                               图 4. Fuzzing测试模板

Fuzzing测试模板的截屏显示了一个类似电子表格的视图,其中含有各种各样的web链接数据。

修改all_attack.txt文件
想该文件加入两行内容,即‘or ‘x‘=‘x和 ‘) or 1=1-- ,这是两行基本的SQL注入字符串,并且将在本例中用到。

执行以下步骤:

1. 单击WebScarab界面顶部的Fuzzer选项卡。

2. 单击Source。

3. 导航至字典所在位置。(我使用的是all_attack.txt)

4. 提供来源描述,并单击Add按钮。

5. 单击 Close返回Fuzzer窗口。
现在,转到user_login参数并单击Fuzz Source栏下面的相应区域。因为您仅仅装入了一个(所有的攻击)来源,所以在下拉框菜单选中它即可。对user_password参数进行同样的操作,如图5所示。

                                                                                                       图 5. 选择攻击文件

攻击文件的截屏显示了一个包含各种可编辑参数的表格。

现在,您已经定义了攻击源,所以单击Start就可以开始测试了。该fuzzer将从文件中取出参数,并将其插入用户名和口令输入字段。每当该工具完成一次尝试,屏幕就会有相应的输出内容。通常您将需要检查结果中的每个ID,以便分析每次尝试所发生的情况。然而,因为这里添加的字符串肯定奏效,所以您可以看到fuzzer成功时的情形。

双击本例中的第一个字符串,如图6所示。

                                                                                                           图 6. 查找安全漏洞

截屏显示了一个页面的解析信息。URL Encoded下面用椭圆括住的数据是用于user_login和user_password的变量。 Parsed下面用圆圈包围的数据是用于地址和站点cookie的。

需要注意的是,上面圈起来的是用于user_login和user_password的变量值,即‘) or 1=1--。接下来需要注意的是,地址已经从http://localhost:3000(主页)变为http://localhost:3000/lobby/games,看上去用户已经成功登录了。这又意味着什么呢? 它意味着你的站点是易受攻击的。因为‘) or 1=1--是一个SQL字符串,所以站点容易受到SQL注入的攻击。使用Next按钮滚动结果,并查找那个值。注意,这里的地址保持为http://localhost:3000。由此结果可知,插入这种类型的字符串不会导致成功的登录尝试,所以站点不易受这种类型的攻击的影响。

Paros Proxy

进行安全性测试的时候,另一个常用的工具是Paros Proxy。 就像WebScarab一样,Paros也能捕获浏览器和服务器之间的会话来用于分析。您还可以使用它来检查站点中的安全漏洞。为了运行Paros,您必须更改浏览器的代理设置所使用的端口号。对于WebScarab,您使用的端口号是8008;但是运行Paros之前,需要将这个端口号改为8080,否则Paros就无法正常工作。对于本文来说,我们使用WebGoat——另一款来自OWASP的安全工具。就像Hacme Casino一样,WebGoat使用Tomcat服务器作为本地主机。对于本文来说,使用Paros扫描WebGoat所找到的漏洞比Hacme Casino发现的安全漏洞要更多一些。

 

站长资讯网
.
分页: [1] [2] [3]
TAG: web应用 漏洞测试 技术
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言