掌握渗透测试,从 Web 漏洞靶场搭建开始
摘要:漏洞靶场,不仅可以帮助我们锻炼渗透测试能力、可以帮助我们分析漏洞形成机理、更可以学习如何修复提高代码能力,同时也可以帮助我们检测各种各样漏洞扫描器的效果。
本文分享自华为云社区《Web漏洞靶场搭建-wavsep》,作者:XuPlus 。
渗透测试切忌纸上谈兵,学习渗透测试知识的过程中,我们通常需要一个包含漏洞的测试环境来进行训练。而在非授权情况下,对于网站进行渗透测试攻击,是触及法律法规的,所以我们常常需要自己搭建一个漏洞靶场,避免直接对公网非授权目标进行测试。
漏洞靶场,不仅可以帮助我们锻炼渗透测试能力、可以帮助我们分析漏洞形成机理、更可以学习如何修复提高代码能力,同时也可以帮助我们检测各种各样漏洞扫描器的效果。
本文将以 sectooladdict/wavsep:The Web Application Vulnerability Scanner Evaluation Project靶场为例来学习靶场搭建,结合漏洞扫描服务-华为云来发现存在的漏洞。
靶场搭建
我们找一台 linux 机器来进行实验
docker
目前大部分靶场都有 docker 版本,我们利用 docker 来快速搭建靶场。docker 安装可参考官网 Install Docker Engine on Ubuntu| Docker Documentation 安装手册,或者借助https://get.docker.com进行自动化安装
安装完成后,还需要配置 docker 镜像源来加速镜像拉取时间。这里配置中科大(USTC)源来进行加速,在 /etc/docker/daemon.json 中配置
wavsep
WAVSEP 是经典的漏洞靶场之一,包含常见的 Web 漏洞(SQL/XSS/PathTravseral/…),包含大量漏洞场景甚至假漏洞(检测扫描器误报率),目前漏洞有
Path Traversal/LFI: 816 test cases, implemented in 816 jsp pages(GET & POST)
Remote File Inclusion (XSS via RFI): 108 test cases, implementedin 108 jsp pages (GET & POST)
Reflected XSS: 66 test cases, implemented in 64 jsp pages (GET& POST)
Error Based SQL Injection: 80 test cases, implemented in 76 jsppages (GET & POST)
Blind SQL Injection: 46 test cases, implemented in 44 jsp pages(GET & POST)
Time Based SQL Injection: 10 test cases, implemented in 10 jsppages (GET & POST)
Unvalidated Redirect: 60 test cases, implemented in 60 jsp pages(GET & POST)
Old, Backup and Unreferenced Files: 184 test cases, implementedin 184 files (GET Only)
Passive Information Disclosure/Session Vulnerabilities(inspired/imported from ZAP-WAVE): 3 test cases of erroneous informationleakage, and 2 cases of improper authentication/information disclosure -implemented in 5 jsp pages
Experimental Test Cases (inspired/imported from ZAP-WAVE): 9additional RXSS test cases (anticsrf tokens, secret input vectors, tag signatures,etc), and 2 additional SQLi test cases (INSERT) - implemented in 11 jsp pages(GET & POST)
使用 docker 安装 wavsep:
完成后访问 http://IP:8080/wavsep/ 即可
漏洞发现
通过手工测试与扫描器来发现靶场中的问题
手工测试
以文件包含漏洞为例,访问
http://IP:8080/wavsep/active/LFI/LFI-Detection-Evaluation-GET-500Error/index.jsphttp://IP:8080/wavsep/active/LFI/LFI-Detection-Evaluation-GET-500Error/Case01-LFI-FileClass-FilenameContext-Unrestricted-OSPath-DefaultFullInput-AnyPathReq-Read.jsp?target=/root/apache-tomcat-8.0.27/webapps/wavsep/active/LFI/LFI-Detection-Evaluation-GET-500Error/content.ini
手动修改 target 参数为 /etc/passwd 发现成功读取到 passwd 文件
华为云漏洞扫描
1. 添加资产,配置域名认证
访问 http://IP:8080/hwwebscan_verify.html 确认认证文件能被访问,完成域名认证
2. 开始扫描,在扫描信息配置处更改目标网址为
http://IP:8080/wavsep/active/index-main.jsp
目标网址不应填写 http://IP:8080/wavsep/ 由于此页面无任何 <a>等网页连接爬虫无法爬取到新的页面 将扫描不到任何信息
3. 等待扫描结束 查看漏洞信息
Reference
Docker 镜像使用帮助 - LUG @ USTC
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/96eda88d3b5d84a74e471c7c3】。文章转载请联系作者。
评论