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

1、背景

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

2、操做实践

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

3、数据库搭建

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

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

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

image

4、xssPlatform搭建

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

4.1 运行容器

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

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

4.2 启动服务

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

vim /etc/hosts

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

127.0.0.1       xss.localhost

在启动容器以后,经过浏览器访问http://xss.localhost:8888/不能打开,缘由是由于容器里的nginx服务和PHP服务都还未启动,启动的命令参考以下所示:docker

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

此时再经过浏览器访问http://xss.localhost:8888/,即可以打开安装协议页面,以下图所示数据库

4.3 系统安装

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

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

image

点击 我赞成此协议按钮以后,将跳转到第二步的填写配置信息界面,在此界面须要填写数据库信息,和管理员帐号信息,以下图所示

image

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

image

此时便表明安装成功

4.4 功能简介

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

image

在首页中能够看到有一个默认项目,点击default后能够看到受害者列表,不过刚刚安装确定是尚未数据的,以下图所示

image

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

image

5、攻击测试

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

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

permeate 渗透测试系统源码和搭建教程地址能够参考:https://github.com/78778443/permeate

5.1 插入XSS代码

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

image

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

image

5.2 接收cookie

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

image

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

5.3 替换cookie

有了cookie值以后,笔者将使用另一个浏览器,经过修改cookie的方式来登陆受害者的帐户,以下图修改cookie的操做
image

再次刷新时,已经变成了登陆身份,以下图所示
image

6、图书推荐

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

image


做者:汤青松

日期:2020-03-03

微信:songboy8888

相关文章
相关标签/搜索