使用docker快速搭建xssPlatform测试平台实践

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 笔者之前给一些开发团队多次做Web安全开发培训,为了让培训的学员能够理解XSS原理和XSS的危害,将xssPlatform进行了更新,之前一直放在GitHub中;发现关注的人越来越多,很多人在安装的过程中遇到问题不知道怎么处理,为了简化安装步骤,笔者将xssPlatform封装到了docker镜像当中,同时编写了一套安装文档,希望到时候给学员和读者参考。

一、背景


笔者之前给一些开发团队多次做Web安全开发培训,为了让培训的学员能够理解XSS原理和XSS的危害,将xssPlatform进行了更新,之前一直放在GitHub中;发现关注的人越来越多,很多人在安装的过程中遇到问题不知道怎么处理,为了简化安装步骤,笔者将xssPlatform封装到了docker镜像当中,同时编写了一套安装文档,希望到时候给学员和读者参考。


二、操作实践


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


三、数据库搭建


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


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


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


1.png


四、xssPlatform搭建


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


4.1 运行容器


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


docker run --name xssPlatform_test --link mysqlserver:db  -d -i  -p 8888:80   daxia/websafe:latest


4.2 启动服务


使用vim编辑器编辑hosts文件,在里面增加一条host记录,Linux或Mac执行命令如下


vim /etc/hosts


因为这个docker镜像里面还封装了permeate,默认访问的是permeate系统,所以一定要加上此记录才能访问到xssPlatform,参考内容如下


127.0.0.1       xss.localhost


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


docker exec xssPlatform_test zsh -c "php /root/start.php"


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


4.3 系统安装


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


通过前面添加虚拟主机和添加host解析之后,便可以通过浏览器访问此平台,URL地址为http://xss.localhost:8888/,打开后会自动跳转到安装界面,如下图所示


2.png


点击 我同意此协议按钮之后,将跳转到第二步的填写配置信息界面,在此界面需要填写数据库信息,和管理员账号信息,如下图所示


3.png


如果数据库信息填写无误,将会看到导入数据成功的提,如下图所示


4.png


此时便代表安装成功


4.4 功能简介


先来熟悉一些XSS Platform的一些功能,在安装完成界面点击进入首页,会要求先登录,在登录界面输入刚才安装时所填写的管理员账号信息,点击登录即可,登录成功之后会自动跳转到首页,如下图所示


5.png


在首页中可以看到有一个默认项目,点击default后可以看到受害者列表,不过刚刚安装肯定是还没有数据的,如下图所示


6.png


在图中右上方有一个查看代码的链接,点击进去便可以查看XSS Platform预备好的攻击代码,如下图所示


7.png


五、攻击测试


现在笔者将正是开始进行一些实践演示,首先会找出一个permeate渗透测试系统的XSS漏洞,将XSS Platform的攻击代码插入进去;


然后模拟受害者访问到被攻击的页面,会到XSS platform系统中查看收到的cookie值,最后使用接收到的cookie来冒充受害者。


permeate 渗透测试系统源码和搭建教程地址可以参考:

https://github.com/78778443/permeate


5.1 插入XSS代码


笔者此前已经将permeate渗透测试系统搭建成功,下面将在此系统发表一个帖子,并在帖子标题中插入XSS Platform中预备好的攻击代码,如下图所示


8.png


点击发表按钮,便将帖子发布成功,此时假定自己为受害者,访问了此帖子列表,在列表中会读取帖子的标题,帖子<script>标签别浏览器执行便不会显示出来,如下图所示


9.png


5.2 接收cookie


可以看到并没有显示出来,再回到XSS Platform当中,查看default项目中的受害者列表,可以看到一个受害者,如下图所示


10.png


说明受害者已经成功中招,并且通过攻击代码已经获取到对方的cookie值和header信息


5.3 替换cookie


有了cookie值之后,笔者将使用另外一个浏览器,通过修改cookie的方式来登录受害者的账户,如下图修改cookie的操作


11.png


再次刷新时,已经变成了登录身份,如下图所示


12.png


六、图书推荐


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


13.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
18天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
59 2
|
13天前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
20天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
22天前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
94 1
|
2月前
|
Kubernetes 持续交付 Docker
探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
【10月更文挑战第18天】探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
89 2
|
2月前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
63 2
|
20天前
|
数据中心 开发者 Docker
理解并实践Docker容器化技术
理解并实践Docker容器化技术
|
22天前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
48 0
|
存储 关系型数据库 jenkins
干货 | 仅需4步,即可用 Docker搭建测试用例平台 TestLink
干货 | 仅需4步,即可用 Docker搭建测试用例平台 TestLink
|
2天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序