XSS 平台搭建与优化(基于 xsser.me 源码)
admin
2023-03-15 22:01:15
0

本文引用于:征途源码论坛(www.zhengtuwl.com)-----专注各类免费精品×××的平台

XSS 平台搭建与优化(基于 xsser.me 源码)


这个周花了点时间捣鼓公司内网论坛,不幸发现原来搭建的 xss platform 挂了,于是重新找了一份代码进行搭建。

为什么选择这个呢,主要是因为作者用 Bootstrap 对xsser.me的默认主题进行了修改,看起来高大上了很多~(至于兼容移动端神马的就算了吧0 0)

下载源码后,照着作者写的安装说明进行修改就好了:

  • 修改config.php里面的数据库连接字段,包括数据库配置(用户名、密码、数据库名)、网站 URL 路径和伪静态配置。

  • 把根目录下的xssplatform.sql导入到数据库中。

  • 在数据库中执行 SQL 语句,把数据库中的域名改为自己的域名:

UPDATE oc_module SET code=REPLACE(code,'http://xsser.me','http://yourdomain/xss')

  • 替换authtest.php中的域名为自己的域名。

  • 首次注册成功后,修改user表中用户对应的adminlevel为1,将自己定义为超级管理员,可以发送和管理邀请码。

  • 根据 server 类型配置伪静态文件:

       Apache

RewriteEngine OnRewriteBase /
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]

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;

到这里xss platform就搭建完成了。


我在使用过程碰到的一些 bug,于是对源代码进行了一番修改。

1. 短地址接口部分失效

在项目代码中有一个转换短地址的功能,当然原版的xsser.me是没有的,是另外的作者集成进来的。

代码里提供t.cn和is.gd的短地址转换,对应函数在source/function.php中的第350行和357行。由于is.gd的 api 地址已经失效,所以我决定把这一块内容去掉。

先删掉页面上展示的内容,打开templates_c/%%4D^4D3^4D30CF2A%%project_viewcode.html.php,将下面代码去掉:

     
   

        
              _tpl_vars['shortShow1']; ?>    
   


然后在source/project.php里面注释下面两行:

$shortUrl2=LongUrltoShortUrl2($longUrl);//短网址2$shortShow2=StripStr("");
2. 去掉JS地址后面的时间戳

JS 地址后面加入时间戳,是为了在修改 JS 代码后,刷新对方浏览器中缓存的 JS。但在实际测试中感觉作用不是很大,一般代码修改完刷新一下网页出来的就是新代码。所以我把 JS URL 中的时间戳去掉了。

在source/project.php里进行下面的修改:

//$codeurl=URL_ROOT."/{$project[urlKey]}?".time();
$codeurl=URL_ROOT."/{$project[urlKey]}";
//$scriptShow1=StripStr("'\">
");
$scriptShow2=StripStr("");
3. HTML 部分优化

代码中部分 Javascript 和 CSS 资源都是通过国外 CDN 获取的,有时候页面 load 很久才出来,于是把文中引用的资源都改为本地,当然改成国内 CDN 地址也可以。

在 Sublime Text 中对目录进行搜索,找出jquery-1.9.1.min.js和bootstrap.min.js引用的地方,然后修改为本地引用,文件放在themes/default里对应的文件夹。


//修改为:


//修改为:

PS.注意修改后的代码为两行。

PPS.其实引用的 Javascript 文件最好放在的最后,但这里需要手动找到所有的 Javascript 进行修改,太麻烦了就没做。

4. 添加 cookie 复制功能

一般来说,打到对方 cookie 后,会借用EditThisCookie这个工具把 cookie 导入到 chrome 中。但document.cookie输出的 cookie 不能直接导入,需要转换成EditThisCookie规定的 JSON 格式。

源代码中本身自带了实现复制功能的 JS 代码,但默认是注释掉的,因为没有完整实现。同时,这个复制只是把 JSON 化后的 cookie 通过alert()打印到屏幕上,当 cookie 内容过多时,alert 窗口并不能展示所有的内容。

于是我决定对这个功能进行修改,在完成 JSON 格式化的同时,把 JSON 内容放入到剪贴板中。

首先对原有 HTML 节点进行修改,打开%%33^334^334DB811%%project_view.html.php ,找到下面内容:

  • _tpl_vars['ck']; ?> : 
    _tpl_vars['c']; ?>

  • 修改为:
  • _tpl_vars['ck']; ?> : 

    _tpl_vars['c']; ?>



  • 修改为:


    修改为:  
    复制

    当某一条记录没有location或者cookie值的时候,Copy()函数会报错,所以要加一个判断条件:

    var table = $(obj).parent().parent(); 
    var l = table.find("#location").text(); 
    var c = table.find("#cookie").text();
    var table = $("#"+obj).parent().parent();
    var l = table.find("#location").text();
    var c = table.find("#cookie").text();
    if (l == "" || c == "") {  return "";}

    修改Copy()函数的返回形式:

    alert(JSON.stringify(data));
    return JSON.stringify(data);

    为了实现让 JSON 数据复制到粘贴板上,我们需要借助ZeroClipboard.js这个插件。下面是调用代码:


    ZeroClipboard.config( { swfPath: "'.$this->_tpl_vars['url']['themePath'].'/swf/ZeroClipboard.swf" } );
    var client = new ZeroClipboard($(".CopyBtn"));client.on('copy', function(event) 

    var clipboard = event.clipboardData;  clipboard.clearData();  
       clipboard.setData("text/plain", Copy(event.target.id));});client.on('aftercopy', function(event) 

    if (typeof(event.success['text/plain']) == "undefined") 
    {    
    alert("cookie复制失败,请检查cookie格式~"); 
    }  
    else {    
    alert("cookie已复制到剪贴板,可以导入EditThisCookie啦~");  
            }
        }
    );

    这样就大功告成了~


    相关内容

    热门资讯

    【第一财经】“山西扣点点开挂器... 有 亲,根据资深记者爆料山西扣点点是可以开挂的,确实有挂(咨询软件无需打...
    终于懂了“中至九江麻将可以开挂... 家人们!今天小编来为大家解答中至九江麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
    快讯!柳州优必选第1000台工... 12月26日,优必选第1000台工业人形机器人Walker S2在柳州成功下线。今年6月,柳州优必选...
    【第一财经】“快乐竞技究竟有挂... 网上科普关于“快乐竞技有没有挂”话题很是火热,小编也是针对快乐竞技作*弊开挂的方法以及开挂对应的知识...
    今日重大发现“悟空黑桃A怎么开... 网上科普关于“悟空黑桃A有没有挂”话题很是火热,小编也是针对悟空黑桃A作*弊开挂的方法以及开挂对应的...
    今日重大发现“方片十三张有挂吗... 网上科普关于“方片十三张有没有挂”话题很是火热,小编也是针对方片十三张作*弊开挂的方法以及开挂对应的...
    今日重大通报“万圣节消除大作战... 您好:万圣节消除大作战这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在...
    今日重大消息“乾坤互娱怎么装挂... 有 亲,根据资深记者爆料乾坤互娱是可以开挂的,确实有挂(咨询软件无需打开...
    玩家最新攻略“响水麻将是不是有... 您好:响水麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
    玩家最新攻略“福建天天开心有挂... 网上科普关于“福建天天开心有没有挂”话题很是火热,小编也是针对福建天天开心作*弊开挂的方法以及开挂对...