一直想搭在公网搭建自己的XSS平台用来验证XSS漏洞,使用别人的平台自己心里总会有担心被摘果子的顾虑,前几天参考了不少前人的博客,终于搭建好了,搭建的途中也遇到了不少坑,故把搭建的经验分享出来,大佬轻喷。

先上github上面溜达了一圈,笔者搭建的环境是windows服务器+phpstudy,所以对应比较好的选择是:xss-platform或者BlueLotus_XSS,因为还没有学docker,所以这里就没有考虑使用docker进行搭建。

这两款XSS平台的搭建过程如下:

xss-platform是一个非常经典的XSS渗透测试管理系统,原作者在2011年所开发,由于后来长时间没有人维护,导致最开始的版本在php7的环境下无法运行,但是github上面有大佬已经将源代码移植到了php7环境中,感兴趣的朋友可以去看看,这里我们还是介绍xss-platform原版的安装。

xss-platform源代码下载:https://github.com/thickforest/xss_platform

下载了之后,将其解压在www目录下的XSS目录下

然后修改config.php配置文件。

主要需要修改的地方已经使用箭头标注出来了,数据库用户根据自己的情况修改,因为我的mysql用户名还是root没有修改,所以用户名就不用修改了,数据库密码修改为自己数据库的密码,数据库名修改为待会我们在mysql数据库里面新建的一个储存xss平台数据的数据库名称,注册配置改为normal,因为默认的invite是需要邀请注册的,而我们需要先自己注册一个账户(PS:也可以直接在数据库里面添加,不过这样要麻烦一些),网站url路径修改为在www目录下的路径,之前我们的文件夹是www/XSS/….,所以这里就是http://ip/XSS

接着我们去数据库里面新建储存xss数据的库。

新建数据库可以在mysql命令行里或者在phpmyadmin里面进行操作,为了后面导入xssplatform.sql方便,这里我们直接在phpmyadmin里面进行。

因为之前我们在config.php里面已经设置数据库名为xss,所以这里新建一个名为xss的数据库对应,

创建成功后进入xss数据库

点击导入,导入xssplatform.sql文件,sql文件的位置在

导入成功后可以看到xss数据库里面多了这几张表

接着我们执行一条sql语句,因为xss数据库里面的sql文件里面的站点域名是作者的,我们将其更新替换成自己的。

UPDATE oc_module SET
code=REPLACE(code,'http://xsser.me','http://47.94.132.67/XSS')

这里的域名替换成自己的

执行后可以看到更新成功

然后我们配置伪静态页面(.htaccess),这是必须要配置的,否则xss平台生成的网址将打不到他人的cookie。(我就是偷懒这里没弄好所以后来找了好久的原因。

可以看到源码下载了之后里面有一个.htaccess文件,我们将其修改成适合自己环境的,如果没有的话就自己新建一个。

1,如果是Apache服务器,.htaccess的一个模板如下:

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

2,如果是Nginx服务器,则一个模板如下:

rewrite "^/([0-9a-zA-Z]{6})$" /index.php?do=code&urlKey=$1 break;
rewrite "^/do/auth/(w+?)(/domain/([w.]+?))?$" /index.php?do=do&auth=$1&domain=$3 break;
rewrite "^/register/(.?)$" /index.php?do=register&key=$1 break;
rewrite "^/register-validate/(.?)$" /index.php?do=register&act=validate&key=$1 break;
rewrite "^/login$" /index.php?do=login break;

值得注意的是,如果我们将.htaccess文件直接这样写的话,是无法访问js文件的。

例如我们将源代码放在phpstudy(Apache环境)的WWW目录下的XSS文件夹里,.htaccess就应该是:

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

这样我们访问http://127.0.0.2/XSS/E2xAAk才会出现我们构造的恶意js代码。

至此xss-platform平台就安装完成了

因为我们之前将注册配置改成了normal,即任何人都可以注册,所以我们先注册一个账号。

注册码随意填写

注册成功了之后我们到phpmyadmin的xss数据库里面将我们升级成管理员。

我们将adminLevel从0修改为1,就将我们提升成了管理员,也就是可以发放注册码进行邀请注册。

然后回到config.php里面把注册配置改成invite

这样的话就大功告成了,搭建好了之后还是挺有成就感的。

接着介绍BlueLotus_XSS平台的搭建

BlueLotus_XSS的源代码在这里:https://github.com/trysec/BlueLotus_XSSReceiver

其安装起来相比较于xss-platform更加简单,如果说xss-platform是一个多人使用的堡垒,而BlueLotus_XSS更像是一个人使用的瑞士军刀。

我们下载了之后也解压在WWW目录下

因为我解压在www/BlueLotus_XSSReceiver-master文件夹下,所以我们访问http://ip/BlueLotus_XSSReceiver-master/admin.php登录后台

我们点击安装直接在页面上进行安装。

必要的需要修改的地方箭头已经标注了。

我们修改好了之后直接登录。

现在就直接可以使用了。

同时感谢编写平台代码的师傅,后面很长一段时间估计我都会在学php,所以自己应该也会写一个xss平台,希望不要咕咕咕了。

PS:之前图片挂掉了,现在自建图床之后应该可以坚持很久hhh(XSS平台还是没有写,去忙其他的事情了,继续沉淀自己趴

搭建xss-platform平台的更多相关文章

  1. 搭建XSS测试平台

    XSS测试平台是测试XSS漏洞获取cookie并接收web页面的平台,XSS可以做js能做的所有事情,包括但不限于窃取cookie,后台增删文章.钓鱼.利用xss漏洞进行传播.修改网页代码.网站重定向 ...

  2. Web安全之XSS Platform搭建及使用实践

    Web安全之XSS Platform搭建及使用实践 一.背景 XSS Platform 是一个非常经典的XSS渗透测试管理系统,原作者在2011年所开发,由于后来长时间没有人维护,导致目前在PHP7环 ...

  3. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  4. 1.6 xss挑战平台练习

    ------------------------- XSS挑战之旅 ------------------------- 最近在学习xss,找到了一个xss练习平台,在线地址:http://test.x ...

  5. Spring Cloud和Docker搭建微服务平台

    用Spring Cloud和Docker搭建微服务平台 This blog series will introduce you to some of the foundational concepts ...

  6. C# asp.net 搭建微信公众平台(可实现关注消息与消息自动回复)的代码以及我所遇到的问题

    [引言] 利用asp.net搭建微信公众平台的案例并不多,微信官方给的案例是用PHP的,网上能找到的代码很多也是存在着这样那样的问题或者缺少部分方法,无法使用,下面是我依照官方文档写的基于.net 搭 ...

  7. 用Vagrant和Ansible搭建持续交付平台

    这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 ...

  8. ELK_elk+redis 搭建日志分析平台

    这个是最新的elk+redis搭建日志分析平台,今年时间是2015年9月11日. Elk分别为 elasticsearch,logstash, kibana 官网为:https://www.elast ...

  9. linux下利用elk+redis 搭建日志分析平台教程

    linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm   elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...

  10. sublime搭建Java编译平台及编码问题

    Sublime自带Java编译功能,当时只能编译不能运行,我们做一下小小的修改就可以让sublime一步完成编译运行的功能,实现sublime搭建Java编译平台. 使用Ctrl + B 编译时,所编 ...

随机推荐

  1. margin的讲究

    什么元素允许有margin值,无论块状元素还是行内元素都可以,只是各有限制. 先说行内元素,这个是不允许有上下 外边距的, 再说块状元素,上下左右外边距都允许  但是相邻元素的外边距会合并,要注意的是 ...

  2. 在Docker上部署自动更新ssl证书的nginx + .NET CORE

    突发奇想要搞一个ssl的服务器,然后我就打起了docker的主意,想着能不能搞一个基于Docker的服务器,这样维护起来也方便一点. 设想 想法是满足这么几点: .NET CORE on Docker ...

  3. linux tcp Nagle算法,TCP_NODELAY和TCP_CORK 转载

    转载自: http://www.cnhalo.net/2016/08/13/linux-tcp-nagle-cork/ http://abcdxyzk.github.io/blog/2018/07/0 ...

  4. rbd的image对象数与能写入文件数的关系

    前言 收到一个问题如下: 一个300TB 的RBD,只有7800万的objects,如果存储小文件的话,感觉不够用 对于这个问题,我原来的理解是:对象默认设置的大小是4M一个,存储下去的数据,如果小于 ...

  5. threading中的其他部分方法

    import threading def wahaha(n): print(n, threading.current_thread()) # 1 <Thread(Thread-1, starte ...

  6. xml格式数据和数组数据互相转换

    数组转换成xml数据 <?php $arr=array( 'username'=>'huahua', 'password'=>'123456', 'number'=>'1588 ...

  7. 新鲜出炉!JAVA线程池精华篇深度讲解,看完你还怕面试被问到吗?

    前言 前两天趁着假期在整理粉丝私信的时候看到一个粉丝朋友的私信跟我说自己现在正在复习准备面试,自己在复习到线程池这一块的时候有点卡壳,总感觉自己差了点什么.想要我帮他指导一下.这不趁着假期我也有时间我 ...

  8. Vegas转场功能的妙用,让片头转场更酷炫

    如今视频剪辑已经是一件非常平常的事情了,很多时候我们制作一段或者剪辑一段视频,其实都比较简单,但是如果想要视频显得高级些,这时候就可以给自己的视频制作一个好看的片头了,具体该怎么做呢? 用视频剪辑软件 ...

  9. workerman windows环境下无法启动问题

    问题描述 使用laravel框架composer加载workerman/gateway-worker扩展使用workerman做客服系统.通过laravel的command命令: php artisa ...

  10. CentOS 使用文件增加Swap空间

    使用硬盘文件增加swap空间 ///创建文件 dd if=/dev/zero of=/SWAP/swapfile bs=1M count=1000 ///格式化 mkswap /SWAP/swapfi ...