日度归档:2014 年 11 月 12 日

部署使用WebGoat6网络漏洞测试平台

什么是WebGoat?引用一下OWASP官方介绍:

WebGoat是OWASP组织研制出的用于进行web漏洞实验的应用平台,用来说明web应用中存在的安全漏洞。WebGoat运行在带有java虚拟机的平台之上,当前提供的训练课程有30多个,其中包括:跨站点脚本攻击(XSS)、访问控制、线程安全、操作隐藏字段、操纵参数、弱会话cookie、SQL盲注、数字型SQL注入、字符串型SQL注入、web服务、Open Authentication失效、危险的HTML注释等等。WebGoat提供了一系列web安全学习的教程,某些课程也给出了视频演示,指导用户利用这些漏洞进行攻击。

WebGoat多年来一直是版本5.4,今年升级为版本6。主要是基于新的框架和界面对各项课程进行了重新集成,项目主页是 https://github.com/WebGoat/WebGoat

先来看一下两个版本的界面:

实际使用中,新版本不仅界面漂亮,关键是hints、solutions等选项的内容更加完善,便于学习。使用WebGoat有两种方法,一是直接下载运行包WebGoat-6.0-exec-war.jar,然后:

java -jar WebGoat-6.0-exec-war.jar

随后就可以在本机浏览器里使用了:http://localhost:8080/WebGoat

但是个人更倾向于另一种方法,就是下载源码包,通过maven部署使用。好处是可以完成一些需要修改源代码的课程,而且不限于本机运行。但全新安装tomcat、maven、java等必需环境,而且把参数设置好非常麻烦,所以直接在OWASP的Broken Web APP虚拟机上使用是最方便的,因为环境都已经构建好了。具体步骤如下:

下载得到WebGoat-Master.tar.gz,复制到/var/www里解压,得到WebGoat-master项目目录;
因为虚拟机启动时tomcat已经运行了,所以要先停止服务,再用mvn启动。将几个过程写成批处理:

    cat >~/run_webgoat6.sh<<EOF
    /etc/init.d/tomcat6 stop
    cd /var/www/WebGoat-master
    mvn clean tomcat:run-war
    EOF

这样,WebGoat5.4和6两个版本就是虚拟机里共存了。开机以后不运行run_webgoat6.sh脚本,则启动webgoat5.4,运行了以后再从主界面进入就可以play了!