Version 3.0.1

更新使用说明,变化较大,使用前请仔细阅读Readme
This commit is contained in:
firesun
2016-01-24 02:11:18 +08:00
parent 264460650b
commit 11c98d029f
7 changed files with 85 additions and 19 deletions

102
README.md
View File

@@ -1,21 +1,26 @@
# XSS数据接收平台无SQL版
### 已更新3.0版旧版本升级务必先阅读Readme
## 使用说明
本平台设计理念,基本无需配置即可使用,故设计为无需数据库无需其他组件支持可直接在php虚拟空间使用,使用步骤:
本平台设计理念: 简单配置即可使用无需数据库无需其他组件支持可直接在php虚拟空间使用
![](./guide/mainpanel.png)
* 上传所有文件至空间根目录
* 修改config.php指定数据存放目录数据是否启用AES加密及加密密码
##使用步骤
1. 上传所有文件至空间根目录
2. 修改config.php配置文件指定xss数据、我的js、js模板的存放目录以及数据是否启用加密、加密密码、与加密方法详细说明见config.php
```php
define('PASS', '2a05218c7aa0a6dbd370985d984627b8');
define('DATA_PATH', 'data');
define('JS_TEMPLATE_PATH', 'template');
define('MY_JS_PATH', 'myjs');
define('ENABLE_ENCRYPT', true);
define('ENCRYPT_PASS', "bluelotus");
define('ENCRYPT_TYPE', "RC4");
```
可用`php -r "$salt='!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl';$key='你的密码';$key=md5($salt.$key.$salt);$key=md5($salt.$key.$salt);$key=md5($salt.$key.$salt);echo $key;"`生成密码hash
* 赋予`DATA_PATH`目录写权限
* 当有请求访问/index.php?a=xxx&b=xxxx所有携带数据包括getpostcookiehttpheaders客户端信息都会记录
* 可访问login.php登录查看记录的数据初始密码bluelotus
3. PASS为登录密码可用`php -r "$salt='!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl';$key='你的密码';$key=md5($salt.$key.$salt);$key=md5($salt.$key.$salt);$key=md5($salt.$key.$salt);echo $key;"`生成密码hash
4. 赋予`DATA_PATH``MY_JS_PATH``JS_TEMPLATE_PATH`对应的目录写权限
5. 当有请求访问/index.php?a=xxx&b=xxxx所有携带数据包括getpostcookiehttpheaders客户端信息都会记录
6. 可访问login.php登录查看记录的数据初始登录密码bluelotus
7. 如果有权限请开启Apache中的AllowOverride以使.htaccess生效可选
![](./guide/login.png)
@@ -32,11 +37,37 @@ define('ENCRYPT_PASS', "bluelotus");
![](./guide/newmessage.png)
* 支持简单的查找功能
![](./guide/search.png)
* 除了style允许unsafe-inline外启用CSP
* 挑战应答式的登录校验session绑定ip与useragent
* 密码输错次封IP误封请删除`DATA_PATH`/forbiddenIPList.dat文件
* 密码输错次封IP误封请删除`DATA_PATH`/forbiddenIPList.dat文件
* 可以通过平台直接维护用于xss的js文件详细说明见下
## js公用模板模块
![](./guide/jstemplate.png)
* 用户可添加一些js通用模板在我的js里可随时插入js模板
* 采用ace编辑器支持js语法高亮语法错误检查
![](./guide/editor.png)
* 使用js_beautify实现js代码格式化可随时格式化js代码
* 使用jsmin实现js代码压缩可随时压缩js代码
* 支持复制js代码的url到剪切板需要浏览器支持flash
* 提供了一些常用的js模板包括前几天心血来潮研究的用js截图
## 我的js模块
![](./guide/myjs.png)
* 用户可随时插入js模板
* 部分整合[xssor](https://github.com/evilcos/xssor)功能方便生成payload
![](./guide/xssor.png)
## keepsession功能
* 需要在config.php开启
@@ -47,22 +78,57 @@ define('ENCRYPT_PASS', "bluelotus");
* 如果不设置location将会使用HTTP Referer作为url
* keepsession.php使用`flock($pid, LOCK_EX|LOCK_NB)`实现单例运行由于windows下不支持无阻塞锁定所以最好删除keepsession.php里的`set_time_limit(0)`可自行加上sleep防止keepsession.php被恶意频繁访问
## 旧版本升级至3.0
* 本平台对xss记录、ip封禁列表、js的说明仅说明加密用户可设置是否加密密码以及加密方式AES、RC4
* 3.0版本起配置里的默认加密方式改为RC4为了效率
* 如果需要改密码改加密方式需要对xss记录、ip封禁列表、js的说明进行重加密才能正常访问这些数据
* 故根目录下提供了change_encrypt_pass.php用于重新加密xss记录,js的描述,ip封禁列表
* 请在修改加密方式或者加密密码后执行此文件(如果选择不加密,加密密码写任意值)
* **使用前请将change_encrypt_pass.php开始的exit()注释掉**
* 用法在shell下执行
`php change_encrypt_pass.php (以前是否加密true/false) (旧加密密码) (旧加密方法AES/RC4) (现在是否加密) (新加密密码) (新加密方法)`
* 例:
`php change_encrypt_pass.php true bluelotus AES true bluelotus RC4`
`php change_encrypt_pass.php true bluelotus AES false xxxx(任意值) AES`
* 也可执行
`php change_encrypt_pass.php update (以前是否加密true/false) (旧加密密码)`
* 此命令可将所有xss记录转化为加密开启密码bluelotus加密方法RC4
***
1. 升级方案1删除所有js模板JS_TEMPLATE_PATHMY_JS_PATH下的.js .desc文件修改config.php直接使用原加密密码加密方式ENCRYPT_TYPE改为AES原xss记录可照常访问
2. 升级方案2全新安装舍弃原xss记录
3. 升级方案3
1. 首先执行
`php change_encrypt_pass.php update (以前是否加密true/false) (旧加密密码)`
2. 修改config.php修改是否加密新密码加密方式
3. 执行`php change_encrypt_pass.php true bluelotus rc4 (现在是否加密) (新加密密码) (新加密方法)`
4. 升级完成
## TODO
* 完全启用CSP
* 我的js
* js模板
* 多用户SQL版
* WebSocket新消息推送模式
* 邮件提醒
* 短信提醒
* 多用户SQL版本
* WebSocket方式通知
## 特别说明
* 前端使用Bootstrap与jQWidgets开发原来用kendo UI受限于商业许可改用jQWidgets`you can use jQWidgets for free under the Creative Commons Attribution-NonCommercial 3.0 License`, 但是不可用于商业用途,如需用于商业用途请购买授权
* 前端使用[Bootstrap](http://getbootstrap.com/)与[jQWidgets](http://www.jqwidgets.com/)开发原来用kendo UI受限于商业许可改用jQWidgets`you can use jQWidgets for free under the Creative Commons Attribution-NonCommercial 3.0 License`, 但是不可用于商业用途,如需用于商业用途请购买授权
* 为实现jqxgrid不支持的功能如固定表格高度实现row高度自动调节修改了jQWidgets部分代码具体修改部分可查看diff文件夹
* 为方便开发与调试未合并压缩js与css待最终版发布后合并
* 使用纯真ip库的函数基于Discuz X3.1 function_misc.php上修改而来, 判断客户端操作系统与浏览器的脚本基于原作者@author Jea杨写的php版本修改而来后台整体布局借鉴Kendo UI 的demo NORTHWIND DASH
* Warning: 本工具仅允许使用在CTF比赛等学习、研究场景严禁用于非法用途
* js代码格式化使用[js_beautify](https://github.com/beautify-web/js-beautify)库
* js代码压缩采用jsmin.js
* js代码编辑器采用[ace](https://ace.c9.io)
* **Warning: 本工具仅允许使用在CTF比赛等学习、研究场景严禁用于非法用途**
## 意见与建议
欢迎大家在体验过程中提出各种宝贵的意见和建议以及各种bug
欢迎大家在使用过程中提出各种宝贵的意见和建议以及各种bug,不胜感激
反馈邮箱firesun.cn`at`gmail.com

View File

@@ -101,7 +101,7 @@ require("auth.php");
<input id="myJS_name" />.js
</div>
<div class="js_content_div">
<div>模板说明:</div>
<div>js文件说明:</div>
<textarea id="myJS_description" ></textarea>
</div>

BIN
guide/editor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
guide/jstemplate.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

BIN
guide/myjs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
guide/search.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
guide/xssor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB