首页 理论教育 WebGoat实验环境介绍-网络安全防范项目教程

WebGoat实验环境介绍-网络安全防范项目教程

时间:2023-11-26 理论教育 版权反馈
【摘要】:WebGoat是著名的Web应用安全研究组织OWASP旗下的开源项目,是一个平台无关的Web安全漏洞实验环境,目前的版本已经到了5.4。WebGoat需要Apache Tomcat和Java开发环境的支持。3)因为最新版本运行在一个特权端口上,所以需要使用下列命令来启/停WebGoat Tomcat。图7-1 WebGoat的起始页面图7-2 进入学习页面5.FireBug安装在完成WebGoat的任务时,需要修改页面的部分元素,建议使用Firefox浏览器进行浏览。

WebGoat实验环境介绍-网络安全防范项目教程

WebGoat是著名的Web应用安全研究组织OWASP旗下的开源项目,是一个平台无关的Web安全漏洞实验环境,目前的版本已经到了5.4。WebGoat包括了一个设计了大量的Web缺陷的、基于TomCat Server的J2EE Web应用。人们可以通过攻击这些漏洞学习和理解Web攻击的一些基本概念。

WebGoat的每个教程都明确告诉读者存在什么漏洞,对于如何利用漏洞给出了大量的解释,但是如何去攻破需要读者自己去查阅资料,了解该漏洞的原理、特征和攻击方法,甚至要自己去找攻击辅助工具。

WebGoat需要Apache Tomcat和Java开发环境的支持。它分别为Microsoft Windows和UNIX环境提供了相应的安装程序,下面将根据操作系统分别加以介绍。

1.安装Java和Tomcat

从版本5开始,这一步可以省略,因为它们自身带有Java Development Kit和Tomcat 5.5。

2.安装到Windows系统

1)将WebGoat-OWASP_Standard-5.4.zip解压至合适的目录中。

2)若要启动Tomcat,切换至前面存放解压后的WebGoat的目录,然后双击Webgoat.bat即可。

3)启动浏览器,在地址栏输入:http://localhost/WebGoat/attack。

注意,这个链接地址是区分大小写的,务必确保其中使用的是大写字母W和G。

对于5.3以前的版本,在地址栏输入:http://localhost/webgoat/attack。

3.安装到Linux系统

1)将WebGoat-OWASP_Standard-x.x.zip解压至工作目录。

2)将Webgoat.sh文件中的第17、19和23行中的“1.5”改为“1.6”。

3)因为最新版本运行在一个特权端口上,所以需要使用下列命令来启/停WebGoat Tomcat。

①当作为root用户运行在80端口时,使用:

sudo sh webgoat.sh start80

sudo sh webgoat.sh stop

②当运行在8080端口时,使用:

sh webgoat.sh start8080

sh webgoat.sh stop

4.WebGoat访问方式

访问URL:http://localhost:8080/WebGoat/attack

用户名和密码是:guest/guest

WebGoat的起始页面如图7-1所示。单击“Start WebGoat”按钮,进入学习页面,如图7-2所示。学习页面的左上方是语言选择,只有英语俄语两种。页面的左侧是学习的项目菜单,右侧是学习内容。如果学习有困难,可单击上方菜单的“Hints”得到提示和帮助。

978-7-111-48532-2-Chapter07-25.jpg

图7-1 WebGoat的起始页面

978-7-111-48532-2-Chapter07-26.jpg

图7-2 进入学习页面

5.FireBug安装

在完成WebGoat的任务时,需要修改页面的部分元素,建议使用Firefox浏览器进行浏览。Firefox浏览器中的FireBug是个很不错的工具,可以帮助读者早日通关。

1)单击菜单栏中的“工具”→“附加组件”,打开组件管理器,如图7-3所示。

2)在获取附加组件中搜索FireBug,单击安装即可,如图7-4所示。

978-7-111-48532-2-Chapter07-27.jpg

图7-3 组件管理器

978-7-111-48532-2-Chapter07-28.jpg

图7-4 安装FireBug(www.xing528.com)

3)打开FireBug,图7-5中标记的是重点使用的三个按钮。分别是“查看页面元素”、“HTML”和“脚本”。在Javascript调试时,应在图7-5中将脚本项设置为“启动”。

978-7-111-48532-2-Chapter07-29.jpg

图7-5 重点使用的三个按钮

6.使用FireBug定位查看页面元素

1)在激活了FireBug中的“查看页面元素”按钮后,当鼠标在页面移动时,会有一个蓝框高亮显示当前鼠标所在元素,可以在下面的HTML栏的DOM(Document Object Model)树里面找到相应的元素所在位置,如图7-6所示。

978-7-111-48532-2-Chapter07-30.jpg

图7-6 定位查看页面元素

2)找到该元素后,单击左键确认,释放“查看页面元素”按钮功能,就可以在HTML栏里面修改该元素的值。

比如要把“How To Work With WebGoat”修改成“Welcome to Paipai”。单击978-7-111-48532-2-Chapter07-31.jpg,输入978-7-111-48532-2-Chapter07-32.jpg,然后查看页面,可以看到已经即时生效。

7.Javascript调试

下面用WebGoat中的一个实例来显示Javascript调试的功能。

实例位置:AJAX Security中的“客户端存储安全”(Insecure Client Storage)。

训练目标:用户输入一个coupon后单击“Purchase”,前台JavaScript会验证code的有效性,要求通过修改JavaS-cript运行时的变量值跳过这个检查,如图7-7所示。

978-7-111-48532-2-Chapter07-33.jpg

图7-7 Insecure Client Storage的提示页面

1)使用“查看页面元素”工具查看coupon code输入框,发现提交时,验证coupon code的JavaScript函 数 是javascript/clientSideValidation.Javascript中 的isValidCoupon(field1.value)函数,如图7-8所示。

978-7-111-48532-2-Chapter07-34.jpg

图7-8 查看coupon code输入框

2)选中脚本栏,选择javascript/clientSideValidation.Javascript文件,就可以找到isValid-Coupon函数,或者在右侧的搜索框中直接输入isValidCoupon也可以查找到它。如图7-9所示。

978-7-111-48532-2-Chapter07-35.jpg

图7-9 查找isValidCoupon函数

3)查看isValidCoupon函数,可以发现下图红框处就是判断coupon code是否合法的关键代码行了,在行数左侧单击左键设置一个断点。如图7-10所示。

978-7-111-48532-2-Chapter07-36.jpg

图7-10 查找isValidCoupon函数

4)在coupon code的输入框内输入任何一个字母,如图7-11所示。

978-7-111-48532-2-Chapter07-37.jpg

图7-11 在coupon code的输入框内输入

5)这时激活了onkeyup事件,调用isValidCoupon,程序运行到设置的断点处,如图7-12所示,可以看到输入的是coupon=1。

978-7-111-48532-2-Chapter07-38.jpg

图7-12 程序运行到设置的断点处

6)把鼠标放到变量decrypted上,显示decrypted="PLATINUM"。

7)如果要函数返回ture,需要coupon==decrypted成立,所以要在右边的监控栏中把coupon的值改成PLATINUM。如图7-13所示。

978-7-111-48532-2-Chapter07-39.jpg

图7-13 修改coupon的值

8)鼠标移动到coupon上可以看到coupon的值已经被修改,单击“运行”按钮通过。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈