使用docker快速搭建Permeate渗透测试系统实践

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

一、背景

笔者最近在做一场Web安全培训,其中需要搭建一套安全测试环境;在挑选渗透测试系统的时候发现permeate渗透测试系统比较满足需求,便选择了此系统;为了简化这个步骤,笔者将系统直接封装到了docker当中,同时编写了一套启动文档,希望到时候给学员和读者参考。

二、操作实践

  1. 数据库搭建
  2. permeate搭建
  3. 安装配置

三、数据库搭建

permeate渗透测试系统使用的数据库是MySQL,因此笔者需要先安装mysql数据库服务,为了简化安装,便直接使用了docker方式进行,参考命令如下

docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=123 -d -i -p 3309:3306  mysql:5.6

启动之后,可以使用宿主机的MySQL管理软件连接测试,如下图所示

image

四、permeate搭建

在安装完MySQL服务之后,便可以安装permeate系统了,笔者已经将所需PHP和nginx环境封装好了,因此只需下载镜像运行即可

4.1 运行容器

在运行容器时候需要考虑两个问题,首先需要将web端口映射出来宿主机才可以访问,第二个是需要考虑此容器要能访问得到mysql服务,因此参考命令如下:

docker run --name permeate_test --link mysqlserver:db  -d -i  -p 8888:80  registry.cn-hangzhou.aliyuncs.com/daxia/websafe:init

4.2 启动服务

在启动容器之后,通过浏览器访问http://localhost:8888/并不能打开网页,原因是因为nginx服务和PHP服务都还未启动,启动的命令参考如下所示:

docker exec permeate_test zsh -c "nginx && /usr/sbin/php-fpm7.2  -R"

此时再通过浏览器访问http://localhost:8888/,便可以打开安装协议页面,如下图所示

image

五、安装配置

安装过程比较简单,但在填写数据库地址的时候需要注意,我们已经将mysqlserver链接到了permeate容器当中,此时数据库地址直接填写db即可,数据库密码笔者在启动MySQL容器时设置的为123,这里也填写123,参考如下图所示

image

再次点击下一步的时候,能看到页面当中返回数据表安装成功的提示,如下图所示

image

点击进入首页按钮之后,便可以来到首页,首页如下图所示

image

六、图书推荐

如果对笔者的文章较为感兴趣,可以关注笔者新书《PHP Web安全开发实战》,现已在各大平台上架销售,封面如下图所示

image


作者:汤青松

日期:2018-11-26

微信:songboy8888

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
19天前
|
机器学习/深度学习 敏捷开发 人工智能
探索自动化测试的前沿技术与实践挑战
【7月更文挑战第8天】随着信息技术的飞速发展,软件测试领域正经历着前所未有的变革。自动化测试作为提升测试效率、确保软件质量的重要手段,其前沿技术与实践挑战备受关注。本文深入探讨了自动化测试的最新进展,包括人工智能在测试用例生成中的应用、持续集成/持续部署(CI/CD)流程中的自动化策略、以及云测试平台的兴起。同时,文章分析了自动化测试实施过程中遇到的主要挑战,如环境配置的复杂性、测试用例的维护问题和跨平台测试的困难,并提供了相应的解决策略。通过案例分析,展示了成功实施自动化测试的关键因素,为软件测试专业人员提供了宝贵的参考和启示。
28 2
|
7天前
|
敏捷开发 监控 测试技术
自动化测试框架的演进与实践
【7月更文挑战第19天】随着软件开发行业的飞速发展,自动化测试已成为确保软件质量的重要手段。本文将探讨自动化测试框架的发展历程,从早期的线性脚本到现代的模块化框架,以及它们如何适应敏捷开发和持续集成的需求。同时,我们还将深入分析几种流行的自动化测试工具,并讨论如何在实际项目中有效实施自动化测试策略。
|
12天前
|
Kubernetes 持续交付 开发者
微软Azure云上部署Docker容器的技术实践
【7月更文挑战第15天】Docker与Azure的集成,为开发者提供了一种快速、可扩展和可维护的应用部署方式。通过在Azure平台上部署Docker容器,开发者可以充分利用Azure丰富的云服务和强大的基础设施,实现应用的快速迭代和高效运行。未来,随着Docker和Azure的不断发展和集成,我们可以期待更加便捷和高效的容器化应用部署体验。
|
10天前
|
运维 Devops jenkins
DevOps文化下的自动化测试实践
【7月更文挑战第17天】随着DevOps文化的兴起,自动化测试成为软件开发过程中不可或缺的一环。本文将深入探讨自动化测试在DevOps环境中的实施策略、工具选择和最佳实践,旨在帮助读者理解如何通过自动化测试提高软件交付的速度与质量。
|
11天前
|
敏捷开发 测试技术
探索性测试在软件质量保证中的角色与实践
在软件开发生命周期中,确保软件质量是一个不断挑战的过程。探索性测试(ET)作为一种灵活、启发式的测试方法,它与传统的脚本测试相比,提供了一种更为动态的测试方式。本文将探讨探索性测试的概念、优势以及如何在项目中有效实施ET,以提升软件质量。
14 2
|
13天前
|
敏捷开发 测试技术 持续交付
探索自动化测试框架的演进与实践
【7月更文挑战第14天】自动化测试框架在软件开发生命周期中扮演着越来越重要的角色。本文旨在探讨自动化测试框架从简单的脚本到复杂的系统级解决方案的演变过程,并分析其在不同阶段解决的关键问题。通过案例研究,我们将深入了解如何选择合适的自动化测试工具以及设计有效的测试策略,以提升软件质量保障的效率和效果。
|
14天前
|
敏捷开发 存储 数据管理
自动化测试框架设计:从理论到实践
【7月更文挑战第13天】本文将深入探讨自动化测试框架的设计原理与实现方法。通过分析自动化测试的必要性和框架设计的基本原则,结合具体案例,展示如何从零开始构建一个高效、可维护的自动化测试系统。文章不仅涵盖框架的结构设计,还包括最佳实践和常见问题的解决策略,为读者提供一套完整的解决方案和实操指南。
|
15天前
|
敏捷开发 机器学习/深度学习 人工智能
探索式测试在现代软件工程中的实践与挑战
随着软件开发模式的迭代升级,传统的测试方法已不能完全满足快速变化的市场需求和敏捷开发的节奏。探索式测试作为一种灵活、启发式的测试实践,逐渐受到业界的关注。本文将深入探讨探索式测试的定义、特点及其在现代软件工程中的应用,并分析实施过程中可能遇到的挑战,旨在为软件测试人员提供一种创新的测试视角和方法。
|
19天前
|
JavaScript 前端开发 测试技术
自动化测试在API测试中的深度应用与实践
【7月更文挑战第8天】自动化测试在API测试中的应用极大地提高了测试效率和质量,为软件的快速迭代和持续交付提供了有力保障。通过合理选择测试工具、制定清晰的测试计划并遵循最佳实践,我们可以充分发挥自动化测试的优势,为软件产品的稳定性和可靠性保驾护航。
|
16天前
|
敏捷开发 Devops 测试技术
自动化测试框架的演进与实践
【7月更文挑战第11天】在软件开发的历程中,自动化测试始终扮演着不可或缺的角色。本文将通过探讨自动化测试框架的发展脉络,揭示其在现代软件工程中的应用与挑战。从早期的线性脚本到今日的模块化框架,我们将一窥自动化测试技术的演进之路,并分享实践中的经验和策略,旨在为读者提供一套实用的自动化测试解决方案。
19 1