首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每周尝鲜·bWAPP

本周主要介绍一个开源的漏洞演示平台 -- bWAPP。这个小巧玲珑的平台包含了超过100个常见的Web漏洞,如XSS、CSRF、SQL注入以及敏感数据暴露等等均可演示。本文主要介绍该平台的安装及使用,并以最近微信支付的XXE漏洞作为实践进行演示讲解。

安装

访问官网下载bWAPP

http://www.itsecgames.com/

下载后是压缩包,是一个PHP项目,安装过程类似普通的建站工具。先将其部署到Apache等服务器(需加载PHP模块支持,如果是Apache服务器,则在配置文件中解开如下注释)

LoadModule php_module... 这一行

需要安装MySQL数据库(不推荐安装8.0的新版本,因为会连接出错,安装5.7的即可。PHP推荐安装7以下的版本,因为是漏洞演示,有些工具在PHP7已经被修复。浏览器则推荐是IE和火狐,同理,Chrome和Safari浏览器的安全都做得挺好。)

打开admin/settings.php文件,在这里填写MySQL的配置信息。

浏览器打开如下地址

http://localhost/bWAPP/install

点击安装即可

默认登陆账户名:bee,密码:bug

bWAPP支持的漏洞演示列表如下图所示

XXE漏洞:一个XML外部实体攻击是一种针对XML解析输入的应用程序的攻击。当包含对外部实体的引用的XML输入由弱配置的XML解析器处理时,会发生此攻击。此攻击可能导致机密数据泄露,拒绝服务,服务器端请求伪造,从解析器所在机器的角度进行端口扫描,以及其他系统影响。

XML实体分为参数实体和一般实体,参数实体声明时,前面带有%,而一般实体声明则不用。

参数实体引用时如下

%实体名;

一般实体引用如下:

&实体名;

XXE演示

接下来借用bWAPP平台演示一下XXE漏洞的执行情况。在漏洞下拉菜单里选中该项(A7类目)

XML External Entity Attacks(XXE)

点击右侧的Hack按钮,可看到演示界面,非常空空荡荡,只有一个标题为"Any bugs"的按钮。这个演示过程是点击该按钮的时候,js发起了一次ajax请求,因此,按F12打开浏览器控制台窗口即可查看请求详情。

查看本次请求,我们可以发现,该请求的内容是如下一段XML数据

bee

Any bugs?

而请求的返回消息是

bee's secret has been reset!

这时候我们使用一款知名的Web渗透测试工具Burp Suite(社区版本免费)来抓取并修改这次请求,我们在这段XML上面添加一个声明头,通过声明头来实现XXE攻击。如下

&attack;

Any bugs?

根据如上解说,这里是使用一般实体引用的方式,来诱导后台获取系统的/etc/passwd文件。执行结果如下所示。

这边读取的文件是微信支付SDK用于处理XXE漏洞的Java代码文件,除了关闭外部实体引用开关,还需要禁用XML的外部实体声明。

回复"bWAPP讲解PPT"可获取PPT文件

— The End —

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180716G0RQCP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券