参考文章:
- https://segmentfault.com/a/1190000021899373 使用docker快速搭建xssPlatform测试平台实践
- https://www.bilibili.com/video/BV1ke4y1P7Ek/ 使用蜻蜓安全平台一键搭建XSS平台
笔者将源代码放到GitHub当中,给有需要的同行研究,为了简化安装步骤,特意写一篇文章来帮助大家。
本工具禁止进行未授权商业用途,禁止二次开发后进行未授权商业用途。
本工具仅面向合法授权的企业安全建设行为,在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。
如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。
在使用本工具前,请您务必审慎阅读、充分理解各条款内容,限制、免责条款或者其他涉及您重大权益的条款可能会以加粗、加下划线等形式提示您重点注意。 除非您已充分阅读、完全理解并接受本协议所有条款,否则,请您不要使用本工具。您的使用行为或者您以其他任何明示或者默示方式表示接受本协议的,即视为您已阅读并同意本协议的约束。
- 源码下载
- 安装配置
- 攻击测试
github地址:https://github.com/78778443/xssplatform
首先通过cd命令将代码放到指定位置,参考命令如下
cd /Users/song/mycode/safe/
之后通过git下载源码,参考命令如下:
git clone https://github.com/78778443/xssplatform.git
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让其配置生效,重启命令参考如下:
nginx -s reload
hosts文件位置是/etc/hosts
,通过vim命令进行编辑,参考命令如下所示:
vim /etc/hosts
在文件中添加一行记录,内容如下所示:
127.0.0.1 xss.localhost
通过前面添加虚拟主机和添加host解析之后,便可以通过浏览器访问此平台,URL地址为http://xss.localhost/
,打开后会自动跳转到安装界面,如下图所示
点击 我同意此协议
按钮之后,将跳转到第二步的填写配置信息界面,在此界面需要填写数据库信息,和管理员账号信息,如下图所示
如果数据库信息填写无误,将会看到导入数据成功的提,如下图所示
此时便代表安装成功
先来熟悉一些XSS Platform的一些功能,在安装完成界面点击进入首页,会要求先登录,在登录界面输入刚才安装时所填写的管理员账号信息,点击登录即可,登录成功之后会自动跳转到首页,如下图所示
在首页中可以看到有一个默认项目,点击default
后可以看到受害者列表,不过刚刚安装肯定是还没有数据的,如下图所示
在图中右上方有一个查看代码的链接,点击进去便可以查看XSS Platform预备好的攻击代码,如下图所示
现在笔者将正是开始进行一些实践演示,首先会找出一个permeate渗透测试系统的XSS漏洞,将XSS Platform的攻击代码插入进去;
然后模拟受害者访问到被攻击的页面,会到XSS platform系统中查看收到的cookie值,最后使用接收到的cookie来冒充受害者。
permeate 渗透测试系统源码和搭建教程地址可以参考:https://github.com/78778443/permeate
笔者此前已经将permeate渗透测试系统搭建成功,下面将在此系统发表一个帖子,并在帖子标题中插入XSS Platform
中预备好的攻击代码,如下图所示
点击发表按钮,便将帖子发布成功,此时假定自己为受害者,访问了此帖子列表,在列表中会读取帖子的标题,帖子<script>
标签别浏览器执行便不会显示出来,如下图所示
可以看到并没有显示出来,再回到XSS Platform当中,查看default
项目中的受害者列表,可以看到一个受害者,如下图所示
说明受害者已经成功中招,并且通过攻击代码已经获取到对方的cookie值和header信息
有了cookie值之后,笔者将使用另外一个浏览器,通过修改cookie的方式来登录受害者的账户,如下图修改cookie的操作
如果对笔者的文章较为感兴趣,可以关注笔者新书《PHP Web安全开发实战》,现已在各大平台上架销售,封面如下图所示
作者:汤青松
日期:2018-12-08
微信:songboy8888