近期临时需要搭建个XSS平台,就在github找了个开源的平台进行搭建测试,发现本平台存在一个代码写法错误导致产生重置漏洞
github地址:https://github.com/78778443/xssplatform
代码clone下来后,简单看了下安装目录代码逻辑,漏洞问题代码在installcommon.php中,从代码中看逻辑是没问题的,但是判断install.lock安装目录写错了。。。应该是判断当前文件就可以,这里多写了个install目录
然后再来看看step1.php、step2.php,都是统一包含common.php来进行判断执行的
这样一来如果使用者用这套代码安装完后未删除install的话攻击者只要执行install/step1.php就可进行重新安装操作
修复方法:installcommon.php修改为如下,或者删除install文件:
<?php
if (file_exists("install.lock")) {
header("location:/index.php");
exit("已安装,程序不再往下执行");
}
$project = 'Permeate渗透测试系统 XSS管理平台';