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

1、背景

XSS Platform 是一个很是经典的XSS渗透测试管理系统,原做者在2011年所开发,因为后来长时间没有人维护,致使目前在PHP7环境下没法运行。php

笔者最近花了一点时间将源码移植到了PHP7环境中,同时增长安装功能;另外还修复以前的代码的一些不严谨语法的问题,并调整了一些表单的样式,同时将源代码放到GitHub当中,给有须要的同行研究,为了简化安装步骤,特地写一篇文章来帮助你们。html

2、操做概要

  1. 源码下载
  2. 安装配置
  3. 攻击测试

3、下载源码

github地址:https://github.com/78778443/xssplatformnginx

首先经过cd命令将代码放到指定位置,参考命令以下git

cd /Users/song/mycode/safe/
复制代码

以后经过git下载源码,参考命令以下:github

git clone https://github.com/78778443/xssplatform.git
复制代码

4、安装配置

4.1 增长虚拟主机

XSS Platform 须要在根目录中运行,所以须要单独添加一个虚拟主机,笔者以nginx环境为例,配置虚拟主机的配置代码以下所示:数据库

server {
    listen       80;
    server_name  xss.localhost;
    root  /Users/song/mycode/safe/xssplatform/;


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

    location / {

        index index.html index.htm index.php;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

}
复制代码

修改配置文件后,须要重启nginx让其配置生效,重启命令参考以下:vim

nginx -s reload
复制代码

4.2 添加HOST记录

hosts文件位置是/etc/hosts,经过vim命令进行编辑,参考命令以下所示:浏览器

vim /etc/hosts
复制代码

在文件中添加一行记录,内容以下所示:安全

127.0.0.1	xss.localhost
复制代码

4.3 系统安装

经过前面添加虚拟主机和添加host解析以后,即可以经过浏览器访问此平台,URL地址为http://xss.localhost/,打开后会自动跳转到安装界面,以下图所示bash

image

点击 我赞成此协议按钮以后,将跳转到第二步的填写配置信息界面,在此界面须要填写数据库信息,和管理员帐号信息,以下图所示

image

若是数据库信息填写无误,将会看到导入数据成功的提,以下图所示

image

此时便表明安装成功

4.4 功能简介

先来熟悉一些XSS Platform的一些功能,在安装完成界面点击进入首页,会要求先登陆,在登陆界面输入刚才安装时所填写的管理员帐号信息,点击登陆便可,登陆成功以后会自动跳转到首页,以下图所示

image

在首页中能够看到有一个默认项目,点击default后能够看到受害者列表,不过刚刚安装确定是尚未数据的,以下图所示

image

在图中右上方有一个查看代码的连接,点击进去即可以查看XSS Platform预备好的攻击代码,以下图所示

image

5、攻击测试

如今笔者将正是开始进行一些实践演示,首先会找出一个permeate渗透测试系统的XSS漏洞,将XSS Platform的攻击代码插入进去;

而后模拟受害者访问到被攻击的页面,会到XSS platform系统中查看收到的cookie值,最后使用接收到的cookie来冒充受害者。

permeate 渗透测试系统源码和搭建教程地址能够参考:https://github.com/78778443/permeate

5.1 插入XSS代码

笔者此前已经将permeate渗透测试系统搭建成功,下面将在此系统发表一个帖子,并在帖子标题中插入XSS Platform中预备好的攻击代码,以下图所示

image

点击发表按钮,便将帖子发布成功,此时假定本身为受害者,访问了此帖子列表,在列表中会读取帖子的标题,帖子<script>标签别浏览器执行便不会显示出来,以下图所示

image

5.2 接收cookie

能够看到并无显示出来,再回到XSS Platform当中,查看default项目中的受害者列表,能够看到一个受害者,以下图所示

image

说明受害者已经成功中招,而且经过攻击代码已经获取到对方的cookie值和header信息

5.3 替换cookie

有了cookie值以后,笔者将使用另一个浏览器,经过修改cookie的方式来登陆受害者的帐户,以下图修改cookie的操做

image

再次刷新时,已经变成了登陆身份,以下图所示

image

6、图书推荐

若是对笔者的文章较为感兴趣,能够关注笔者新书《PHP Web安全开发实战》,现已在各大平台上架销售,封面以下图所示

image


做者:汤青松

日期:2018-12-08

微信:songboy8888

相关文章
相关标签/搜索