测试开发必备技能:Web安全测试漏洞靶场实战

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 掌握安全测试是测试开发工程师进阶的一项硬技能,今天这篇文章,就来给大家分享两款常用安全测试演练靶场项目。

安全在互联网行业,是一个对专业性较强,且敏感的一个领域,所谓"一念成佛,一念入魔",安全技术利用得当,可以为你的产品、网站更好的保驾护航,而如果心术不正,利用安全漏洞去做一些未法牟利,则容易造成承担不必要的违法责任。

在日常很容易被大家忽略的一点,在非授权的情况下,对网站进行渗透攻击测试,也是属于非合规操作,是触及法律法规的。因此对于大家在学习安全测试过程中,通常建议是直接在本地直接搭建安全演练靶场环境,尽量避免直接对非授权的网站进行测试。

掌握安全测试是测试开发工程师进阶的一项硬技能,今天这篇文章,就来给大家分享两款常用安全测试演练靶场项目。

1. WebGoat


WebGoat是由OWASP组织研制出的用于进行Web漏洞实验的Java靶场程序。提供的训练课程有30多个,其中包括:跨站点脚本攻击(XSS)、访问控制、线程安全、操作隐藏字段、操纵参数、弱会话cookie、SQL盲注、数字型SQL注入、字符串型SQL注入、web服务、Open Authentication失效、危险的HTML注释等等。WebGoat提供了一系列web安全学习的教程,某些课程也给出了视频演示,指导用户利用这些漏洞进行攻击。微信图片_20220526231537.png

项目地址:

https://github.com/WebGoat/WebGoat

1.1 安装前置条件说明

进入到项目地址,选择WebGoat的jar版本,由于WebGoat 8的jar文件已自带了tomcat和数据库,所以不需要再另外安装tomcat和mysql,只需要安装jdk用于运行jar文件即可。微信图片_20220526231513.png需要说明的是,WebGoat8.0以上的版本,需要安装依赖JDK11以上。

下载完成后,其中:

  • webgoat-server-8.1.0.jar 对应的是webgoat服务,用于启动WebGoat
  • webwolf-8.1.0 另一个含有漏洞的辅助系统,非必需。


1.2 启动方法

通过java -jar xxx.jar分别启动webgoat和webwolf两个jar程序,例如:微信图片_20220526231451.png执行成功后,就可以通过链接http://127.0.0.1:8080/WebGoat访问Webgoat。微信图片_20220526231429.png

首先需要注入一个账号,然后登陆后,按照WebGoat的侧边顺序一项一项进行测试。

目前WebGoat分为三类,LessonChallenges/CTFWebWolf。其中Lesson为课程,每个课程中包括漏洞描述,成因,以及练习,微信图片_20220526231409.pngWebWolf的启动方式基本一致,WebWolf的默认端口为9090,登录地址http://127.0.0.1:9090/WebWolf/login,WebWolf的账户与WebGoat是相通的,使用WebGoat的账户可以直接登录WebWolf。

2. DVWA


DVWA(Damn Vulnerable Web Application)是一款比较著名的漏洞靶场,采用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。

官网:

https://dvwa.co.uk/

微信图片_20220526231345.png

DVWA共有十个模块,分别是:

  • 1.Brute Force(暴力(破解))
  • 2.Command Injection(命令行注入)
  • 3.CSRF(跨站请求伪造)
  • 4.File Inclusion(文件包含)
  • 5.File Upload(文件上传)
  • 6.Insecure CAPTCHA (不安全的验证码)
  • 7.SQL Injection(SQL注入)
  • 8.SQL Injection(Blind)(SQL盲注)
  • 9.XSS(Reflected)(反射型跨站脚本)
  • 10.XSS(Stored)(存储型跨站脚本)


2.1 搭建方法

如果是在Windows上搭建DVWA,安装过程主要分为两步:

  • phpstudy下载以及安装。
  • DVWA下载及配置。

1、 由于DVWA需要运行在有数据库/服务器等多种环境下,我们一般选用集成了这些环境的phpStudy: https://www.xp.cn/,这个工具可以在官网下载,如下:微信图片_20220526231320.png

2、下载完成,按要求,傻瓜式安装即可,安装完成后,打开启动ApacheMySQL两个服务。微信图片_20220526231255.png

3、下载DVWA,将压缩包解压到phpstudy的WWW目录下。并且找到DVWA\config下面的config.ini.php.dist文件,修改其中的用户名密码,按需修改即可。最后将后缀.dist删除,文件名为:config.inc.php,内容如下:

<?php
# If you are having problems connecting to the MySQL database and all of the variables below are correct
# try changing the 'db_server' variable from localhost to 127.0.0.1. Fixes a problem due to sockets.
#   Thanks to @digininja for the fix.
# Database management system to use
$DBMS = 'MySQL';
#$DBMS = 'PGSQL'; // Currently disabled
# Database variables
#   WARNING: The database specified under db_database WILL BE ENTIRELY DELETED during setup.
#   Please use a database dedicated to DVWA.
#
# If you are using MariaDB then you cannot use root, you must use create a dedicated DVWA user.
#   See README.md for more information on this.
$_DVWA = array();
$_DVWA[ 'db_server' ]   = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ]     = 'root';
$_DVWA[ 'db_password' ] = '123456';
$_DVWA[ 'db_port'] = '3306';
$_DVWA[ 'allow_url_include'] = 'on';
$_DVWA[ 'allow_url_fopen'] = 'on';
# ReCAPTCHA settings
#   Used for the 'Insecure CAPTCHA' module
#   You'll need to generate your own keys at: https://www.google.com/recaptcha/admin
$_DVWA[ 'recaptcha_public_key' ]  = 'mikezhou';
$_DVWA[ 'recaptcha_private_key' ] = 'mikezhou';
# Default security level
#   Default value for the security level with each session.
#   The default is 'impossible'. You may wish to set this to either 'low', 'medium', 'high' or impossible'.
$_DVWA[ 'default_security_level' ] = 'impossible';
# Default PHPIDS status
#   PHPIDS status with each session.
#   The default is 'disabled'. You can set this to be either 'enabled' or 'disabled'.
$_DVWA[ 'default_phpids_level' ] = 'disabled';
# Verbose PHPIDS messages
#   Enabling this will show why the WAF blocked the request on the blocked request.
#   The default is 'disabled'. You can set this to be either 'true' or 'false'.
$_DVWA[ 'default_phpids_verbose' ] = 'false';
?>

4、访问http://localhost/dvwa/setup.php,点击创建数据库。微信图片_20220526231230.png)

5、创建成功,会自动跳转到登录页面,需要输入用户名密码。默认用户名:admin ,默认密码:password微信图片_20220526231210.png

到这里,我们已经完成了,安全漏洞靶场环境的搭建。怎么样,你学会了吗?

细心的读者会发现,最近公号推文的频次降低,最近手头上事情太多,争取过段时间加更干货。



相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
测试技术 持续交付 UED
软件测试的艺术:确保质量的实战策略
在软件开发的舞台上,测试是那把确保每个功能如交响乐般和谐奏响的指挥棒。本文将深入探讨软件测试的重要性、基本类型以及如何设计高效的测试策略。我们将通过一个实际的代码示例,展示如何运用这些策略来提升软件质量和用户体验。
|
4天前
|
安全 测试技术 Linux
Acunetix v25.4 发布 - Web 应用程序安全测试
Acunetix v25.4 (Linux, Windows) - Web 应用程序安全测试
24 3
Acunetix v25.4 发布 - Web 应用程序安全测试
|
2月前
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
85 10
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
2月前
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
45 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
|
1月前
|
数据可视化 JavaScript 前端开发
从Postman到Apipost:我的动态参数测试实战踩坑记
作为一名全栈开发工程师,在开发用户中心模块时,我遇到了复杂参数API测试的挑战。最初使用Postman时,发现其在生成动态参数(如邮箱、手机号和日期)时存在诸多问题,导致测试效率低下甚至出错。例如,随机生成的邮箱格式无效等 后来,CTO推荐了Apipost,它提供了更智能的参数生成方式:支持真实邮箱、符合规范的手机号以及合法日期范围,极大提升了测试效率和准确性。通过对比,Apipost在处理复杂动态参数方面明显优于Postman,减少了维护成本并提高了团队协作效率。现在,我们已全面切换到Apipost,并利用其「参数组合测试」功能发现了多个边界条件bug。
|
1月前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
2月前
|
存储 数据可视化 测试技术
一个测试工程师的实战笔记:我是如何在Postman和Apipost之间做出选择的?
优秀的API测试工具应该具备: 分层设计:既有可视化操作,也开放代码层深度定制 场景感知:自动识别加密需求推荐处理方案 协议包容:不强迫开发者为了不同协议切换工具 数据主权:允许自主选择数据存储位置
77 7
|
1月前
|
机器学习/深度学习 开发框架 API
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。
|
1月前
|
自然语言处理 安全 测试技术
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
81 0
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
|
3月前
|
SQL 存储 XML
常见Web漏洞分析与防范研究
在以上内容中,结合OWASP、Toptal和Brightsec等权威来源的信息,确保回答的专业性和准确性。通过图表和思维导图的方式,可以更系统地了解和记忆Web安全知识,帮助企业在实际应用中更好地防范各种安全威胁。
118 13

热门文章

最新文章

下一篇
oss创建bucket