一、背景
笔者最近在做一场Web安全培训,其中需要搭建一套安全测试环境;在挑选渗透测试系统的时候发现permeate渗透测试系统比较满足需求,便选择了此系统;为了简化这个步骤,笔者将系统直接封装到了docker当中,同时编写了一套启动文档,希望到时候给学员和读者参考。
二、操作实践
- 数据库搭建
- permeate搭建
- 安装配置
三、数据库搭建
permeate渗透测试系统使用的数据库是MySQL,因此笔者需要先安装mysql数据库服务,为了简化安装,便直接使用了docker方式进行,参考命令如下
docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=123 -d -i -p 3309:3306 mysql:5.6
启动之后,可以使用宿主机的MySQL管理软件连接测试,如下图所示
四、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/
,便可以打开安装协议页面,如下图所示
五、安装配置
安装过程比较简单,但在填写数据库地址的时候需要注意,我们已经将mysqlserver链接到了permeate容器当中,此时数据库地址直接填写db
即可,数据库密码笔者在启动MySQL容器时设置的为123
,这里也填写123
,参考如下图所示
再次点击下一步的时候,能看到页面当中返回数据表安装成功的提示,如下图所示
点击进入首页
按钮之后,便可以来到首页,首页如下图所示
六、图书推荐
如果对笔者的文章较为感兴趣,可以关注笔者新书《PHP Web安全开发实战》,现已在各大平台上架,封面如下图所示
欢迎关注课程:
XSS跨站漏洞 加强Web安全
作者:汤青松
日期:2018-11-26