一直想搭在公网搭建自己的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. 论文解读 - Composition Based Multi Relational Graph Convolutional Networks

    1 简介 随着图卷积神经网络在近年来的不断发展,其对于图结构数据的建模能力愈发强大.然而现阶段的工作大多针对简单无向图或者异质图的表示学习,对图中边存在方向和类型的特殊图----多关系图(Multi- ...

  2. JavaScript兼容性总结一点点

    JavaScript 不同浏览器之间的差异还是很大,所以js库才这么有需求,需要解决各种兼容性问题. 其实反过来,既然存在js库能解决这些兼容性问题,说明底层大部分功能还是相通的. 首先想到的是事件模 ...

  3. [MIT6.006] 8. Hashing with Chaining 散列表

    一.字典 在之前课里,如果我们要实现插入,删除和查找,使用树结构,最好的时间复杂度是AVL下的Ο(log2n),使用线性结构,最好的复杂度为基数排序Ο(n).但如果使用字典数据类型去做,时间复杂度可为 ...

  4. 聊一聊无锁队列rte_ring

    之前用基于dpdk 实现小包快速转发的时候有用到无锁队列!今天就来看看吧!(后续完成了去dpdk化,直接在内核完成快速转发功能) dpdk的无锁队列ring是借鉴了linux内核kfifo无锁队列.r ...

  5. ASCII、Unicode、UTF-8、UTF-8(without BOM)、UTF-16、UTF-32傻傻分不清

    ASCII.Unicode.UTF-8.UTF-8(without BOM).UTF-16.UTF-32傻傻分不清 目录 ASCII.Unicode.UTF-8.UTF-8(without BOM). ...

  6. 分布式监控系统之Zabbix基础

    1.为什么要使用监控系统? 我们知道一个系统不管怎么讲它都会出故障,我们为了保证线上业务的最大化的可用性,通常我们要给关键业务做高可用:做高可用的目的是为了让故障发生时,能够有一个备用的解决方案,将故 ...

  7. 学习一下 Spring Security

    一.Spring Security 1.什么是 Spring Security? (1)基本认识 Spring Security 是基于 Spring 框架,用于解决 Web 应用安全性的 一种方案, ...

  8. Python博文_爬虫工程师是干什么的

    程序员有时候很难和外行人讲明白自己的工作是什么,甚至有些时候,跟同行的人讲清楚"你是干什么的"也很困难.比如我自己,就对Daivd在搞的语义网一头雾水.所以我打算写一篇博客,讲一下 ...

  9. 利用Vmware workstation安装MS-DOS使用Turbo C 2.0

    首先上各种软件的链接 链接:https://pan.baidu.com/s/1HfTDexiJSpioUnzKddUIyA 提取码:khtu 这个链接是压缩后的 链接:https://pan.baid ...

  10. 干货 MySQL常见的面试题 + 索引原理分析

    常见的面试必备之MySQL索引底层原理分析: MySQL索引的本质 MySQL索引的底层原理 MySQL索引的实战经验 面试 1)问题:数据库中最常见的慢查询优化方式是什么? 回答:加索引 2)问题: ...