当前位置:首页 > 探索

owasp broken

OWASP Broken Web Applications项目最后一次实质性更新停在2019年。不是官方宣布停止维护,是那个VM镜像里的WebGoat版本号还卡在8.0,而现在的WebGoat已经重构了三次架构。我第一次下载BWA是在2016年,当时觉得这东西简直是渗透测试新手的福音——一个预装了DVWA、WebGoat、Mutillidae、bWAPP等十几个漏洞靶场的Ubuntu虚拟机,解压即用,省去了一堆配置MySQL和PHP版本冲突的破事。

但你现在去OWASP官网翻,BWA的页面还在,下载链接还能点,只是那个SourceForge托管的2.2GB压缩包,下载速度常年徘徊在100KB/s。我上周试着重新下了一遍,花了将近四十分钟。解压之后启动VMware,登录界面还是老样子:用户名user,密码owasp。进去一看,WebGoat的欢迎页写着"Welcome to WebGoat 8.0",而GitHub上WebGoat的release已经到2023.8了。

问题不在于版本旧。版本旧恰恰是它的价值——那些老漏洞在新版本里被修了,但现实世界的生产环境里还跑着大量未修复的系统。BWA里的Mutillidae II模拟的是PHP 5.x时代的典型漏洞,SQL注入、XSS、文件包含,全是教科书级别的。你在上面练手,跟你在真实企业内网里遇到的那些三五年没更新的CMS,攻击路径几乎一样。这比在CTF平台做那些精心设计的题目要真实得多。

真正让人头疼的是兼容性。BWA基于Ubuntu 14.04,内核版本3.13。你把它跑在VMware Workstation 17上,VMware Tools装不上,剪贴板共享失效,拖拽文件直接报错。想换个网络模式做中间人攻击实验?网络适配器得手动改成NAT或者仅主机模式,有时候还得进终端敲ifconfig重新拉起eth0。这些操作对老手不算什么,但对刚入门的人来说,光是把环境跑起来就耗掉了全部耐心。

我见过有培训机构的讲师还在用BWA做教学环境。他们的做法是:把VM镜像里的靶场文件直接扒出来,部署到Docker里。WebGoat有官方Docker镜像,DVWA也有,Mutillidae的Dockerfile在GitHub上能搜到。等于说BWA作为一个“集成产品”已经死了,但它的“零件”被拆散了,以容器化的方式活着。这其实挺讽刺的——一个为了简化环境搭建而生的项目,最后因为自身环境的陈旧,被更轻量的容器方案替代了。

OWASP对BWA的态度也很微妙。他们官网的Projects页面里,BWA被归类在“实验室项目”下面,状态标注是“已归档”。没有维护者,没有邮件列表,GitHub上的issue区最后一条回复是2020年的,有人问“还会更新吗”,没人回。但下载链接就那么挂着,像一间没上锁的旧仓库,你知道里面东西过时了,可偶尔还是想进去翻翻。

如果你现在想搭一个漏洞练习环境,我的建议是别碰BWA了。去用Docker跑几个独立靶场,或者直接上TryHackMe和HackTheBox的免费房间。但如果你想理解“为什么一个安全项目会死”,BWA是个很好的标本——它死于维护者流失,死于基础镜像停止支持,死于社区从“共享虚拟机”转向“共享容器”。技术栈的迁移把它的生存空间挤没了,而OWASP作为母体,也没有足够的资源去维持每一个归档项目。

那个2.2GB的压缩包还在SourceForge上。每次有人下载,计数器就跳一下。没人知道它还能下载多久。

分享到: