WebGoat实验环境搭建 - 2016.01.01
2016-01-01 14:26
323 查看
1.1 WebGoat简介
Webgoat是OWASP组织研究出的一个专门进行web漏洞实验的应用品台,这个平台里包含了web中常见的各种漏洞,例如:跨站脚本攻击、sql注入、访问控制、隐藏字段、Cookie等;
OWASP(Open Web Application Security Project)是一个非营利的组织,它的目的是帮助个人和企业来发现和使用可信赖的软件。
1.2 用到的工具
Webscarab十一个用来分析浏览器到服务器请求或者服务器到浏览器响应信息的一个框架,或者说是一个代理。它可以查看、修改、分析、删除浏览器和服务器之间的传送的信息,可以用来对http协议和https协议进行分析。
Firebug是Firefox下的一个开发工具,包含html、css、js审查和html、css修改等多项功能,是用来调试用的。可以通过F12之间打开,也可以通过菜单 -> 开发者打开。
Webscarab需要java环境,如果没有配置好java环境先自行配置java环境,这里假设java环境已经配置完成;则我们需要下载webscarab的安装包,解压完之后,如图0所示;这是我们只需点击webscarab.jar进行安装即可。
![](http://img.blog.csdn.net/20160102145841862?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图 0 webscarab目录结构
1.3 安装过程
首先,webgoat是运行在带有java的品台之上的,如果你的机器没有安装java环境,还是需要先安装java环境的,具体java环境的安装不再介绍。
(1)下载任意版本的webgoat即可,不过还是推介下载最新版的,因为有一些实验在较低版本上是不能做的。下载完之后解压缩你会看到如图1所示的目录结构
![](http://img.blog.csdn.net/20160102145854858?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图 1 webgoat 目录结构
(2)运行图中的webgoat.bat或者webgoat_8080.bat,则会启动tomcat服务器;
(3)在tomcat服务器启动之后,我们就可以通过浏览器对webgoat站点进行访问了,具体的访问地址为如下:http://localhost:8080/WebGoat/attack或者http://127.0.0.1:8080/WebGoat/attack;有时上面两个URL都不行,这是因为我们指定了端口号,而有的浏览器是默认不指定端口号的,虽然我们的做法没错,但是却被某些浏览器不识别,因此我们常常需要测试下面的地址:http://localhost/WebGoat/attack或者http://127.0.0.1/WebGoat/attack其实localhost只是一个主机名,最后也会被替换为127.0.0.1,在Linux下我们可以通过查看/etc/host查看主机名与IP的对应关系,也可以对其进行修改。
(4)如果连接成功,这是会弹出一个用户名和密码的登录框;那么用户名和密码怎么确定呢?这时我们就需要看一下tomact的配置文件了,首先我们必须清楚配置文件在哪里,conf这个目录下就是配置文件的信息,而xml就是配置文件,在这里我们看到总共有4个配置文件。稍后我们会具体详解这四个配置文件的作用。而我们需要找的用户名和密码就可以从tomcat_user.xml中得到,具体的请看详细的配置说明。
(5)登录成功之后我们就会看到如图2所示的界面,这就是webgoat的主界面,这是我们点击屏幕上的Start Webgoat按钮就可以进入Webgoat的实验环境了。
实验环境的界面如图3所示,在这里我们可以看到左面是一个我们实验的目录结
构,右面则是我们的实验内容。
![](http://img.blog.csdn.net/20160102145907642?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图 2 WebGoat的主界面
![](http://img.blog.csdn.net/20160102145923455?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图 3 Webgoat的实验环境界面
1.4 文件说明
(1)配置文件tomacat_user.xml的说明
我们可以看到其内容如图4所示,其中<role>标签指出的是用户的身份,我们需要登录webgoat,则通过其内容我们可以看出我们的身份有admin、basic、user三种,而<user>标签,指出了每一个用户登录所需的用户名、密码和其登录之后的身份角色,对应admin、basic、user我们的用户名和密码分别是(webgoat,wengoat)、(basic,basic)、(guest,guest)。记住,我们不能以tomcat的身份进行登录,那个是tomcat服务器的用户名和密码,如果我们以其身份登录webgoat会出错。当然,在这里我们也可以指定自己的用户名和密码或者修改用户民和密码,不用修改角色只需修改用户名和密码即可。
![](http://img.blog.csdn.net/20160102145939527?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图 4 tomcat_user.xml
(2)配置文件server.xml的说明
这个配置文件和第一个一样都很简单,server即服务的意思,在这里只不过对服务器的服务和其端口号进行设定,另外还对http链接所传输的内容大小、时间等作出了规定;
(3)配置文件web.xml的说明
这个配置文件恐怕是最复杂的了,在web.xml中元素定义的先后顺序不能颠倒,否则Tomcat服务器可能会抛出SAXParseException。其中对filter过滤器、servlet、servlet映射、welcom清单、受保护文件、安全验证角色、安全验证登录界面等作出了详细的规定;
(4)配置文件context.xml的说明
context.xml是Tomcat公用的环境配置;tomcat服务器会定时去扫描这个文件,一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。context.xml的三个作用范围:
① tomcat server级别:在/conf/context.xml里配置
② Host级别:在/conf/Catalina/${hostName}里添加context.xml,进行配置
③ web app 级别:在/conf/Catalina/${hostName}里添加${webAppName}.xml,继而进行配置
1.5 代理设置
不同浏览器的代理设置是不同的,下面我就对Chrome浏览器、Firefox浏览器、IE浏览器这三大浏览器的代理设置做一下讲解。但是在这里我们需要设置的代理地址为:localhost,端口为8008。
(1)Chrome浏览器代理设置
①打开Chrome浏览器,点击菜单,点击"设置":
![](http://img.blog.csdn.net/20160102150019400?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
②向下滚动鼠标,直到出现"显示高级设置"的链接,然后点击"显示高级设置"
![](http://img.blog.csdn.net/20160102150037002?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
③然后在多出来的选项中找到"网络"选项.然后点击"更改代理服务器设置"按钮,在弹出的Internet 属性窗口中点击"局域网设置"按钮
![](http://img.blog.csdn.net/20160102150050406?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
④勾选"为 LAN 使用代理服务器"选项,然后再勾选 "跳过本地地址的代理服务器",接着填写代理服务器地址和端口号.点击确定,确定即可
![](http://img.blog.csdn.net/20160102150107291?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
(2)Firefox浏览器代理设置
①打开菜单->选项
![](http://img.blog.csdn.net/20160102150127111?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
②选择高级->设置
![](http://img.blog.csdn.net/20160102150204685?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
③选择手动代理,填写代理地址和端口号
![](http://img.blog.csdn.net/20160102150225680?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
(3)IE代理设置
①选择菜单->Internet选项
![](http://img.blog.csdn.net/20160102150241744?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
②点击连接
![](http://img.blog.csdn.net/20160102150258407?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
③点击局域网设置
![](http://img.blog.csdn.net/20160102150313464?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
到此为止,Webgoat的安装、配置以及所需实验工具的安装和环境的搭建我们就讲解完了,接下来我们就可以进行实验了。有些人可能还会存在像webgoat怎么做、webscarab怎么用、Firefox开发工具怎么用等疑问,别着急,接下来我们就开始步入webgoat大讲堂。
Webgoat是OWASP组织研究出的一个专门进行web漏洞实验的应用品台,这个平台里包含了web中常见的各种漏洞,例如:跨站脚本攻击、sql注入、访问控制、隐藏字段、Cookie等;
OWASP(Open Web Application Security Project)是一个非营利的组织,它的目的是帮助个人和企业来发现和使用可信赖的软件。
1.2 用到的工具
Webscarab十一个用来分析浏览器到服务器请求或者服务器到浏览器响应信息的一个框架,或者说是一个代理。它可以查看、修改、分析、删除浏览器和服务器之间的传送的信息,可以用来对http协议和https协议进行分析。
Firebug是Firefox下的一个开发工具,包含html、css、js审查和html、css修改等多项功能,是用来调试用的。可以通过F12之间打开,也可以通过菜单 -> 开发者打开。
Webscarab需要java环境,如果没有配置好java环境先自行配置java环境,这里假设java环境已经配置完成;则我们需要下载webscarab的安装包,解压完之后,如图0所示;这是我们只需点击webscarab.jar进行安装即可。
图 0 webscarab目录结构
1.3 安装过程
首先,webgoat是运行在带有java的品台之上的,如果你的机器没有安装java环境,还是需要先安装java环境的,具体java环境的安装不再介绍。
(1)下载任意版本的webgoat即可,不过还是推介下载最新版的,因为有一些实验在较低版本上是不能做的。下载完之后解压缩你会看到如图1所示的目录结构
图 1 webgoat 目录结构
(2)运行图中的webgoat.bat或者webgoat_8080.bat,则会启动tomcat服务器;
(3)在tomcat服务器启动之后,我们就可以通过浏览器对webgoat站点进行访问了,具体的访问地址为如下:http://localhost:8080/WebGoat/attack或者http://127.0.0.1:8080/WebGoat/attack;有时上面两个URL都不行,这是因为我们指定了端口号,而有的浏览器是默认不指定端口号的,虽然我们的做法没错,但是却被某些浏览器不识别,因此我们常常需要测试下面的地址:http://localhost/WebGoat/attack或者http://127.0.0.1/WebGoat/attack其实localhost只是一个主机名,最后也会被替换为127.0.0.1,在Linux下我们可以通过查看/etc/host查看主机名与IP的对应关系,也可以对其进行修改。
(4)如果连接成功,这是会弹出一个用户名和密码的登录框;那么用户名和密码怎么确定呢?这时我们就需要看一下tomact的配置文件了,首先我们必须清楚配置文件在哪里,conf这个目录下就是配置文件的信息,而xml就是配置文件,在这里我们看到总共有4个配置文件。稍后我们会具体详解这四个配置文件的作用。而我们需要找的用户名和密码就可以从tomcat_user.xml中得到,具体的请看详细的配置说明。
(5)登录成功之后我们就会看到如图2所示的界面,这就是webgoat的主界面,这是我们点击屏幕上的Start Webgoat按钮就可以进入Webgoat的实验环境了。
实验环境的界面如图3所示,在这里我们可以看到左面是一个我们实验的目录结
构,右面则是我们的实验内容。
图 2 WebGoat的主界面
图 3 Webgoat的实验环境界面
1.4 文件说明
(1)配置文件tomacat_user.xml的说明
我们可以看到其内容如图4所示,其中<role>标签指出的是用户的身份,我们需要登录webgoat,则通过其内容我们可以看出我们的身份有admin、basic、user三种,而<user>标签,指出了每一个用户登录所需的用户名、密码和其登录之后的身份角色,对应admin、basic、user我们的用户名和密码分别是(webgoat,wengoat)、(basic,basic)、(guest,guest)。记住,我们不能以tomcat的身份进行登录,那个是tomcat服务器的用户名和密码,如果我们以其身份登录webgoat会出错。当然,在这里我们也可以指定自己的用户名和密码或者修改用户民和密码,不用修改角色只需修改用户名和密码即可。
图 4 tomcat_user.xml
(2)配置文件server.xml的说明
这个配置文件和第一个一样都很简单,server即服务的意思,在这里只不过对服务器的服务和其端口号进行设定,另外还对http链接所传输的内容大小、时间等作出了规定;
(3)配置文件web.xml的说明
这个配置文件恐怕是最复杂的了,在web.xml中元素定义的先后顺序不能颠倒,否则Tomcat服务器可能会抛出SAXParseException。其中对filter过滤器、servlet、servlet映射、welcom清单、受保护文件、安全验证角色、安全验证登录界面等作出了详细的规定;
(4)配置文件context.xml的说明
context.xml是Tomcat公用的环境配置;tomcat服务器会定时去扫描这个文件,一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。context.xml的三个作用范围:
① tomcat server级别:在/conf/context.xml里配置
② Host级别:在/conf/Catalina/${hostName}里添加context.xml,进行配置
③ web app 级别:在/conf/Catalina/${hostName}里添加${webAppName}.xml,继而进行配置
1.5 代理设置
不同浏览器的代理设置是不同的,下面我就对Chrome浏览器、Firefox浏览器、IE浏览器这三大浏览器的代理设置做一下讲解。但是在这里我们需要设置的代理地址为:localhost,端口为8008。
(1)Chrome浏览器代理设置
①打开Chrome浏览器,点击菜单,点击"设置":
②向下滚动鼠标,直到出现"显示高级设置"的链接,然后点击"显示高级设置"
③然后在多出来的选项中找到"网络"选项.然后点击"更改代理服务器设置"按钮,在弹出的Internet 属性窗口中点击"局域网设置"按钮
④勾选"为 LAN 使用代理服务器"选项,然后再勾选 "跳过本地地址的代理服务器",接着填写代理服务器地址和端口号.点击确定,确定即可
(2)Firefox浏览器代理设置
①打开菜单->选项
②选择高级->设置
③选择手动代理,填写代理地址和端口号
(3)IE代理设置
①选择菜单->Internet选项
②点击连接
③点击局域网设置
到此为止,Webgoat的安装、配置以及所需实验工具的安装和环境的搭建我们就讲解完了,接下来我们就可以进行实验了。有些人可能还会存在像webgoat怎么做、webscarab怎么用、Firefox开发工具怎么用等疑问,别着急,接下来我们就开始步入webgoat大讲堂。
相关文章推荐
- Codeforces Good Bye 2015 E. New Year and Three Musketeers
- 微软雅虎猛追,Google搜索市场份额跌至64%
- Codeforces Good Bye 2015
- ubuntu 下Linpack安装,MPI+GOTOBLAS2
- GOLANG打包
- HDU1533-Going Home 简单KM
- Good Bye 2015 C New Year and Domino(dp)
- Good Bye 2015 C. New Year and Domino 二维前缀
- Codeforces Good Bye 2015 C. New Year and Domino (预处理)
- Good Bye 2015 A. New Year and Days 签到
- Good Bye 2015 C
- Good Bye 2015 A
- 如何将DJANGO轻量级化
- django乱码问题
- go标准命令详解0.14 go env
- go标准命令详解0.13 go tool cgo
- go标准命令详解0.12 go tool pprof
- go标准命令详解0.11 go vet与go tool vet
- go标准命令详解0.10 go fix与go tool fix
- go标准命令详解0.9 go fmt与gofmt