• 搭建xss-platform平台


    一直想搭在公网搭建自己的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文件的位置在

    image-20191213105705292

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

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

    image-20191213110033710

    这里的域名替换成自己的,( 因为在写这篇文章的时候我是在本地再安装一次,所以就把域名换成了127.0.0.1

    执行后可以看到更新成功

    image-20191213110259709

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

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

    image-20191213110745362

    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代码。

    image-20191213112530434image-20191213112540746

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

    image-20191213111420177

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

    注册码随意填写

    image-20191213111625296

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

    image-20191213111750839

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

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

    image-20191213112028694

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

    接着介绍BlueLotus_XSS平台的搭建

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

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

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

    image-20191213130638546

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

    image-20191213132040628

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

    image-20191213132135506

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

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

    image-20191213132255601

    现在就直接可以使用了。

    image-20191213132319432

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

  • 相关阅读:
    Redis总结(六)Redis配置文件全解
    Thrift总结(二)创建RPC服务
    Thrift总结(一)介绍
    C#总结(三)DataGridView增加全选列
    C#总结(二)事件Event 介绍总结
    Quartz.NET总结(六)了解Jobs 和 Triggers
    C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步)
    Redis总结(五)缓存雪崩和缓存穿透等问题
    C#类和成员的修饰符
    sqlserver 修改替换text,ntext类型字段的两种方案
  • 原文地址:https://www.cnblogs.com/Cl0ud/p/12176961.html
Copyright © 2020-2023  润新知