搭建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文件的位置在
导入成功后可以看到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登录后台
我们点击安装直接在页面上进行安装。
必要的需要修改的地方箭头已经标注了。
我们修改好了之后直接登录。
现在就直接可以使用了。