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

这篇具有很好参考价值的文章主要介绍了使用docker快速搭建xssPlatform测试平台实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

笔者之前给一些开发团队多次做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管理软件连接测试,如下图所示

四、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/,打开后会自动跳转到安装界面,如下图所示

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

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

此时便代表安装成功

4.4 功能简介

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

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

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

五、攻击测试

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

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

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

5.1 插入XSS代码

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

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

5.2 接收cookie

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

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

5.3 替换cookie

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

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

六、图书推荐

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

作者:汤青松

日期:2020-03-03

微信:songboy8888

作者:汤青松

原文地址:https://segmentfault.com/a/1190000021899373文章来源地址https://www.toymoban.com/news/detail-827196.html

喜欢 0

到了这里,关于使用docker快速搭建xssPlatform测试平台实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

    在做性能测试时,如果有一个性能测试结果实时展示的页面,可以极大的提高我们对系统性能表现的掌握程度,进而提高我们的测试效率。 但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试,而且它自带的监视器效果实在一般:在Windows下渲染效果不好

    2024年02月14日
    浏览(43)
  • 【测试开发实战】Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台

    1. 为什么要搭建性能监控平台? 1.1 需求背景 在用 Jmeter 获取性能测试结果的时候, Jmeter 本身带有聚合报告如下图所示: 这个报告有几个很明显的缺点: 只能自己看,无法实时共享; 报告信息的展示比较简陋单一,不直观; 1.2 需求方案 为了解决上述问题,必须要请出了

    2023年04月17日
    浏览(42)
  • 软件测试学习笔记丨docker 搭建常用服务器与平台命令

    本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/29881 映射端口 : docker run -d -p 5003:80 --name mynginx nginx (5003是宿主机,80是容器端口) 映射文件 : docker run -d -p 5003:80 -v \\\"$PWD/html\\\":/usr/share/nginx/html --name mynginx nginx -v : 文件映射 docker run --name some-mysql -v /home/gaofei/test/mysq

    2024年03月13日
    浏览(61)
  • 使用大模型快速构建测试工具的入门级实践

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客 文章浏览阅读2.3k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口

    2024年02月19日
    浏览(40)
  • 使用Lim测试平台快速完成批量造数

    在我们平时的测试过程中,经常遇到需要造大量数据的情况,比如:测试分页功能,性能压测、数据准备等。 这时我们可以通过写脚本或jmeter这类的工具来实现,但这些方式在团队协作的时候并不友好,当别人也需要造数时,需要使用你的代码。得在环境配置和代码管理上花

    2024年02月06日
    浏览(40)
  • Docker实践:使用Docker搭建个人开发环境(极简版)

    本文是在服务器 已经配置好 Docker 相关环境的情况下, 简要介绍 了在服务器上如何构建 Docker 镜像来搭建个人开发环境,因此本文 不涉及 Docker 的安装、维护以及各种细节,若要 详细了解 ,请查看文章最后的 相关资料 一节。 以下所有操作均在同一文件夹(例如 /media/user

    2024年02月16日
    浏览(39)
  • 使用Docker快速搭建基础服务

    编辑broker.conf,并设置brokerIP1 上述方法需要我们单独对每一个服务进行启动,当基础服务多的时候,非常不方便,所以可以采用Docker-Compose的方式一键启动,以下是相关步骤 1.docker-compose手动安装 在这个目录下载docker-compose-Linux-x86_64: https://github.com/docker/compose/releases/tag/1.25.5

    2024年02月07日
    浏览(36)
  • 使用docker快速搭建hive环境

    写在前面 想练练Hive SQL,但是没有hive shell环境。现在只有一台空的CentOS 7机子,一想要弄jdk、hadoop、mysql、hive就头疼。 于是在网上找了找,发现用docker部署hive会快很多,在此记录一下部署过程。 以下过程每一步在文末都附有参考文档,出错的朋友可以去看对应的参考文档。

    2024年01月22日
    浏览(39)
  • docker快速搭建并使用Zabbix

    0 zabbix基础知识 zabbix-server zabbix 的server 端,负责接收agent发送过来的监控数据,并且提供zabbix的所有核心功能。 database 用于存储监控数据和配置信息的数据库,目前常用的有mysql和postgresql两种数据库。 zabbix-web zabbix的UI端,提供操作控制台和监控展示等功能。 zabbix-java-gatew

    2024年02月07日
    浏览(29)
  • 使用docker快速搭建redis哨兵模式

    本文主要参考: https://www.cnblogs.com/coderaniu/p/15352323.html https://developer.aliyun.com/article/892805 但是这两篇博客均缺失部分关键性细节,所以重新撰文。读者可以结合本文和上述文章一起阅读。 此处略 创建 docker-compose.yml 文件,内容如下: 执行命令 docker-compose up -d 创建三个redis容器

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包