前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用docker快速搭建xssPlatform测试平台实践

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

作者头像
汤青松
发布2020-05-12 10:53:13
1.7K0
发布2020-05-12 10:53:13
举报
文章被收录于专栏:PHP技术大全PHP技术大全

一、背景

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

二、操作实践

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

三、数据库搭建

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

代码语言:javascript
复制
docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=123 -d -i -p 3309:3306  mysql:5.6

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

image
image

四、xssPlatform搭建

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

4.1 运行容器

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

代码语言:javascript
复制
docker run --name xssPlatform_test --link mysqlserver:db  -d -i  -p 8888:80   daxia/websafe:latest

4.2 启动服务

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

代码语言:javascript
复制
vim /etc/hosts

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

代码语言:javascript
复制
127.0.0.1       xss.localhost

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

代码语言:javascript
复制
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/,打开后会自动跳转到安装界面,如下图所示

image
image

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

image
image

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

image
image

此时便代表安装成功

4.4 功能简介

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

image
image

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

image
image

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

image
image

五、攻击测试

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

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

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

5.1 插入XSS代码

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

image
image

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

image
image

5.2 接收cookie

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

image
image

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

5.3 替换cookie

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

image
image

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

image
image
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景
  • 二、操作实践
  • 三、数据库搭建
  • 四、xssPlatform搭建
    • 4.1 运行容器
      • 4.2 启动服务
        • 4.3 系统安装
          • 4.4 功能简介
          • 五、攻击测试
            • 5.1 插入XSS代码
              • 5.2 接收cookie
                • 5.3 替换cookie
                相关产品与服务
                云数据库 SQL Server
                腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档