├── .project ├── LICENSE.txt ├── README.md ├── all.sql ├── apacheReverseProxy ├── ports.conf └── sites-available │ ├── blog.example.io │ ├── example.io │ └── www.example.io ├── setup.sh ├── whiteLightning ├── mysqli_connect.php └── www │ ├── e │ ├── config_e.inc.php │ ├── index.html │ ├── php_debug_inc.php │ ├── php_msfrpc_inc.php │ ├── template-be.php │ ├── template-fe.php │ └── template-p.php │ ├── empty.pdf │ ├── getJavaInfo.jar │ ├── index.html │ ├── m │ ├── css │ │ ├── bootstrap.min.css │ │ ├── component.css │ │ ├── cooltables.css │ │ ├── font-awesome.min.css │ │ ├── jquery.dataTables.css │ │ ├── plugins │ │ │ └── morris.css │ │ ├── sb-admin.css │ │ ├── shCore.css │ │ └── tabs.css │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ ├── img │ │ └── whitelightning.jpg │ ├── includes │ │ ├── config.inc.php │ │ ├── index_bargraph_data.php │ │ ├── index_donutgraph_data.php │ │ ├── settings_delete_rows.php │ │ ├── settings_update_rows.php │ │ ├── taskings_delete_rows.php │ │ ├── taskings_functs.php │ │ └── validate.php │ ├── index.php │ ├── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── cooltables.js │ │ ├── dtables.js │ │ ├── jquery.dataTables.js │ │ ├── jquery.js │ │ ├── plugins │ │ │ └── morris │ │ │ │ ├── morris-data.js │ │ │ │ ├── morris.js │ │ │ │ ├── morris.min.js │ │ │ │ └── raphael.min.js │ │ ├── shCore.js │ │ ├── tabs.js │ │ └── tasking_functs.js │ ├── login.php │ ├── logout.php │ ├── logs.php │ ├── outline.php │ ├── plugins │ │ └── fa │ │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ │ ├── less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── spinning.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ │ └── scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _spinning.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ ├── settings.php │ └── tasking.php │ ├── robots.txt │ └── survey.js ├── wlMsgrpc └── msgrpc.rc └── zzz_old_v1.x ├── LICENSE.txt ├── README.md ├── create.sql ├── etc └── apache2 │ ├── ports.conf │ └── sites-available │ ├── blog.qu.gs │ └── qu.gs ├── pw.sql ├── root └── msgrpc.rc ├── setup.sh ├── tables.sql └── var ├── mysqli_connect.php └── www ├── LICENSE.txt ├── e ├── config_e.inc.php ├── php_debug_inc.php ├── php_msfrpc_inc.php ├── template-be.php ├── template-fe.php └── template-p.php ├── empty.pdf ├── getJavaInfo.jar ├── m ├── css │ ├── bootstrap.min.css │ ├── component.css │ ├── cooltables.css │ ├── font-awesome.min.css │ ├── jquery.dataTables.css │ ├── plugins │ │ └── morris.css │ ├── sb-admin.css │ ├── shCore.css │ └── tabs.css ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff ├── img │ └── whitelightning.jpg ├── includes │ ├── config.inc.php │ ├── index_bargraph_data.php │ ├── index_donutgraph_data.php │ ├── settings_delete_rows.php │ ├── settings_update_rows.php │ ├── taskings_delete_rows.php │ ├── taskings_functs.php │ └── validate.php ├── index.php ├── js │ ├── bootstrap.js │ ├── bootstrap.min.js │ ├── cooltables.js │ ├── dtables.js │ ├── jquery.dataTables.js │ ├── jquery.js │ ├── plugins │ │ └── morris │ │ │ ├── morris-data.js │ │ │ ├── morris.js │ │ │ ├── morris.min.js │ │ │ └── raphael.min.js │ ├── shCore.js │ ├── tabs.js │ └── tasking_functs.js ├── login.php ├── logout.php ├── logs.php ├── outline.php ├── plugins │ └── fa │ │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ │ ├── less │ │ ├── bordered-pulled.less │ │ ├── core.less │ │ ├── fixed-width.less │ │ ├── font-awesome.less │ │ ├── icons.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── mixins.less │ │ ├── path.less │ │ ├── rotated-flipped.less │ │ ├── spinning.less │ │ ├── stacked.less │ │ └── variables.less │ │ └── scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _path.scss │ │ ├── _rotated-flipped.scss │ │ ├── _spinning.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ └── font-awesome.scss ├── settings.php └── tasking.php ├── robots.txt └── survey.js /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | WhiteLightning2.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ##WELCOME## 2 | WhiteLightning is the next generation of MiTM web exploitation. This tool was 3 | created for the Red Team, OpSec conscience pen tester, and for future inovators 4 | to show what can happen when you put a little logic into a framework such as this. 5 | 6 | We wrote this because we couldn't find anything out there they gave us what we 7 | wanted. We found downfalls in all similar products so we decided to make our own. 8 | If there are any features that you want and don't see please submit a ticket 9 | and we will get to it. Thanks! 10 | 11 | ##Highlighted Features## 12 | [*] Developed logic to determine the characteristics of the target environment. 13 | [*] Uses reverse proxying to keep all comms on port 80 (configurable) 14 | [*] Chooses best exploits to throw based on logic from the target 15 | [*] Easy to navigate Bootstrap front end 16 | [*] 100%x100% iFrame redirection (really ingenious Bryce) 17 | [*] Custom logging with group level permissions 18 | 19 | ##Current Progress## 20 | [ ] Working on creating precompiled application package 21 | -> Convert mysql database passwords to dynamic assignment 22 | -> Convert hard coded URLs to dynamic 23 | -> Create first log on page to configure admin 24 | [ ] Expanding target area from Windows 7+ to OSX 25 | [ ] Email system for alerts 26 | [ ] Support for SSL 27 | 28 | ##Recent Developments## 29 | [*] Overhauled front end, cleaned up a lot of code. 30 | [*] New exploits added 31 | [*] Administration pages 32 | [*] Ability to remove tasks 33 | [*] Added robots.txt to web root to prevent crawlers from scraping 34 | [*] Added License 35 | 36 | ##Installation## 37 | Setup has been verified working on January 31, 2015 on KaliLinux 1.0.9. 38 | 39 | First, copy all directories (etc, root, var) to the root of your KaliLinux, overwritting the originals. 40 | Make sure you have installed and have running mysql 41 | 42 | Then update your software as shown below: 43 | apt-get install php5-dev php-pear build-essential 44 | pecl install channel://pecl.php.net/msgpack-0.5.5 45 | echo "extension=msgpack.so" >> /etc/php5/apache2/php.ini 46 | apt-get install curl libcurl3 libcurl3-dev php5-curl 47 | update-rc.d postgresql enable 48 | service postgresql start 49 | update-rc.d metasploit enable 50 | service metasploit start 51 | update-rc.d apache2 enable 52 | service apache2 restart 53 | 54 | update-rc.d mysql enable 55 | service mysql restart 56 | 57 | ##Setup MySQL## 58 | mysql -u root -p 59 | 60 | use mysql; 61 | update user set password=PASSWORD("mysecretpassword") where User='root'; 62 | flush privileges; 63 | quit 64 | 65 | mysql -u root -p 66 | 67 | CREATE DATABASE WL; 68 | CREATE USER 'hobbyhorse'@'localhost' IDENTIFIED BY 'mysecretpassword'; 69 | GRANT ALL ON WL.* TO 'hobbyhorse'@'localhost'; 70 | quit 71 | 72 | mysql -u hobbyhorse -p 73 | 74 | USE WL; 75 | DROP TABLE users; 76 | CREATE TABLE users ( 77 | user_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 78 | name VARCHAR(40) NOT NULL, 79 | pass CHAR(40) NOT NULL, 80 | user_level TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, 81 | PRIMARY KEY (user_id), 82 | INDEX login (pass) 83 | ); 84 | 85 | INSERT INTO users (name, pass) VALUES ('admin', SHA1('P@ssw0rd!')); 86 | UPDATE users SET user_level=1 WHERE name='gator'; 87 | 88 | CREATE TABLE hits ( 89 | hit_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 90 | php_date VARCHAR(8) NOT NULL, 91 | php_time VARCHAR(8) NOT NULL, 92 | php_remote_addr VARCHAR(20) NOT NULL, 93 | php_http_referer VARCHAR(2048) NOT NULL, 94 | php_http_user_agent VARCHAR(2048), 95 | ua_os_family VARCHAR(20), 96 | ua_os_version VARCHAR(20), 97 | ua_os_platform VARCHAR(20), 98 | ua_browser_wow64 VARCHAR(20), 99 | ua_browser_name VARCHAR(20), 100 | ua_browser_version VARCHAR(20), 101 | pd_os VARCHAR(20), 102 | pd_br VARCHAR(40), 103 | pd_br_ver VARCHAR(20), 104 | pd_br_ver_full VARCHAR(40), 105 | me_mshtml_build VARCHAR(20), 106 | be_office VARCHAR(20), 107 | pd_reader VARCHAR(20), 108 | pd_flash VARCHAR(20), 109 | pd_java VARCHAR(20), 110 | pd_qt VARCHAR(20), 111 | pd_rp VARCHAR(20), 112 | pd_shock VARCHAR(20), 113 | pd_silver VARCHAR(20), 114 | pd_wmp VARCHAR(20), 115 | pd_vlc VARCHAR(20), 116 | PRIMARY KEY (hit_id) 117 | ); 118 | 119 | CREATE TABLE taskings ( 120 | tasking_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 121 | name VARCHAR(200), 122 | date VARCHAR(8) NOT NULL, 123 | time VARCHAR(8) NOT NULL, 124 | random_string VARCHAR(200), 125 | throw_count VARCHAR(8), 126 | frontend_url VARCHAR(2048), 127 | backend_url VARCHAR(2048), 128 | iframe_flag VARCHAR(200), 129 | iframe_url VARCHAR(2048), 130 | iframe_title VARCHAR(2048), 131 | iframe_icon_url VARCHAR(2048), 132 | debug_flag VARCHAR(200), 133 | PRIMARY KEY (tasking_id) 134 | ); 135 | 136 | CREATE TABLE throws ( 137 | throw_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 138 | hit_id INT UNSIGNED, 139 | php_date VARCHAR(8), 140 | php_time VARCHAR(8), 141 | msf_exploit_full_path VARCHAR(2048), 142 | msf_target VARCHAR(8), 143 | PRIMARY KEY (throw_id) 144 | ); 145 | 146 | DROP TABLE loads; 147 | CREATE TABLE loads ( 148 | load_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 149 | throw_id INT UNSIGNED, 150 | php_date VARCHAR(8), 151 | php_time VARCHAR(8), 152 | php_remote_addr VARCHAR(20), 153 | php_http_referer VARCHAR(2048), 154 | php_http_user_agent VARCHAR(2048), 155 | PRIMARY KEY (load_id) 156 | ); 157 | 158 | ##Apache Modifications## 159 | 160 | ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled 161 | ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled 162 | ln -s /etc/apache2/sites-available/qu.gs /etc/apache2/sites-enabled/001-qu.gs 163 | ln -s /etc/apache2/sites-available/blog.qu.gs /etc/apache2/sites-enabled/003-blog.qu.gs 164 | 165 | vi /etc/apache2/ports.conf 166 | #NameVirtualHost *:80 167 | NameVirtualHost * 168 | 169 | chown some files 170 | chown -R www-data:www-data /var/www 171 | chmod -R g+rw /var/www 172 | 173 | vi /etc/apache2/apache2.conf 174 | DefaultType application/x-httpd-php 175 | 176 | ### Domain Change ### 177 | 178 | How I setup a new domain for my White Lightning server... 179 | 180 | vi /var/mysqli_connect.php 181 | DEFINE ('DB_PASSWORD', 'mysecretpassword'); 182 | 183 | vi /root/msgrpc.rb 184 | load msgrpc ServerHost=qu.gs Pass=abc123 185 | 186 | run msf 187 | screen -L -S msgrpc 188 | msfconsole -r msgrpc.rb 189 | [+] detach: control + a -> d 190 | touch /var/www/e/debug.log 191 | chmod 777 //var/www/e/debug.log 192 | 193 | vi /var/www/e/pam-i.php 194 | define ('WL_DOMAIN', 'qu.gs'); /* */ 195 | 196 | vi /var/www/m/includes/config.inc.php 197 | define ('BASE_URL', 'http://qu.gs/m/'); 198 | 199 | ##NOTES## 200 | We are still in the process of pulling out all static information and making it 201 | fully dynamic. But until we are done here are all the hardcoded locations that 202 | you will need to manually modify to get things rolling: 203 | 204 | /var/www/e/config_e.inc.php 205 | line 3: qu.gs 206 | line 6: 10.191.53.90 207 | line 8: blog.qu.gs 208 | /var/www/m/tasking.php 209 | line : blog.qu.gs 210 | /root/msgrpc.rc 211 | line 1: 10.191.53.90 212 | /etc/apache2/sites-available/qu.gs 213 | line 2: qu.gs 214 | /etc/apache2/sites-available/blog.qu.gs 215 | line 2: blog.qu.gs 216 | line 15: 10.191.53.90 217 | line 18: 10.191.53.90 218 | /etc/apache2/sites-available/ 219 | file: qu.gs 220 | file: blog.qu.gs 221 | /var/mysql_connect.php 222 | line 9: mysecretpassword 223 | 224 | ### 225 | -------------------------------------------------------------------------------- /all.sql: -------------------------------------------------------------------------------- 1 | use mysql; 2 | update user set password=PASSWORD("P@ssw0rd!mysqlroot") where User='root'; 3 | flush privileges; 4 | 5 | CREATE DATABASE WL; 6 | CREATE USER 'hobbyhorse'@'localhost' IDENTIFIED BY 'P@ssw0rd!mysqlwebapp'; 7 | GRANT ALL ON WL.* TO 'hobbyhorse'@'localhost'; 8 | 9 | USE WL; 10 | DROP TABLE users; 11 | CREATE TABLE users ( 12 | user_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 13 | name VARCHAR(40) NOT NULL, 14 | pass CHAR(40) NOT NULL, 15 | user_level TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, 16 | PRIMARY KEY (user_id), 17 | INDEX login (pass) 18 | ); 19 | 20 | INSERT INTO users (name, pass) VALUES ('gator', SHA1('P@ssw0rd!webappadmin')); 21 | UPDATE users SET user_level=1 WHERE name='gator'; 22 | 23 | INSERT INTO users (name, pass) VALUES ('bear', SHA1('P@ssw0rd!webappuser')); 24 | 25 | DROP TABLE users_invites; 26 | CREATE TABLE users_invites ( 27 | user_invite_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 28 | user_id INT UNSIGNED NOT NULL, 29 | invite_id INT UNSIGNED NOT NULL, 30 | PRIMARY KEY (user_invite_id) 31 | ); 32 | 33 | DROP TABLE invites; 34 | CREATE TABLE invites ( 35 | invite_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 36 | invite VARCHAR(32) NOT NULL, 37 | active TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, 38 | PRIMARY KEY (invite_id) 39 | ); 40 | 41 | DROP TABLE hits; 42 | CREATE TABLE hits ( 43 | hit_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 44 | php_date VARCHAR(8) NOT NULL, 45 | php_time VARCHAR(8) NOT NULL, 46 | php_remote_addr VARCHAR(20) NOT NULL, 47 | php_http_referer VARCHAR(2048) NOT NULL, 48 | php_http_user_agent VARCHAR(2048), 49 | ua_os_family VARCHAR(20), 50 | ua_os_version VARCHAR(20), 51 | ua_os_platform VARCHAR(20), 52 | ua_browser_wow64 VARCHAR(20), 53 | ua_browser_name VARCHAR(20), 54 | ua_browser_version VARCHAR(20), 55 | pd_os VARCHAR(20), 56 | pd_br VARCHAR(40), 57 | pd_br_ver VARCHAR(20), 58 | pd_br_ver_full VARCHAR(40), 59 | me_mshtml_build VARCHAR(20), 60 | be_office VARCHAR(20), 61 | pd_reader VARCHAR(20), 62 | pd_flash VARCHAR(20), 63 | pd_java VARCHAR(20), 64 | pd_qt VARCHAR(20), 65 | pd_rp VARCHAR(20), 66 | pd_shock VARCHAR(20), 67 | pd_silver VARCHAR(20), 68 | pd_wmp VARCHAR(20), 69 | pd_vlc VARCHAR(20), 70 | PRIMARY KEY (hit_id) 71 | ); 72 | 73 | 74 | DROP TABLE taskings; 75 | CREATE TABLE taskings ( 76 | tasking_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 77 | name VARCHAR(200), 78 | date VARCHAR(8) NOT NULL, 79 | time VARCHAR(8) NOT NULL, 80 | random_string VARCHAR(200), 81 | throw_count VARCHAR(8), 82 | frontend_url VARCHAR(2048), 83 | backend_url VARCHAR(2048), 84 | iframe_flag VARCHAR(200), 85 | iframe_url VARCHAR(2048), 86 | iframe_title VARCHAR(2048), 87 | iframe_icon_url VARCHAR(2048), 88 | debug_flag VARCHAR(200), 89 | PRIMARY KEY (tasking_id) 90 | ); 91 | 92 | DROP TABLE throws; 93 | CREATE TABLE throws ( 94 | throw_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 95 | hit_id INT UNSIGNED, 96 | php_date VARCHAR(8), 97 | php_time VARCHAR(8), 98 | msf_exploit_full_path VARCHAR(2048), 99 | msf_target VARCHAR(8), 100 | PRIMARY KEY (throw_id) 101 | ); 102 | 103 | DROP TABLE loads; 104 | CREATE TABLE loads ( 105 | load_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 106 | throw_id INT UNSIGNED, 107 | php_date VARCHAR(8), 108 | php_time VARCHAR(8), 109 | php_remote_addr VARCHAR(20), 110 | php_http_referer VARCHAR(2048), 111 | php_http_user_agent VARCHAR(2048), 112 | PRIMARY KEY (load_id) 113 | ); 114 | 115 | show tables; 116 | -------------------------------------------------------------------------------- /apacheReverseProxy/ports.conf: -------------------------------------------------------------------------------- 1 | # If you just change the port or add more ports here, you will likely also 2 | # have to change the VirtualHost statement in 3 | # /etc/apache2/sites-enabled/000-default 4 | # This is also true if you have upgraded from before 2.2.9-3 (i.e. from 5 | # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and 6 | # README.Debian.gz 7 | 8 | NameVirtualHost *:80 9 | #NameVirtualHost * 10 | Listen 80 11 | 12 | 13 | # If you add NameVirtualHost *:443 here, you will also have to change 14 | # the VirtualHost statement in /etc/apache2/sites-available/default-ssl 15 | # to 16 | # Server Name Indication for SSL named virtual hosts is currently not 17 | # supported by MSIE on Windows XP. 18 | Listen 443 19 | 20 | 21 | 22 | Listen 443 23 | 24 | 25 | -------------------------------------------------------------------------------- /apacheReverseProxy/sites-available/blog.example.io: -------------------------------------------------------------------------------- 1 | 2 | ServerName blog.example.io 3 | 4 | #Use incoming Host HTTP request header for proxy request 5 | #ProxyPreserveHost on 6 | 7 | # Enables forward (standard) proxy requests 8 | #ProxyRequests off 9 | # 10 | # Order allow,deny 11 | # Allow from all 12 | # 13 | 14 | #Maps remote servers into the local server URL-space 15 | ProxyPass / http://192.168.187.101:805/ 16 | 17 | #Adjusts the URL in HTTP response headers sent from a reverse proxied server 18 | ProxyPassReverse / http://192.168.187.101:805/ 19 | 20 | Order allow,deny 21 | Allow from all 22 | 23 | 24 | -------------------------------------------------------------------------------- /apacheReverseProxy/sites-available/example.io: -------------------------------------------------------------------------------- 1 | 2 | ServerName example.io 3 | ServerAdmin webmaster@localhost 4 | 5 | DocumentRoot /var/www 6 | 7 | Options FollowSymLinks 8 | AllowOverride None 9 | 10 | 11 | Options Indexes FollowSymLinks MultiViews 12 | AllowOverride None 13 | Order allow,deny 14 | allow from all 15 | 16 | 17 | ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 18 | 19 | AllowOverride None 20 | Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 21 | Order allow,deny 22 | Allow from all 23 | 24 | 25 | ErrorLog ${APACHE_LOG_DIR}/error.log 26 | 27 | # Possible values include: debug, info, notice, warn, error, crit, 28 | # alert, emerg. 29 | LogLevel warn 30 | 31 | CustomLog ${APACHE_LOG_DIR}/access.log combined 32 | 33 | -------------------------------------------------------------------------------- /apacheReverseProxy/sites-available/www.example.io: -------------------------------------------------------------------------------- 1 | 2 | ServerName www.example.io 3 | ServerAdmin webmaster@localhost 4 | 5 | DocumentRoot /var/www 6 | 7 | Options FollowSymLinks 8 | AllowOverride None 9 | 10 | 11 | Options Indexes FollowSymLinks MultiViews 12 | AllowOverride None 13 | Order allow,deny 14 | allow from all 15 | 16 | 17 | ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 18 | 19 | AllowOverride None 20 | Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 21 | Order allow,deny 22 | Allow from all 23 | 24 | 25 | ErrorLog ${APACHE_LOG_DIR}/error.log 26 | 27 | # Possible values include: debug, info, notice, warn, error, crit, 28 | # alert, emerg. 29 | LogLevel warn 30 | 31 | CustomLog ${APACHE_LOG_DIR}/access.log combined 32 | 33 | -------------------------------------------------------------------------------- /setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Configure Script 4 | WL_DOMAIN='example.com' 5 | EL_DOMAIN='blog.example.com' 6 | MSGRPC_IP='192.168.187.101' 7 | 8 | PASS_MYSQL_ROOT='P@ssw0rd!1' 9 | 10 | USERNAME_MYSQL_WEBAPP='wlWebApp' 11 | PASS_MYSQL_WEBAPP='P@ssw0rd!2' 12 | 13 | USERNAME_WEBAPP_ADMIN='admin' 14 | PASS_WEBAPP_ADMIN='P@ssw0rd!3' 15 | 16 | USERNAME_WEBAPP_USER='user' 17 | PASS_WEBAPP_USER='P@ssw0rd!4' 18 | 19 | PASS_MSGRPC='abc123' 20 | 21 | 22 | ### ### ### !!! DO NOT EDIT BELOW HERE !!! ### ### ### 23 | 24 | # Configure Script - You shouldn't need to edit any of these 25 | OLD_WL_DOMAIN='example.io' 26 | OLD_EL_DOMAIN='blog.example.io' 27 | OLD_MSGRPC_IP='192.168.187.101' 28 | 29 | OLD_PASS_MYSQL_ROOT='P@ssw0rd!mysqlroot' 30 | 31 | OLD_USERNAME_MYSQL_WEBAPP='hobbyhorse' 32 | OLD_PASS_MYSQL_WEBAPP='P@ssw0rd!mysqlwebapp' 33 | 34 | OLD_USERNAME_WEBAPP_ADMIN='gator' 35 | OLD_PASS_WEBAPP_ADMIN='P@ssw0rd!webappadmin' 36 | 37 | OLD_USERNAME_WEBAPP_USER='bear' 38 | OLD_PASS_WEBAPP_USER='P@ssw0rd!webappuser' 39 | 40 | OLD_PASS_MSGRPC='abc123' 41 | 42 | 43 | # Install needed software 44 | apt-get -y install php5-dev php-pear build-essential 45 | pecl install channel://pecl.php.net/msgpack-0.5.5 46 | echo "extension=msgpack.so" >> /etc/php5/apache2/php.ini 47 | 48 | apt-get -y install curl libcurl3 libcurl3-dev php5-curl 49 | 50 | 51 | # Start Services on Startup 52 | update-rc.d postgresql enable 53 | service postgresql start 54 | 55 | update-rc.d metasploit enable 56 | service metasploit start 57 | 58 | update-rc.d apache2 enable 59 | service apache2 restart 60 | 61 | update-rc.d mysql enable 62 | service mysql restart 63 | 64 | 65 | # Replace Function 66 | function replace() { 67 | declare -a files 68 | readarray -t files < <(grep -rl "$1" ./* | egrep -v "README.md|setup.sh") 69 | for i in "${files[@]}" 70 | do 71 | TMP=`sed "s/${1}/${2}/g" "$i"` 72 | echo -n "$TMP" > "$i" 73 | echo "$i -- $1 changed to $2" 74 | done 75 | } 76 | 77 | 78 | # Replace hard-coded passwords 79 | replace $OLD_EL_DOMAIN $EL_DOMAIN 80 | replace $OLD_WL_DOMAIN $WL_DOMAIN 81 | replace $OLD_MSGRPC_IP $MSGRPC_IP 82 | 83 | replace $OLD_PASS_MYSQL_ROOT $PASS_MYSQL_ROOT 84 | 85 | replace $OLD_USERNAME_MYSQL_WEBAPP $USERNAME_MYSQL_WEBAPP 86 | 87 | replace $OLD_PASS_MYSQL_WEBAPP $PASS_MYSQL_WEBAPP 88 | 89 | replace $OLD_USERNAME_WEBAPP_ADMIN $USERNAME_WEBAPP_ADMIN 90 | 91 | replace $OLD_PASS_WEBAPP_ADMIN $PASS_WEBAPP_ADMIN 92 | 93 | replace $OLD_USERNAME_WEBAPP_USER $USERNAME_WEBAPP_USER 94 | 95 | replace $OLD_PASS_WEBAPP_USER $PASS_WEBAPP_USER 96 | 97 | replace $OLD_PASS_MSGRPC $PASS_MSGRPC 98 | 99 | #replace 'P@ssw0rd!' $PASS 100 | #replace 'passwww' $PASS 101 | #replace 'gator' 'admin' 102 | #replace 'bear' 'user' 103 | 104 | 105 | echo "######################" 106 | echo 107 | #echo "moving etc/apache2/sites-available/example.io to etc/apache2/sites-available/${WL_DOMAIN}" 108 | #mv ./apacheReverseProxy/sites-available/example.io "./apacheReverseProxy/sites-available/${WL_DOMAIN}" 109 | #echo "moving etc/apache2/sites-available/blog.example.io to etc/apache2/sites-available/${EL_DOMAIN}" 110 | #mv ./apacheReverseProxy/sites-available/blog.example.io "./apacheReverseProxy/sites-available/${EL_DOMAIN}" 111 | echo 112 | 113 | # these might need testing... 114 | echo "copying WL files to system root..." 115 | cp -r ./whiteLightning/* /var/ 116 | cp -r ./wlMsgrpc/* /root/ 117 | cp -r ./apacheReverseProxy/* /etc/apache2/ 118 | 119 | echo 120 | echo "modifying Apache configuration..." 121 | 122 | ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled 123 | ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled 124 | mv /etc/apache2/sites-available/${OLD_WL_DOMAIN} /etc/apache2/sites-available/${WL_DOMAIN} 125 | mv /etc/apache2/sites-available/www.${OLD_WL_DOMAIN} /etc/apache2/sites-available/www.${WL_DOMAIN} 126 | mv /etc/apache2/sites-available/${OLD_EL_DOMAIN} /etc/apache2/sites-available/${EL_DOMAIN} 127 | ln -s /etc/apache2/sites-available/${WL_DOMAIN} /etc/apache2/sites-enabled/001-${WL_DOMAIN} 128 | ln -s /etc/apache2/sites-available/${EL_DOMAIN} /etc/apache2/sites-enabled/002-${EL_DOMAIN} 129 | 130 | chown -R www-data:www-data /var/www 131 | chmod -R g+rw /var/www 132 | 133 | #TMP=`sed 's/#*NameVirtualHost \*:80/NameVirtualHost \*/g' /etc/apache2/ports.conf` 134 | #echo "$TMP" > /etc/apache2/ports.conf 135 | 136 | TMP=`sed 's/^DefaultType .*$/DefaultType application\/x-httpd-php/g' /etc/apache2/apache2.conf` 137 | echo "$TMP" > /etc/apache2/apache2.conf 138 | 139 | echo "ServerName ${WL_DOMAIN}" >> /etc/apache2/apache2.conf 140 | 141 | echo 142 | echo "setting up mysql..." 143 | echo 144 | echo "This run will set your password. Hit enter if you haven't changed it before now." 145 | mysql -f -u root -p < ./all.sql 146 | #echo "Password changed. Now use the new one. This run will create a new user for WL." 147 | #mysql -f -u root -p < ./create.sql 148 | #echo "User should now be created. Next run will create tables for the new user." 149 | #mysql -f -u hobbyhorse -p < ./tables.sql 150 | echo "Should be all done. If you got errors, try re-running the SQL in the WL directory." 151 | 152 | touch /var/www/e/debug.log 153 | chmod 777 //var/www/e/debug.log 154 | 155 | # restart services!!! :) 156 | echo 157 | service apache2 restart 158 | service mysql restart -------------------------------------------------------------------------------- /whiteLightning/mysqli_connect.php: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /whiteLightning/www/e/config_e.inc.php: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /whiteLightning/www/e/index.html: -------------------------------------------------------------------------------- 1 |

It works!

2 |

This is the default web page for this server.

3 |

The web server software is running but no content has been added, yet.

4 | ... 5 | -------------------------------------------------------------------------------- /whiteLightning/www/e/php_debug_inc.php: -------------------------------------------------------------------------------- 1 | '; 46 | 47 | $msgline = '[V] error_reporting is on
'; 48 | file_put_contents('debug.log', $msgline, FILE_APPEND | LOCK_EX); 49 | 50 | error_reporting(E_ALL); 51 | ini_set('display_errors', True); 52 | } 53 | } 54 | 55 | // ************ Setting display_errors() ************ // 56 | display_errors($display_errors); 57 | 58 | // ************ debug() ************ // 59 | function debug($msg, $verbose = 1) 60 | { 61 | if($verbose == 1) 62 | { 63 | ////echo '
';
64 | 	//echo '[V] ' . $msg;
65 | 	////echo '
'; 66 | //echo '
'; 67 | 68 | $msgline = '[V] ' . $msg ."\n"; 69 | file_put_contents('debug.log', $msgline, FILE_APPEND | LOCK_EX); 70 | 71 | } 72 | } 73 | 74 | // ************ debug_r() ************ // 75 | function debug_r($msg, $verbose = 1) 76 | { 77 | if($verbose == 1) 78 | { 79 | ////echo '
';
80 | 	//echo '[V] ';
81 | 	//print_r($msg);
82 | 	//echo '
'; 83 | //echo '
'; 84 | 85 | $msgline = '[V] ' . print_r($msg, true) ."\n"; 86 | file_put_contents('debug.log', $msgline, FILE_APPEND | LOCK_EX); 87 | 88 | 89 | } 90 | } 91 | 92 | ?> -------------------------------------------------------------------------------- /whiteLightning/www/e/template-fe.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <?php 6 | if (defined('IFRAME_TITLE')) 7 | { 8 | echo IFRAME_TITLE; 9 | } 10 | else 11 | { 12 | echo "Moved Permanently"; 13 | } 14 | ?> 15 | 16 | 22 | 23 | 24 | 226 | 227 | 228 |
'; 234 | } 235 | } 236 | ?> 237 | 238 | -------------------------------------------------------------------------------- /whiteLightning/www/e/template-p.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 51 | if (mysqli_affected_rows($dbc) == 1) 52 | { 53 | // INSERT works 54 | $load_id = mysqli_insert_id($dbc); 55 | } 56 | else 57 | { 58 | // INSERT failed 59 | $load_id = NULL; 60 | } 61 | mysqli_close($dbc); 62 | ?> -------------------------------------------------------------------------------- /whiteLightning/www/empty.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/empty.pdf -------------------------------------------------------------------------------- /whiteLightning/www/getJavaInfo.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/getJavaInfo.jar -------------------------------------------------------------------------------- /whiteLightning/www/index.html: -------------------------------------------------------------------------------- 1 |

It works!

2 |

This is the default web page for this server.

3 |

The web server software is running but no content has been added, yet.

4 | 5 | -------------------------------------------------------------------------------- /whiteLightning/www/m/css/component.css: -------------------------------------------------------------------------------- 1 | /* Header */ 2 | .large-header { 3 | position: relative; 4 | width: 100%; 5 | background: #333; 6 | overflow: hidden; 7 | background-size: cover; 8 | background-position: center center; 9 | z-index: 1; 10 | } 11 | 12 | .main-title { 13 | position: absolute; 14 | margin: 0; 15 | padding: 0; 16 | color: #f9f1e9; 17 | text-align: center; 18 | top: 50%; 19 | left: 50%; 20 | -webkit-transform: translate3d(-50%,-50%,0); 21 | transform: translate3d(-50%,-50%,0); 22 | } 23 | 24 | .demo-2 .main-title { 25 | font-family: 'Clicker Script', cursive; 26 | font-weight: normal; 27 | font-size: 8em; 28 | padding-left: 10px; 29 | text-shadow: 2px 2px 4px rgba(0,0,0,0.4); 30 | } 31 | 32 | .demo-2 .main-title::before { 33 | content: ''; 34 | width: 20vw; 35 | height: 20vw; 36 | min-width: 3.5em; 37 | min-height: 3.5em; 38 | background: url(../img/deco.svg) no-repeat center center; 39 | background-size: cover; 40 | position: absolute; 41 | top: 50%; 42 | left: 50%; 43 | border-radius: 50%; 44 | z-index: -1; 45 | -webkit-transform: translate3d(-50%,-50%,0); 46 | transform: translate3d(-50%,-50%,0); 47 | } 48 | 49 | .main-title .thin { 50 | font-weight: 200; 51 | } 52 | 53 | @media only screen and (max-width : 768px) { 54 | .demo-2 .main-title { 55 | font-size: 4em; 56 | } 57 | } -------------------------------------------------------------------------------- /whiteLightning/www/m/css/cooltables.css: -------------------------------------------------------------------------------- 1 | 2 | @font-face { 3 | /* RaleWay Thin from - https://www.theleagueofmoveabletype.com, Font Squirrel for Web Font creation with "Adjust Glyph Spacing" -50 */ 4 | font-family: 'ralewaythin'; 5 | src: url('font/raleway_thin-webfont.eot'); 6 | src: url('font/raleway_thin-webfont.eot?#iefix') format('embedded-opentype'), 7 | url('font/raleway_thin-webfont.woff') format('woff'), 8 | url('font/raleway_thin-webfont.ttf') format('truetype'); 9 | font-weight: normal; 10 | font-style: normal; 11 | } 12 | 13 | 14 | body { 15 | font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif; 16 | margin: 0; 17 | padding: 0; 18 | color: #333; 19 | background-color: #fff; 20 | } 21 | 22 | 23 | div.container { 24 | max-width: 980px; 25 | margin: 0 auto; 26 | } 27 | 28 | h1 { 29 | font-family: 'HelveticaNeue-UltraLight', 'Helvetica Neue UltraLight', 'ralewaythin', 'Helvetica Neue', Arial, Helvetica, sans-serif; 30 | font-weight: 100; 31 | letter-spacing: 1px; 32 | font-size: 3em; 33 | line-height: 1em; 34 | } 35 | 36 | h1 span { 37 | font-size: 0.5em; 38 | line-height: 1em; 39 | } 40 | 41 | a { 42 | cursor: pointer; 43 | color: #3174c7; 44 | text-decoration: none; 45 | } 46 | 47 | a:hover { 48 | text-decoration: underline; 49 | } 50 | 51 | div.toc ul { 52 | color: #4E6CA3; 53 | list-style-type: none; 54 | padding-left: 0; 55 | } 56 | 57 | div.toc li { 58 | padding: 0.2em 1em; 59 | border-left: 4px solid transparent; 60 | border-bottom: 1px solid #e6e6e6; 61 | } 62 | 63 | div.toc li.active { 64 | border-left: 4px solid #458ae0; 65 | } 66 | 67 | 68 | div.toc li:first-child { 69 | border-top: 1px solid #efefef; 70 | } 71 | 72 | div.toc li:last-child { 73 | border-bottom: 1px solid #efefef; 74 | } 75 | 76 | 77 | div.epilogue { 78 | text-align: center; 79 | } 80 | 81 | p.copyright { 82 | font-size: 0.8em; 83 | padding-bottom: 2em; 84 | margin-bottom: 0; 85 | } 86 | 87 | .clear { 88 | clear: both; 89 | height: 0; 90 | } 91 | 92 | 93 | div.info { 94 | margin-bottom: 2em; 95 | 96 | -webkit-column-count: 2; 97 | -moz-column-count: 2; 98 | -ms-column-count: 2; 99 | -o-column-count: 2; 100 | column-count: 2; 101 | 102 | 103 | -webkit-column-rule: 1px solid #F3F3F3; 104 | -moz-column-rule: 1px solid #F3F3F3; 105 | -ms-column-rule: 1px solid #F3F3F3; 106 | -o-column-rule: 1px solid #F3F3F3; 107 | column-rule: 1px solid #F3F3F3; 108 | } 109 | 110 | div.info > * { 111 | -webkit-column-break-inside: avoid; 112 | break-inside: avoid; 113 | } 114 | 115 | div.info li { 116 | margin-top: 0.75em; 117 | } 118 | 119 | div.info p:first-child { 120 | margin-top: 0; 121 | } 122 | 123 | div.footer { 124 | position: relative; 125 | margin-top: 3em; 126 | border-top: 1px solid #999; 127 | background-color: #eee; 128 | } 129 | 130 | div.footer > div.liner { 131 | max-width: 960px; 132 | margin: 0 auto; 133 | } 134 | 135 | div.footer > div.gradient { 136 | position: absolute; 137 | top: 0; 138 | left: 0; 139 | width: 100%; 140 | height: 6px; 141 | 142 | background: -moz-linear-gradient(top, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 100%); /* FF3.6+ */ 143 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.2)), color-stop(100%,rgba(0,0,0,0))); /* Chrome,Safari4+ */ 144 | background: -webkit-linear-gradient(top, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* Chrome10+,Safari5.1+ */ 145 | background: -o-linear-gradient(top, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* Opera 11.10+ */ 146 | background: -ms-linear-gradient(top, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* IE10+ */ 147 | background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* W3C */ 148 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */ 149 | } 150 | 151 | div.toc { 152 | -webkit-column-count: 2; 153 | -moz-column-count: 2; 154 | -ms-column-count: 2; 155 | -o-column-count: 2; 156 | column-count: 2; 157 | } 158 | 159 | div.toc-group { 160 | display: inline-block; 161 | width: 100%; 162 | } 163 | 164 | div.box { 165 | overflow: auto; 166 | height: 8em; 167 | padding: 1em; 168 | color: #444; 169 | background-color: #fcfcfc; 170 | border: 1px solid #e0e0e0; 171 | margin-bottom: 2em; 172 | } 173 | 174 | 175 | code { 176 | font-family: "Source Code Pro", Consolas, Menlo, Monaco, "Courier New", monospace; 177 | padding: 1px 4px; 178 | font-size: 0.8em; 179 | 180 | color: #444; 181 | background-color: #fcfcfc; 182 | 183 | border: 1px solid #e0e0e0; 184 | -webkit-border-radius: 3px; 185 | -moz-border-radius: 3px; 186 | border-radius: 3px; 187 | } 188 | 189 | code > span { 190 | border-left: 1px solid rgba( 0, 0, 0, 0.2 ); 191 | margin-left: 4px; 192 | padding-left: 4px; 193 | opacity: 0.5; 194 | } 195 | 196 | code.option { 197 | color: #D14; /* red */ 198 | background-color: #fcf6f8; 199 | border: 1px solid #f7d6df; 200 | } 201 | 202 | code.path { 203 | color: #095c05; /* dark green */ 204 | border: 1px solid #D6E9C6; 205 | } 206 | 207 | code.tag { 208 | color: #a1a713; /* yellow */ 209 | background-color: #f7f8e6; 210 | border: 1px solid #D6E9C6; 211 | } 212 | 213 | code.api { 214 | color: #0c199c; /* dark blue */ 215 | background-color: #f4f5fc; 216 | border: 1px solid #c6cbe9; 217 | } 218 | 219 | code.type { 220 | color: #d119cf; /* purple */ 221 | background-color: #faebfa; 222 | border: 1px solid #f3aef2; 223 | } 224 | 225 | code.event { 226 | color: #2a839e; /* deep aqua */ 227 | background-color: #f5fafb; 228 | border: 1px solid #a8ddec; 229 | } 230 | 231 | code.string { 232 | color: #e8941e; /* orange */ 233 | background-color: #fcf8f1; 234 | border: 1px solid #f7e4c9; 235 | } 236 | 237 | code.field { 238 | color: #ad1ee8; /* purple */ 239 | background-color: #f9f1fc; 240 | border: 1px solid #ebc9f7; 241 | } 242 | 243 | code.multiline { 244 | display: inline-block; 245 | width: 95%; 246 | } 247 | 248 | 249 | ul.tabs { 250 | position: relative; 251 | top: 1px; 252 | height: 40px; 253 | margin: 20px 20px 0 0; 254 | } 255 | 256 | 257 | ul.tabs li { 258 | display: block; 259 | float: left; 260 | padding: 0 15px; 261 | height: 40px; 262 | font-size: 1.2em; 263 | margin: 0 5px; 264 | cursor: pointer; 265 | line-height: 40px; 266 | color: #121e32; 267 | border: 1px solid white; 268 | border-bottom: none; 269 | margin-top: -1px; 270 | } 271 | 272 | ul.tabs li.active { 273 | border: 1px solid #ccc; 274 | border-bottom: 1px solid white; 275 | margin-top: 0; 276 | border-top-left-radius: 5px; 277 | border-top-right-radius: 5px; 278 | } 279 | 280 | ul.tabs li:hover { 281 | background-color: #fafafa; 282 | } 283 | 284 | ul.tabs li.active:hover { 285 | background-color: white; 286 | } 287 | 288 | div.tabs { 289 | clear: both; 290 | } 291 | 292 | div.tabs>div { 293 | padding: 0 15px; 294 | border: 1px solid #ccc; 295 | margin-top: 1px; 296 | display: none; 297 | border-radius: 5px; 298 | box-shadow: 2px 2px 2px #bbb; 299 | } 300 | 301 | div.tabs>div h1 { 302 | border-bottom: none; 303 | margin-top: 1em; 304 | } 305 | 306 | div.column_half { 307 | float: left; 308 | width: 49%; 309 | padding-right: 1%; 310 | } 311 | 312 | 313 | @media only screen and (max-width : 979px) { 314 | div.container, 315 | div.footer { 316 | padding: 0 1em; 317 | } 318 | } 319 | 320 | @media 321 | screen and (max-width : 767px), 322 | screen and (max-width : 768px) and (orientation: portrait) { 323 | div.info { 324 | -webkit-column-count: 1; 325 | -moz-column-count: 1; 326 | -ms-column-count: 1; 327 | -o-column-count: 1; 328 | column-count: 1; 329 | } 330 | 331 | div.toc { 332 | -webkit-column-count: 1; 333 | -moz-column-count: 1; 334 | -ms-column-count: 1; 335 | -o-column-count: 1; 336 | column-count: 1; 337 | } 338 | 339 | h1 span { 340 | display: block; 341 | } 342 | } 343 | 344 | -------------------------------------------------------------------------------- /whiteLightning/www/m/css/plugins/morris.css: -------------------------------------------------------------------------------- 1 | .morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,0.8);border:solid 2px rgba(230,230,230,0.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0} 2 | .morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0} 3 | -------------------------------------------------------------------------------- /whiteLightning/www/m/css/sb-admin.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - SB Admin Bootstrap Admin Template (http://startbootstrap.com) 3 | * Code licensed under the Apache License v2.0. 4 | * For details, see http://www.apache.org/licenses/LICENSE-2.0. 5 | */ 6 | 7 | /* Global Styles */ 8 | 9 | body { 10 | margin-top: 100px; 11 | background-color: #222; 12 | } 13 | 14 | @media(min-width:768px) { 15 | body { 16 | margin-top: 50px; 17 | } 18 | } 19 | 20 | #wrapper { 21 | padding-left: 0; 22 | } 23 | 24 | #page-wrapper { 25 | width: 100%; 26 | padding: 0; 27 | background-color: #fff; 28 | } 29 | 30 | .huge { 31 | font-size: 50px; 32 | line-height: normal; 33 | } 34 | 35 | @media(min-width:768px) { 36 | #wrapper { 37 | padding-left: 225px; 38 | } 39 | 40 | #page-wrapper { 41 | padding: 10px; 42 | } 43 | } 44 | 45 | /* Top Navigation */ 46 | 47 | .top-nav { 48 | padding: 0 15px; 49 | } 50 | 51 | .top-nav>li { 52 | display: inline-block; 53 | float: left; 54 | } 55 | 56 | .top-nav>li>a { 57 | padding-top: 15px; 58 | padding-bottom: 15px; 59 | line-height: 20px; 60 | color: #999; 61 | } 62 | 63 | .top-nav>li>a:hover, 64 | .top-nav>li>a:focus, 65 | .top-nav>.open>a, 66 | .top-nav>.open>a:hover, 67 | .top-nav>.open>a:focus { 68 | color: #fff; 69 | background-color: #000; 70 | } 71 | 72 | .top-nav>.open>.dropdown-menu { 73 | float: left; 74 | position: absolute; 75 | margin-top: 0; 76 | border: 1px solid rgba(0,0,0,.15); 77 | border-top-left-radius: 0; 78 | border-top-right-radius: 0; 79 | background-color: #fff; 80 | -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175); 81 | box-shadow: 0 6px 12px rgba(0,0,0,.175); 82 | } 83 | 84 | .top-nav>.open>.dropdown-menu>li>a { 85 | white-space: normal; 86 | } 87 | 88 | ul.message-dropdown { 89 | padding: 0; 90 | max-height: 250px; 91 | overflow-x: hidden; 92 | overflow-y: auto; 93 | } 94 | 95 | li.message-preview { 96 | width: 275px; 97 | border-bottom: 1px solid rgba(0,0,0,.15); 98 | } 99 | 100 | li.message-preview>a { 101 | padding-top: 15px; 102 | padding-bottom: 15px; 103 | } 104 | 105 | li.message-footer { 106 | margin: 5px 0; 107 | } 108 | 109 | ul.alert-dropdown { 110 | width: 200px; 111 | } 112 | 113 | /* Side Navigation */ 114 | 115 | @media(min-width:768px) { 116 | .side-nav { 117 | position: fixed; 118 | top: 51px; 119 | left: 225px; 120 | width: 225px; 121 | margin-left: -225px; 122 | border: none; 123 | border-radius: 0; 124 | overflow-y: auto; 125 | background-color: #222; 126 | } 127 | 128 | .side-nav>li>a { 129 | width: 225px; 130 | } 131 | 132 | .side-nav li a:hover, 133 | .side-nav li a:focus { 134 | outline: none; 135 | background-color: #000 !important; 136 | } 137 | } 138 | 139 | .side-nav>li>ul { 140 | padding: 0; 141 | } 142 | 143 | .side-nav>li>ul>li>a { 144 | display: block; 145 | padding: 10px 15px 10px 38px; 146 | text-decoration: none; 147 | color: #999; 148 | } 149 | 150 | .side-nav>li>ul>li>a:hover { 151 | color: #fff; 152 | } 153 | 154 | /* Flot Chart Containers */ 155 | 156 | .flot-chart { 157 | display: block; 158 | height: 400px; 159 | } 160 | 161 | .flot-chart-content { 162 | width: 100%; 163 | height: 100%; 164 | } 165 | 166 | /* Custom Colored Panels */ 167 | 168 | .huge { 169 | font-size: 40px; 170 | } 171 | 172 | .panel-green { 173 | border-color: #5cb85c; 174 | } 175 | 176 | .panel-green .panel-heading { 177 | border-color: #5cb85c; 178 | color: #fff; 179 | background-color: #5cb85c; 180 | } 181 | 182 | .panel-green a { 183 | color: #5cb85c; 184 | } 185 | 186 | .panel-green a:hover { 187 | color: #3d8b3d; 188 | } 189 | 190 | .panel-red { 191 | border-color: #d9534f; 192 | } 193 | 194 | .panel-red .panel-heading { 195 | border-color: #d9534f; 196 | color: #fff; 197 | background-color: #d9534f; 198 | } 199 | 200 | .panel-red a { 201 | color: #d9534f; 202 | } 203 | 204 | .panel-red a:hover { 205 | color: #b52b27; 206 | } 207 | 208 | .panel-yellow { 209 | border-color: #f0ad4e; 210 | } 211 | 212 | .panel-yellow .panel-heading { 213 | border-color: #f0ad4e; 214 | color: #fff; 215 | background-color: #f0ad4e; 216 | } 217 | 218 | .panel-yellow a { 219 | color: #f0ad4e; 220 | } 221 | 222 | .panel-yellow a:hover { 223 | color: #df8a13; 224 | } -------------------------------------------------------------------------------- /whiteLightning/www/m/css/tabs.css: -------------------------------------------------------------------------------- 1 | /*----- Tabs -----*/ 2 | .tabs { 3 | width:100%; 4 | display:inline-block; 5 | } 6 | 7 | /*----- Tab Links -----*/ 8 | /* Clearfix */ 9 | .tab-links:after { 10 | display:block; 11 | clear:both; 12 | content:''; 13 | } 14 | 15 | .tab-links li { 16 | margin:0px 5px; 17 | float:left; 18 | list-style:none; 19 | } 20 | 21 | .tab-links a { 22 | padding:9px 15px; 23 | display:inline-block; 24 | border-radius:3px 3px 0px 0px; 25 | background:#fff; 26 | font-size:16px; 27 | font-weight:600; 28 | color:#4c4c4c; 29 | transition:all linear 0.15s; 30 | } 31 | 32 | .tab-links a:hover { 33 | background:#a7cce5; 34 | text-decoration:none; 35 | } 36 | 37 | li.active a, li.active a:hover { 38 | 39 | background:#7FB5DA; 40 | color:#4c4c4c; 41 | } 42 | 43 | /*----- Content of Tabs -----*/ 44 | .tab-content { 45 | padding:15px; 46 | border-radius:3px; 47 | box-shadow:-1px 1px 1px rgba(0,0,0,0.15); 48 | background:#fff; 49 | } 50 | 51 | .tab { 52 | display:none; 53 | } 54 | 55 | .tab.active { 56 | display:block; 57 | } -------------------------------------------------------------------------------- /whiteLightning/www/m/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/m/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /whiteLightning/www/m/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/m/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /whiteLightning/www/m/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/m/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /whiteLightning/www/m/img/whitelightning.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/m/img/whitelightning.jpg -------------------------------------------------------------------------------- /whiteLightning/www/m/includes/config.inc.php: -------------------------------------------------------------------------------- 1 | An error occurred in script '$e_file' on line $e_line: $e_message\n
"; 15 | 16 | // Add the date and time: 17 | $message .= "Date/Time: " . date('n-j-Y H:i:s') . "\n
"; 18 | 19 | // Append $e_vars to the $message: 20 | $message .= "
" . print_r ($e_vars, 1) . "
\n"; 21 | 22 | if (!LIVE) { // Development (print the error). 23 | 24 | echo '
' . $message . '

'; 25 | 26 | } else { // Don't show the error: 27 | 28 | // Send an email to the admin: 29 | mail(EMAIL, 'Site Error!', $message, 'From: email@example.com'); 30 | 31 | // Only print an error message if the error isn't a notice: 32 | if ($e_number != E_NOTICE) { 33 | echo '
A system error occurred. We apologize for the inconvenience.

'; 34 | } 35 | } // End of !LIVE IF. 36 | 37 | } // End of my_error_handler() definition. 38 | 39 | // Use my error handler. 40 | set_error_handler ('my_error_handler'); 41 | 42 | // ****************************************** // 43 | // ************ SECURITY MANAGEMENT ************ // 44 | 45 | function name_reg ($name) { 46 | 47 | $reg_ex = "/[A-Za-z0-9-].{4,20}/"; 48 | 49 | if (preg_match ($reg_ex, $name)) { 50 | return true; 51 | } else { 52 | echo 'Please enter a valid name! Names must be a 5 to 20 characters.'; 53 | } 54 | return false; 55 | } 56 | 57 | function pass_match ($password1, $password2) { 58 | 59 | if ($password1 == $password2) { 60 | return true; 61 | } else { 62 | echo 'Your password did not match the confirmed password!'; 63 | } 64 | return false; 65 | } 66 | 67 | function pass_reg ($password) { 68 | 69 | // 8 to 15 character string with at least one upper case letter , one lower case letter , and one digit 70 | $reg_ex = "/(?=.*[a-z])(?=.*[A-Z]).{8,15}/"; 71 | 72 | if (preg_match ($reg_ex, $password)) { 73 | return true; 74 | } else { 75 | echo 'Please enter a valid password!'; 76 | } 77 | return false; 78 | } 79 | ?> 80 | -------------------------------------------------------------------------------- /whiteLightning/www/m/includes/index_bargraph_data.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 7 | $a = '['; 8 | while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { 9 | $a.= "{browser:'".$row['ua_browser_name']."',hits:".$row['c']."},"; 10 | } 11 | chop($a,","); 12 | $a.="]"; 13 | echo $a; 14 | ?> 15 | -------------------------------------------------------------------------------- /whiteLightning/www/m/includes/index_donutgraph_data.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 7 | $a = '['; 8 | while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { 9 | $a.= "{label:'".$row['os']."',value:".$row['c']."},"; 10 | } 11 | chop($a,","); 12 | $a.="]"; 13 | echo $a; 14 | ?> 15 | -------------------------------------------------------------------------------- /whiteLightning/www/m/includes/settings_delete_rows.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 8 | } 9 | ?> 10 | -------------------------------------------------------------------------------- /whiteLightning/www/m/includes/settings_update_rows.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 8 | $row = mysqli_fetch_array($r, MYSQLI_ASSOC); 9 | if ($row['user_level'] == 1){ 10 | $change_level = 0; 11 | }else{ 12 | $change_level = 1; 13 | } 14 | $q = 'UPDATE users SET user_level='.$change_level.' WHERE name="'.$trimmed['action'].'"'; 15 | $r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n
MySQL Error: " . mysqli_error($dbc)); 16 | } 17 | ?> 18 | -------------------------------------------------------------------------------- /whiteLightning/www/m/includes/taskings_delete_rows.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 8 | unlink("../../". $trimmed['action']); 9 | array_map('unlink', glob("../../". $trimmed['action']."*")); 10 | } 11 | ?> 12 | -------------------------------------------------------------------------------- /whiteLightning/www/m/includes/taskings_functs.php: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /whiteLightning/www/m/includes/validate.php: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /whiteLightning/www/m/index.php: -------------------------------------------------------------------------------- 1 | 34 | 35 | WhiteLightning 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 48 |
49 |
50 |
51 |
52 |

53 | Statistics Overview 54 |

55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 | 64 |
65 |
66 |
67 |
Browser Hits!
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 | 79 |
80 |
81 |
82 |
Browsers Enumerated!!
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 | 94 |
95 |
96 |
97 |
PWN'd Boxes!!!
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |

Browser Statistics

109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |

OS Statistics

119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 | 130 | -------------------------------------------------------------------------------- /whiteLightning/www/m/js/cooltables.js: -------------------------------------------------------------------------------- 1 | 2 | /*global SyntaxHighlighter*/ 3 | SyntaxHighlighter.config.tagName = 'code'; 4 | 5 | $(document).ready( function () { 6 | if ( ! $.fn.dataTable ) { 7 | return; 8 | } 9 | var dt110 = $.fn.dataTable.Api ? true : false; 10 | 11 | // Work around for WebKit bug 55740 12 | var info = $('div.info'); 13 | 14 | if ( info.height() < 115 ) { 15 | info.css( 'min-height', '8em' ); 16 | } 17 | 18 | var escapeHtml = function ( str ) { 19 | return str.replace(/&/g, '&').replace(//g, '>'); 20 | }; 21 | 22 | // css 23 | var cssContainer = $('div.tabs div.css'); 24 | if ( $.trim( cssContainer.find('code').text() ) === '' ) { 25 | cssContainer.find('code, p:eq(0), div').css('display', 'none'); 26 | } 27 | 28 | // init html 29 | var table = $('

').append( $('table').clone() ).html(); 30 | $('div.tabs div.table').append( 31 | '\t\t\t'+ 32 | escapeHtml( table )+ 33 | '' 34 | ); 35 | //SyntaxHighlighter.highlight({}, $('#display-init-html')[0]); 36 | 37 | // Allow the demo code to run if DT 1.9 is used 38 | if ( dt110 ) { 39 | // json 40 | var ajaxTab = $('ul.tabs li').eq(3).css('display', 'none'); 41 | 42 | $(document).on( 'init.dt', function ( e, settings ) { 43 | var api = new $.fn.dataTable.Api( settings ); 44 | 45 | var show = function ( str ) { 46 | ajaxTab.css( 'display', 'block' ); 47 | $('div.tabs div.ajax code').remove(); 48 | 49 | // Old IE :-| 50 | try { 51 | str = JSON.stringify( str, null, 2 ); 52 | } catch ( e ) {} 53 | 54 | $('div.tabs div.ajax').append( 55 | ''+str+'' 56 | ); 57 | SyntaxHighlighter.highlight( {}, $('div.tabs div.ajax code')[0] ); 58 | }; 59 | 60 | // First draw 61 | var json = api.ajax.json(); 62 | if ( json ) { 63 | show( json ); 64 | } 65 | 66 | // Subsequent draws 67 | api.on( 'xhr.dt', function ( e, settings, json ) { 68 | show( json ); 69 | } ); 70 | } ); 71 | 72 | // php 73 | var phpTab = $('ul.tabs li').eq(4).css('display', 'none'); 74 | 75 | $(document).on( 'init.dt.demoSSP', function ( e, settings ) { 76 | if ( settings.oFeatures.bServerSide ) { 77 | if ( $.isFunction( settings.ajax ) ) { 78 | return; 79 | } 80 | $.ajax( { 81 | url: '../resources/examples.php', 82 | data: { 83 | src: settings.sAjaxSource || settings.ajax.url || settings.ajax 84 | }, 85 | dataType: 'text', 86 | type: 'post', 87 | success: function ( txt ) { 88 | phpTab.css( 'display', 'block' ); 89 | $('div.tabs div.php').append( 90 | ''+txt+'' 91 | ); 92 | SyntaxHighlighter.highlight( {}, $('div.tabs div.php code')[0] ); 93 | } 94 | } ); 95 | } 96 | } ); 97 | } 98 | else { 99 | $('ul.tabs li').eq(3).css('display', 'none'); 100 | $('ul.tabs li').eq(4).css('display', 'none'); 101 | } 102 | 103 | // Tabs 104 | $('ul.tabs').on( 'click', 'li', function () { 105 | $('ul.tabs li.active').removeClass('active'); 106 | $(this).addClass('active'); 107 | 108 | $('div.tabs>div') 109 | .css('display', 'none') 110 | .eq( $(this).index() ).css('display', 'block'); 111 | } ); 112 | $('ul.tabs li.active').click(); 113 | } ); 114 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /whiteLightning/www/m/js/dtables.js: -------------------------------------------------------------------------------- 1 | function delete_rows(tasking_id, random_string){ 2 | var x = confirm("Are you sure you want to remove tasking #" + tasking_id); 3 | if (x){ 4 | $.ajax({ 5 | type: "POST", 6 | url: 'includes/taskings_delete_rows.php', 7 | data:{action:random_string}, 8 | success:function(html) { 9 | location.replace("tasking.php"); 10 | } 11 | }); 12 | } 13 | } -------------------------------------------------------------------------------- /whiteLightning/www/m/js/plugins/morris/morris-data.js: -------------------------------------------------------------------------------- 1 | 2 | function get_info_bar() { 3 | $.ajax({ 4 | url: '../../../m/includes/index_bargraph_data.php', 5 | success:function(html) { 6 | Morris.Bar({ 7 | element: 'morris-bar-chart', 8 | data: eval(html), 9 | xkey: 'browser', 10 | ykeys: ['hits'], 11 | labels: ['Hits'], 12 | barRatio: 'auto', 13 | xLabelAngle: 'auto', 14 | hideHover: 'auto', 15 | resize: true 16 | }); 17 | } 18 | }); 19 | $.ajax({ 20 | url: '../../../m/includes/index_donutgraph_data.php', 21 | success:function(html) { 22 | Morris.Donut({ 23 | element: 'morris-donut-chart', 24 | data: eval(html), 25 | resize: true 26 | }); 27 | } 28 | }); 29 | } 30 | 31 | 32 | $(function() { 33 | get_info_bar(); 34 | }); 35 | -------------------------------------------------------------------------------- /whiteLightning/www/m/js/tabs.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function() { 2 | jQuery('.tabs .tab-links a').on('click', function(e) { 3 | var currentAttrValue = jQuery(this).attr('href'); 4 | 5 | // Show/Hide Tabs 6 | jQuery('.tabs ' + currentAttrValue).siblings().slideUp(400); 7 | jQuery('.tabs ' + currentAttrValue).delay(400).slideDown(400); 8 | 9 | // Change/remove current tab to active 10 | jQuery(this).parent('li').addClass('active').siblings().removeClass('active'); 11 | e.preventDefault(); 12 | }); 13 | }); -------------------------------------------------------------------------------- /whiteLightning/www/m/js/tasking_functs.js: -------------------------------------------------------------------------------- 1 | function delete_rows(tasking_id, random_string){ 2 | var x = confirm("Are you sure you want to remove tasking #" + tasking_id); 3 | if (x){ 4 | $.ajax({ 5 | type: "POST", 6 | url: 'includes/taskings_delete_rows.php', 7 | data:{action:random_string}, 8 | success:function(html) { 9 | location.replace("tasking.php"); 10 | } 11 | }); 12 | } 13 | } -------------------------------------------------------------------------------- /whiteLightning/www/m/login.php: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | WhiteLightning -> Login 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 25 |

83 | 84 | -------------------------------------------------------------------------------- /whiteLightning/www/m/logout.php: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /whiteLightning/www/m/logs.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | WhiteLightning -> Logs 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 |
24 |
25 |
26 |
27 |

28 | Exploit Logs 29 |

30 | 38 |
39 |
40 |
41 | 46 |
47 |
48 |
49 |
50 |
51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 69 | 70 | 71 | 72 | 73 | 74 | '; 75 | $app_info = ''; 76 | if( !(strcmp( $row['me_mshtml_build'], "unknown") == 0) ){ 77 | $app_info .= "mshtml: " . $row['me_mshtml_build'] . " | "; 78 | } 79 | if( !(strcmp( $row['be_office'], "unknown") == 0) ){ 80 | $app_info .= "office: " . $row['be_office'] . " | "; 81 | } 82 | if( !(strcmp( $row['pd_reader'], "unknown") == 0) ){ 83 | $app_info .= "reader: " . $row['pd_reader'] . " | "; 84 | } 85 | if( !(strcmp( $row['pd_flash'], "unknown") == 0) ){ 86 | $app_info .= "flash: " . $row['pd_flash'] . " | "; 87 | } 88 | if( !(strcmp( $row['pd_java'], "unknown") == 0) ){ 89 | $app_info .= "java: " . $row['pd_java'] . " | "; 90 | } 91 | if( !(strcmp( $row['pd_qt'], "unknown") == 0) ){ 92 | $app_info .= "qt: " . $row['pd_qt'] . " | "; 93 | } 94 | if( !(strcmp( $row['pd_rp'], "unknown") == 0) ){ 95 | $app_info .= "rp: " . $row['pd_rp'] . " | "; 96 | } 97 | if( !(strcmp( $row['pd_shock'], "unknown") == 0 )){ 98 | $app_info .= "shock: " . $row['pd_shock'] . " | "; 99 | } 100 | if( !(strcmp( $row['pd_silver'], "unknown") == 0) ){ 101 | $app_info .= "silver: " . $row['pd_silver'] . " | "; 102 | } 103 | if( !(strcmp( $row['pd_wmp'], "unknown") == 0) ){ 104 | $app_info .= "wmp: " . $row['pd_wmp'] . " | "; 105 | } 106 | if( !(strcmp( $row['pd_vlc'], "unknown") == 0) ){ 107 | $app_info .= "vlc: " . $row['pd_vlc'] . " | "; 108 | } 109 | echo ''; 110 | } 111 | ?> 112 | 113 |
TimeRemote AddressOSBrowserVersionUserAgentApplications
'.$row['php_date_time'].''.$row['php_remote_addr'].''.$row['ua_os_family'].''.$row['ua_browser_name'].''.$row['ua_browser_version'].''.$row['php_http_user_agent'].''.$app_info.'
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 137 | 138 | 139 | 140 | 141 | '; 142 | } 143 | ?> 144 | 145 |
TimeHit IDExploit NameTarget Number
'.$row['php_date_time'].''.$row['hit_id'].''.$row['msf_exploit_full_path'].''.$row['msf_target'].'
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 168 | 169 | 170 | '; 171 | } 172 | ?> 173 | 174 |
TimeThrow IDRemote Address
'.$row['php_date_time'].''.$row['throw_id'].''.$row['php_remote_addr'].'
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 | -------------------------------------------------------------------------------- /whiteLightning/www/m/outline.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 56 |
57 | 58 | 59 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/m/plugins/fa/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/m/plugins/fa/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/m/plugins/fa/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/whiteLightning/www/m/plugins/fa/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "spinning.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | 13 | .fa-icon-rotate(@degrees, @rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 15 | -webkit-transform: rotate(@degrees); 16 | -ms-transform: rotate(@degrees); 17 | transform: rotate(@degrees); 18 | } 19 | 20 | .fa-icon-flip(@horiz, @vert, @rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 22 | -webkit-transform: scale(@horiz, @vert); 23 | -ms-transform: scale(@horiz, @vert); 24 | transform: scale(@horiz, @vert); 25 | } 26 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 9 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 10 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 11 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/spinning.less: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | 13 | @mixin fa-icon-rotate($degrees, $rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 15 | -webkit-transform: rotate($degrees); 16 | -ms-transform: rotate($degrees); 17 | transform: rotate($degrees); 18 | } 19 | 20 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 22 | -webkit-transform: scale($horiz, $vert); 23 | -ms-transform: scale($horiz, $vert); 24 | transform: scale($horiz, $vert); 25 | } 26 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 9 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 10 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 11 | //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_spinning.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /whiteLightning/www/m/plugins/fa/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /whiteLightning/www/m/settings.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WhiteLightning -> Settings 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 |
15 |
16 |
17 |
18 |

19 | Settings 20 |

21 | 29 |
30 |
31 | '; 33 | $t2 = '
  • '; 34 | $tab_1 = 'tab active'; 35 | $tab_2 = 'tab'; 36 | 37 | if (isset($_POST['submit']) and $_POST['submit'] == "Add User"){ 38 | $t2 = '
  • '; 39 | $t1 = '
  • '; 40 | $tab_2 = 'tab active'; 41 | $tab_1 = 'tab'; 42 | } 43 | if ($_SESSION['user_level'] == 1){ 44 | echo '
    45 | 49 | 50 |
    51 |
    '; } 52 | ?> 53 |
    54 |
    55 |

    Change Password

    56 |
    57 |
    58 | 59 |
    60 |
    61 | 62 |
    63 |
    64 | 65 |
    66 |
    67 | Must fill out all fields.'; 71 | }elseif ($_POST['vfy_change_pass'] != $_POST['change_pass']){ 72 | echo 'New passwords don\'t match.'; 73 | }elseif ($_POST['current_pass'] == $_POST['change_pass']){ 74 | echo 'New password cannot match current password.'; 75 | } 76 | $current_user = $_SESSION['name']; 77 | $current_pass = sha1($_POST['current_pass']); 78 | $new_pass = sha1($_POST['change_pass']); 79 | 80 | $q = 'SELECT pass FROM users WHERE name = "'.$current_user.'"'; 81 | $r = @mysqli_query ($dbc, $q); // Run the query. 82 | $row = mysqli_fetch_array($r, MYSQLI_ASSOC); 83 | if ($row['pass'] != $current_pass){ 84 | echo 'Current password does not match that on record.'; 85 | }else{ 86 | $q = 'UPDATE users SET pass="'.$new_pass.'" WHERE name="'.$current_user.'"'; 87 | $r = @mysqli_query ($dbc, $q); 88 | echo 'Password successfully changed.'; 89 | } 90 | } 91 | ?> 92 |
    93 | 94 |
    95 |
    96 | 99 |
    100 |
    101 |
    102 |
    103 |

    Add User

    104 | 105 |
    106 | 107 |
    108 |
    109 | 110 |
    111 |
    112 | 113 |
    114 |
    115 |
    116 | 119 |
    120 |
    '; 121 | if (isset($_POST['submit']) and $_POST['submit'] == "Add User") { // Handle the form. 122 | if ($_POST['new_user'] == ''){ 123 | echo 'Must fill out all fields.'; 124 | }elseif ($_POST['vfy_new_pass'] != $_POST['new_pass']){ 125 | echo 'New passwords don\'t match.'; 126 | } 127 | if (name_reg($_POST['new_user']) and pass_reg($_POST['new_pass'])){ 128 | $hash = sha1($_POST['new_pass']); 129 | $new_user = $_POST['new_user']; 130 | if (isset($_POST['add_admin'])){ 131 | $group = 1; 132 | }else{ 133 | $group = 0; 134 | } 135 | 136 | $q = 'SELECT COUNT(user_id) as n FROM users'; 137 | $r = @mysqli_query ($dbc, $q); // Run the query. 138 | while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { 139 | $uid = $row['n'] + 1; 140 | } 141 | 142 | $q = 'SELECT COUNT(name) as n FROM users WHERE name = "'.$new_user.'"'; 143 | $r = @mysqli_query ($dbc, $q); // Run the query. 144 | $row = mysqli_fetch_array($r, MYSQLI_ASSOC); 145 | if ($row['n'] == 0) { 146 | $i = 'INSERT INTO users VALUES("'.$uid.'","'.$new_user.'","'.$hash.'","'.$group.'")'; 147 | $r = @mysqli_query ($dbc, $i); // Run the query. 148 | echo 'New user created.'; 149 | }else{ 150 | echo 'User already exists in db.'; 151 | } 152 | } 153 | } 154 | echo '
    155 |
    156 | 157 |
    158 | 159 |
    160 | 190 |
    191 |

    Users

    192 |
    193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | '; 203 | $q = "SELECT name, user_level, user_id from users"; 204 | $r = @mysqli_query ($dbc, $q); // Run the query. 205 | while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { 206 | if ($row['user_level'] == 1){ 207 | $admin_flag = True; 208 | $check_status = 'checked'; 209 | }else{ 210 | $admin_flag = False; 211 | $check_status = ''; 212 | } 213 | echo ' 214 | 215 | 216 | 217 | 218 | 219 | '; 220 | } 221 | echo ' 222 |
    UsernameAdmin
    '.$row['name'].'
    223 |
    224 |
    225 |
    226 |
    227 |
    ';} 228 | ?> 229 |
    230 |
    231 |
  • 232 |
    233 |
    234 | 235 | 236 | -------------------------------------------------------------------------------- /whiteLightning/www/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / -------------------------------------------------------------------------------- /wlMsgrpc/msgrpc.rc: -------------------------------------------------------------------------------- 1 | load msgrpc ServerHost=192.168.187.101 Pass=abc123 2 | 3 | -------------------------------------------------------------------------------- /zzz_old_v1.x/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/LICENSE.txt -------------------------------------------------------------------------------- /zzz_old_v1.x/README.md: -------------------------------------------------------------------------------- 1 | ##WELCOME## 2 | WhiteLightning is the next generation of MiTM web exploitation. This tool was 3 | created for the Red Team, OpSec conscience pen tester, and for future inovators 4 | to show what can happen when you put a little logic into a framework such as this. 5 | 6 | We wrote this because we couldn't find anything out there they gave us what we 7 | wanted. We found downfalls in all similar products so we decided to make our own. 8 | If there are any features that you want and don't see please submit a ticket 9 | and we will get to it. Thanks! 10 | 11 | ##Highlighted Features## 12 | [*] Developed logic to determine the characteristics of the target environment. 13 | [*] Uses reverse proxying to keep all comms on port 80 (configurable) 14 | [*] Chooses best exploits to throw based on logic from the target 15 | [*] Easy to navigate Bootstrap front end 16 | [*] 100%x100% iFrame redirection (really ingenious Bryce) 17 | [*] Custom logging with group level permissions 18 | 19 | ##Current Progress## 20 | [ ] Working on creating precompiled application package 21 | -> Convert mysql database passwords to dynamic assignment 22 | -> Convert hard coded URLs to dynamic 23 | -> Create first log on page to configure admin 24 | [ ] Expanding target area from Windows 7+ to OSX 25 | [ ] Email system for alerts 26 | [ ] Support for SSL 27 | 28 | ##Recent Developments## 29 | [*] Overhauled front end, cleaned up a lot of code. 30 | [*] New exploits added 31 | [*] Administration pages 32 | [*] Ability to remove tasks 33 | [*] Added robots.txt to web root to prevent crawlers from scraping 34 | [*] Added License 35 | 36 | ##Installation## 37 | Setup has been verified working on January 31, 2015 on KaliLinux 1.0.9. 38 | 39 | First, copy all directories (etc, root, var) to the root of your KaliLinux, overwritting the originals. 40 | Make sure you have installed and have running mysql 41 | 42 | Then update your software as shown below: 43 | apt-get install php5-dev php-pear build-essential 44 | pecl install channel://pecl.php.net/msgpack-0.5.5 45 | echo "extension=msgpack.so" >> /etc/php5/apache2/php.ini 46 | apt-get install curl libcurl3 libcurl3-dev php5-curl 47 | update-rc.d postgresql enable 48 | service postgresql start 49 | update-rc.d metasploit enable 50 | service metasploit start 51 | update-rc.d apache2 enable 52 | service apache2 restart 53 | 54 | update-rc.d mysql enable 55 | service mysql restart 56 | 57 | ##Setup MySQL## 58 | mysql -u root -p 59 | 60 | use mysql; 61 | update user set password=PASSWORD("mysecretpassword") where User='root'; 62 | flush privileges; 63 | quit 64 | 65 | mysql -u root -p 66 | 67 | CREATE DATABASE WL; 68 | CREATE USER 'hobbyhorse'@'localhost' IDENTIFIED BY 'mysecretpassword'; 69 | GRANT ALL ON WL.* TO 'hobbyhorse'@'localhost'; 70 | quit 71 | 72 | mysql -u hobbyhorse -p 73 | 74 | USE WL; 75 | DROP TABLE users; 76 | CREATE TABLE users ( 77 | user_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 78 | name VARCHAR(40) NOT NULL, 79 | pass CHAR(40) NOT NULL, 80 | user_level TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, 81 | PRIMARY KEY (user_id), 82 | INDEX login (pass) 83 | ); 84 | 85 | INSERT INTO users (name, pass) VALUES ('admin', SHA1('P@ssw0rd!')); 86 | UPDATE users SET user_level=1 WHERE name='gator'; 87 | 88 | CREATE TABLE hits ( 89 | hit_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 90 | php_date VARCHAR(8) NOT NULL, 91 | php_time VARCHAR(8) NOT NULL, 92 | php_remote_addr VARCHAR(20) NOT NULL, 93 | php_http_referer VARCHAR(2048) NOT NULL, 94 | php_http_user_agent VARCHAR(2048), 95 | ua_os_family VARCHAR(20), 96 | ua_os_version VARCHAR(20), 97 | ua_os_platform VARCHAR(20), 98 | ua_browser_wow64 VARCHAR(20), 99 | ua_browser_name VARCHAR(20), 100 | ua_browser_version VARCHAR(20), 101 | pd_os VARCHAR(20), 102 | pd_br VARCHAR(40), 103 | pd_br_ver VARCHAR(20), 104 | pd_br_ver_full VARCHAR(40), 105 | me_mshtml_build VARCHAR(20), 106 | be_office VARCHAR(20), 107 | pd_reader VARCHAR(20), 108 | pd_flash VARCHAR(20), 109 | pd_java VARCHAR(20), 110 | pd_qt VARCHAR(20), 111 | pd_rp VARCHAR(20), 112 | pd_shock VARCHAR(20), 113 | pd_silver VARCHAR(20), 114 | pd_wmp VARCHAR(20), 115 | pd_vlc VARCHAR(20), 116 | PRIMARY KEY (hit_id) 117 | ); 118 | 119 | CREATE TABLE taskings ( 120 | tasking_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 121 | name VARCHAR(200), 122 | date VARCHAR(8) NOT NULL, 123 | time VARCHAR(8) NOT NULL, 124 | random_string VARCHAR(200), 125 | throw_count VARCHAR(8), 126 | frontend_url VARCHAR(2048), 127 | backend_url VARCHAR(2048), 128 | iframe_flag VARCHAR(200), 129 | iframe_url VARCHAR(2048), 130 | iframe_title VARCHAR(2048), 131 | iframe_icon_url VARCHAR(2048), 132 | debug_flag VARCHAR(200), 133 | PRIMARY KEY (tasking_id) 134 | ); 135 | 136 | CREATE TABLE throws ( 137 | throw_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 138 | hit_id INT UNSIGNED, 139 | php_date VARCHAR(8), 140 | php_time VARCHAR(8), 141 | msf_exploit_full_path VARCHAR(2048), 142 | msf_target VARCHAR(8), 143 | PRIMARY KEY (throw_id) 144 | ); 145 | 146 | DROP TABLE loads; 147 | CREATE TABLE loads ( 148 | load_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 149 | throw_id INT UNSIGNED, 150 | php_date VARCHAR(8), 151 | php_time VARCHAR(8), 152 | php_remote_addr VARCHAR(20), 153 | php_http_referer VARCHAR(2048), 154 | php_http_user_agent VARCHAR(2048), 155 | PRIMARY KEY (load_id) 156 | ); 157 | 158 | ##Apache Modifications## 159 | 160 | ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled 161 | ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled 162 | ln -s /etc/apache2/sites-available/qu.gs /etc/apache2/sites-enabled/001-qu.gs 163 | ln -s /etc/apache2/sites-available/blog.qu.gs /etc/apache2/sites-enabled/003-blog.qu.gs 164 | 165 | vi /etc/apache2/ports.conf 166 | #NameVirtualHost *:80 167 | NameVirtualHost * 168 | 169 | chown some files 170 | chown -R www-data:www-data /var/www 171 | chmod -R g+rw /var/www 172 | 173 | vi /etc/apache2/apache2.conf 174 | DefaultType application/x-httpd-php 175 | 176 | ### Domain Change ### 177 | 178 | How I setup a new domain for my White Lightning server... 179 | 180 | vi /var/mysqli_connect.php 181 | DEFINE ('DB_PASSWORD', 'mysecretpassword'); 182 | 183 | vi /root/msgrpc.rb 184 | load msgrpc ServerHost=qu.gs Pass=abc123 185 | 186 | run msf 187 | screen -L -S msgrpc 188 | msfconsole -r msgrpc.rb 189 | [+] detach: control + a -> d 190 | touch /var/www/e/debug.log 191 | chmod 777 //var/www/e/debug.log 192 | 193 | vi /var/www/e/pam-i.php 194 | define ('WL_DOMAIN', 'qu.gs'); /* */ 195 | 196 | vi /var/www/m/includes/config.inc.php 197 | define ('BASE_URL', 'http://qu.gs/m/'); 198 | 199 | ##NOTES## 200 | We are still in the process of pulling out all static information and making it 201 | fully dynamic. But until we are done here are all the hardcoded locations that 202 | you will need to manually modify to get things rolling: 203 | 204 | /var/www/e/config_e.inc.php 205 | line 3: qu.gs 206 | line 6: 10.191.53.90 207 | line 8: blog.qu.gs 208 | /var/www/m/tasking.php 209 | line : blog.qu.gs 210 | /root/msgrpc.rc 211 | line 1: 10.191.53.90 212 | /etc/apache2/sites-available/qu.gs 213 | line 2: qu.gs 214 | /etc/apache2/sites-available/blog.qu.gs 215 | line 2: blog.qu.gs 216 | line 15: 10.191.53.90 217 | line 18: 10.191.53.90 218 | /etc/apache2/sites-available/ 219 | file: qu.gs 220 | file: blog.qu.gs 221 | /var/mysql_connect.php 222 | line 9: mysecretpassword 223 | 224 | ### 225 | -------------------------------------------------------------------------------- /zzz_old_v1.x/create.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE WL; 2 | CREATE USER 'hobbyhorse'@'localhost' IDENTIFIED BY 'passwww'; 3 | GRANT ALL ON WL.* TO 'hobbyhorse'@'localhost'; 4 | -------------------------------------------------------------------------------- /zzz_old_v1.x/etc/apache2/ports.conf: -------------------------------------------------------------------------------- 1 | # If you just change the port or add more ports here, you will likely also 2 | # have to change the VirtualHost statement in 3 | # /etc/apache2/sites-enabled/000-default 4 | # This is also true if you have upgraded from before 2.2.9-3 (i.e. from 5 | # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and 6 | # README.Debian.gz 7 | 8 | #NameVirtualHost *:80 9 | NameVirtualHost * 10 | Listen 80 11 | 12 | 13 | # If you add NameVirtualHost *:443 here, you will also have to change 14 | # the VirtualHost statement in /etc/apache2/sites-available/default-ssl 15 | # to 16 | # Server Name Indication for SSL named virtual hosts is currently not 17 | # supported by MSIE on Windows XP. 18 | Listen 443 19 | 20 | 21 | 22 | Listen 443 23 | 24 | 25 | -------------------------------------------------------------------------------- /zzz_old_v1.x/etc/apache2/sites-available/blog.qu.gs: -------------------------------------------------------------------------------- 1 | 2 | ServerName blog.qu.gs 3 | 4 | #Use incoming Host HTTP request header for proxy request 5 | #ProxyPreserveHost on 6 | 7 | # Enables forward (standard) proxy requests 8 | #ProxyRequests off 9 | # 10 | # Order allow,deny 11 | # Allow from all 12 | # 13 | 14 | #Maps remote servers into the local server URL-space 15 | ProxyPass / http://10.191.53.90:805/ 16 | 17 | #Adjusts the URL in HTTP response headers sent from a reverse proxied server 18 | ProxyPassReverse / http://10.191.53.90:805/ 19 | 20 | Order allow,deny 21 | Allow from all 22 | 23 | 24 | -------------------------------------------------------------------------------- /zzz_old_v1.x/etc/apache2/sites-available/qu.gs: -------------------------------------------------------------------------------- 1 | 2 | ServerName qu.gs 3 | ServerAdmin webmaster@localhost 4 | 5 | DocumentRoot /var/www 6 | 7 | Options FollowSymLinks 8 | AllowOverride None 9 | 10 | 11 | Options Indexes FollowSymLinks MultiViews 12 | AllowOverride None 13 | Order allow,deny 14 | allow from all 15 | 16 | 17 | ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 18 | 19 | AllowOverride None 20 | Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 21 | Order allow,deny 22 | Allow from all 23 | 24 | 25 | ErrorLog ${APACHE_LOG_DIR}/error.log 26 | 27 | # Possible values include: debug, info, notice, warn, error, crit, 28 | # alert, emerg. 29 | LogLevel warn 30 | 31 | CustomLog ${APACHE_LOG_DIR}/access.log combined 32 | 33 | -------------------------------------------------------------------------------- /zzz_old_v1.x/pw.sql: -------------------------------------------------------------------------------- 1 | use mysql; 2 | update user set password=PASSWORD("passwww") where User='root'; 3 | flush privileges; 4 | -------------------------------------------------------------------------------- /zzz_old_v1.x/root/msgrpc.rc: -------------------------------------------------------------------------------- 1 | load msgrpc ServerHost=10.191.53.90 Pass=abc123 2 | 3 | -------------------------------------------------------------------------------- /zzz_old_v1.x/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | apt-get install php5-dev php-pear build-essential 4 | pecl install channel://pecl.php.net/msgpack-0.5.5 5 | echo "extension=msgpack.so" >> /etc/php5/apache2/php.ini 6 | apt-get install curl libcurl3 libcurl3-dev php5-curl 7 | update-rc.d postgresql enable 8 | service postgresql start 9 | update-rc.d metasploit enable 10 | service metasploit start 11 | update-rc.d apache2 enable 12 | service apache2 restart 13 | update-rc.d mysql enable 14 | service mysql restart 15 | 16 | OLD_WL_DOMAIN='qu.gs' 17 | OLD_EL_DOMAIN='blog.qu.gs' 18 | OLD_MSGRPC_IP='10.191.53.90' 19 | OLD_PASS='mysecretpassword' 20 | 21 | function replace() { 22 | declare -a files 23 | readarray -t files < <(grep -rl "$1" ./* | egrep -v "README.md|setup.sh") 24 | for i in "${files[@]}" 25 | do 26 | TMP=`sed "s/${1}/${2}/g" "$i"` 27 | echo -n "$TMP" > "$i" 28 | echo "$i -- $1 changed to $2" 29 | done 30 | } 31 | 32 | echo "######################" 33 | echo "User configuration" 34 | echo "######################" 35 | echo 36 | echo -n "Enter new White Lighning domain: " 37 | read WL_DOMAIN 38 | 39 | echo -n "Enter new exploit domain: " 40 | read EL_DOMAIN 41 | 42 | echo -n "Enter new MSGRPC IP address: " 43 | read MSGRPC_IP 44 | 45 | echo -n "Enter new mysql password: " 46 | read PASS 47 | 48 | replace $OLD_EL_DOMAIN $EL_DOMAIN 49 | replace $OLD_WL_DOMAIN $WL_DOMAIN 50 | replace $OLD_MSGRPC_IP $MSGRPC_IP 51 | replace $OLD_PASS $PASS 52 | 53 | echo "######################" 54 | echo 55 | echo "moving etc/apache2/sites-available/qu.gs to etc/apache2/sites-available/${WL_DOMAIN}" 56 | mv ./etc/apache2/sites-available/qu.gs "./etc/apache2/sites-available/${WL_DOMAIN}" 57 | echo "moving etc/apache2/sites-available/blog.qu.gs to etc/apache2/sites-available/${EL_DOMAIN}" 58 | mv ./etc/apache2/sites-available/blog.qu.gs "./etc/apache2/sites-available/${EL_DOMAIN}" 59 | echo 60 | echo "copying WL files to system root..." 61 | cp -r ./var / 62 | cp -r ./root / 63 | cp -r ./etc / 64 | 65 | echo 66 | echo "modifying Apache configuration..." 67 | 68 | ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled 69 | ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled 70 | ln -s /etc/apache2/sites-available/${WL_DOMAIN} /etc/apache2/sites-enabled/001-${WL_DOMAIN} 71 | ln -s /etc/apache2/sites-available/${EL_DOMAIN} /etc/apache2/sites-enabled/002-${EL_DOMAIN} 72 | 73 | chown -R www-data:www-data /var/www 74 | chmod -R g+rw /var/www 75 | 76 | TMP=`sed 's/#*NameVirtualHost \*:80/NameVirtualHost \*/g' /etc/apache2/ports.conf` 77 | echo "$TMP" > /etc/apache2/ports.conf 78 | 79 | TMP=`sed 's/^DefaultType .*$/DefaultType application\/x-httpd-php/g' /etc/apache2/apache2.conf` 80 | echo "$TMP" > /etc/apache2/apache2.conf 81 | 82 | echo 83 | echo "setting up mysql..." 84 | echo 85 | echo "This run will set your password. Hit enter if you haven't changed it before now." 86 | mysql -u root -p < ./pw.sql 87 | echo "Password changed. Now use the new one. This run will create a new user for WL." 88 | mysql -u root -p < ./create.sql 89 | echo "User should now be created. Next run will create tables for the new user." 90 | mysql -u hobbyhorse -p < ./tables.sql 91 | echo "Should be all done. If you got errors, try re-running the SQL in the WL directory." 92 | 93 | touch /var/www/e/debug.log 94 | chmod 777 //var/www/e/debug.log 95 | 96 | echo 97 | service apache2 restart 98 | service mysql restart 99 | 100 | -------------------------------------------------------------------------------- /zzz_old_v1.x/tables.sql: -------------------------------------------------------------------------------- 1 | USE WL; 2 | DROP TABLE users; 3 | CREATE TABLE users ( 4 | user_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 5 | name VARCHAR(40) NOT NULL, 6 | pass CHAR(40) NOT NULL, 7 | user_level TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, 8 | PRIMARY KEY (user_id), 9 | INDEX login (pass) 10 | ); 11 | 12 | INSERT INTO users (name, pass) VALUES ('gator', SHA1('P@ssw0rd!')); 13 | UPDATE users SET user_level=1 WHERE name='gator'; 14 | 15 | INSERT INTO users (name, pass) VALUES ('bear', SHA1('P@ssw0rd!')); 16 | 17 | DROP TABLE users_invites; 18 | CREATE TABLE users_invites ( 19 | user_invite_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 20 | user_id INT UNSIGNED NOT NULL, 21 | invite_id INT UNSIGNED NOT NULL, 22 | PRIMARY KEY (user_invite_id) 23 | ); 24 | 25 | DROP TABLE invites; 26 | CREATE TABLE invites ( 27 | invite_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 28 | invite VARCHAR(32) NOT NULL, 29 | active TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, 30 | PRIMARY KEY (invite_id) 31 | ); 32 | 33 | DROP TABLE hits; 34 | CREATE TABLE hits ( 35 | hit_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 36 | php_date VARCHAR(8) NOT NULL, 37 | php_time VARCHAR(8) NOT NULL, 38 | php_remote_addr VARCHAR(20) NOT NULL, 39 | php_http_referer VARCHAR(2048) NOT NULL, 40 | php_http_user_agent VARCHAR(2048), 41 | ua_os_family VARCHAR(20), 42 | ua_os_version VARCHAR(20), 43 | ua_os_platform VARCHAR(20), 44 | ua_browser_wow64 VARCHAR(20), 45 | ua_browser_name VARCHAR(20), 46 | ua_browser_version VARCHAR(20), 47 | pd_os VARCHAR(20), 48 | pd_br VARCHAR(40), 49 | pd_br_ver VARCHAR(20), 50 | pd_br_ver_full VARCHAR(40), 51 | me_mshtml_build VARCHAR(20), 52 | be_office VARCHAR(20), 53 | pd_reader VARCHAR(20), 54 | pd_flash VARCHAR(20), 55 | pd_java VARCHAR(20), 56 | pd_qt VARCHAR(20), 57 | pd_rp VARCHAR(20), 58 | pd_shock VARCHAR(20), 59 | pd_silver VARCHAR(20), 60 | pd_wmp VARCHAR(20), 61 | pd_vlc VARCHAR(20), 62 | PRIMARY KEY (hit_id) 63 | ); 64 | 65 | 66 | DROP TABLE taskings; 67 | CREATE TABLE taskings ( 68 | tasking_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 69 | name VARCHAR(200), 70 | date VARCHAR(8) NOT NULL, 71 | time VARCHAR(8) NOT NULL, 72 | random_string VARCHAR(200), 73 | throw_count VARCHAR(8), 74 | frontend_url VARCHAR(2048), 75 | backend_url VARCHAR(2048), 76 | iframe_flag VARCHAR(200), 77 | iframe_url VARCHAR(2048), 78 | iframe_title VARCHAR(2048), 79 | iframe_icon_url VARCHAR(2048), 80 | debug_flag VARCHAR(200), 81 | PRIMARY KEY (tasking_id) 82 | ); 83 | 84 | DROP TABLE throws; 85 | CREATE TABLE throws ( 86 | throw_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 87 | hit_id INT UNSIGNED, 88 | php_date VARCHAR(8), 89 | php_time VARCHAR(8), 90 | msf_exploit_full_path VARCHAR(2048), 91 | msf_target VARCHAR(8), 92 | PRIMARY KEY (throw_id) 93 | ); 94 | 95 | DROP TABLE loads; 96 | CREATE TABLE loads ( 97 | load_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 98 | throw_id INT UNSIGNED, 99 | php_date VARCHAR(8), 100 | php_time VARCHAR(8), 101 | php_remote_addr VARCHAR(20), 102 | php_http_referer VARCHAR(2048), 103 | php_http_user_agent VARCHAR(2048), 104 | PRIMARY KEY (load_id) 105 | ); 106 | 107 | show tables; 108 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/mysqli_connect.php: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/LICENSE.txt -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/e/config_e.inc.php: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/e/php_debug_inc.php: -------------------------------------------------------------------------------- 1 | '; 46 | 47 | $msgline = '[V] error_reporting is on
    '; 48 | file_put_contents('debug.log', $msgline, FILE_APPEND | LOCK_EX); 49 | 50 | error_reporting(E_ALL); 51 | ini_set('display_errors', True); 52 | } 53 | } 54 | 55 | // ************ Setting display_errors() ************ // 56 | display_errors($display_errors); 57 | 58 | // ************ debug() ************ // 59 | function debug($msg, $verbose = 1) 60 | { 61 | if($verbose == 1) 62 | { 63 | ////echo '
    ';
    64 | 	//echo '[V] ' . $msg;
    65 | 	////echo '
    '; 66 | //echo '
    '; 67 | 68 | $msgline = '[V] ' . $msg ."\n"; 69 | file_put_contents('debug.log', $msgline, FILE_APPEND | LOCK_EX); 70 | 71 | } 72 | } 73 | 74 | // ************ debug_r() ************ // 75 | function debug_r($msg, $verbose = 1) 76 | { 77 | if($verbose == 1) 78 | { 79 | ////echo '
    ';
    80 | 	//echo '[V] ';
    81 | 	//print_r($msg);
    82 | 	//echo '
    '; 83 | //echo '
    '; 84 | 85 | $msgline = '[V] ' . print_r($msg, true) ."\n"; 86 | file_put_contents('debug.log', $msgline, FILE_APPEND | LOCK_EX); 87 | 88 | 89 | } 90 | } 91 | 92 | ?> -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/e/template-fe.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <?php 6 | if (defined('IFRAME_TITLE')) 7 | { 8 | echo IFRAME_TITLE; 9 | } 10 | else 11 | { 12 | echo "Moved Permanently"; 13 | } 14 | ?> 15 | 16 | 22 | 23 | 24 | 226 | 227 | 228 |
    '; 234 | } 235 | } 236 | ?> 237 | 238 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/e/template-p.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 51 | if (mysqli_affected_rows($dbc) == 1) 52 | { 53 | // INSERT works 54 | $load_id = mysqli_insert_id($dbc); 55 | } 56 | else 57 | { 58 | // INSERT failed 59 | $load_id = NULL; 60 | } 61 | mysqli_close($dbc); 62 | ?> -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/empty.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/empty.pdf -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/getJavaInfo.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/getJavaInfo.jar -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/css/component.css: -------------------------------------------------------------------------------- 1 | /* Header */ 2 | .large-header { 3 | position: relative; 4 | width: 100%; 5 | background: #333; 6 | overflow: hidden; 7 | background-size: cover; 8 | background-position: center center; 9 | z-index: 1; 10 | } 11 | 12 | .main-title { 13 | position: absolute; 14 | margin: 0; 15 | padding: 0; 16 | color: #f9f1e9; 17 | text-align: center; 18 | top: 50%; 19 | left: 50%; 20 | -webkit-transform: translate3d(-50%,-50%,0); 21 | transform: translate3d(-50%,-50%,0); 22 | } 23 | 24 | .demo-2 .main-title { 25 | font-family: 'Clicker Script', cursive; 26 | font-weight: normal; 27 | font-size: 8em; 28 | padding-left: 10px; 29 | text-shadow: 2px 2px 4px rgba(0,0,0,0.4); 30 | } 31 | 32 | .demo-2 .main-title::before { 33 | content: ''; 34 | width: 20vw; 35 | height: 20vw; 36 | min-width: 3.5em; 37 | min-height: 3.5em; 38 | background: url(../img/deco.svg) no-repeat center center; 39 | background-size: cover; 40 | position: absolute; 41 | top: 50%; 42 | left: 50%; 43 | border-radius: 50%; 44 | z-index: -1; 45 | -webkit-transform: translate3d(-50%,-50%,0); 46 | transform: translate3d(-50%,-50%,0); 47 | } 48 | 49 | .main-title .thin { 50 | font-weight: 200; 51 | } 52 | 53 | @media only screen and (max-width : 768px) { 54 | .demo-2 .main-title { 55 | font-size: 4em; 56 | } 57 | } -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/css/cooltables.css: -------------------------------------------------------------------------------- 1 | 2 | @font-face { 3 | /* RaleWay Thin from - https://www.theleagueofmoveabletype.com, Font Squirrel for Web Font creation with "Adjust Glyph Spacing" -50 */ 4 | font-family: 'ralewaythin'; 5 | src: url('font/raleway_thin-webfont.eot'); 6 | src: url('font/raleway_thin-webfont.eot?#iefix') format('embedded-opentype'), 7 | url('font/raleway_thin-webfont.woff') format('woff'), 8 | url('font/raleway_thin-webfont.ttf') format('truetype'); 9 | font-weight: normal; 10 | font-style: normal; 11 | } 12 | 13 | 14 | body { 15 | font: 90%/1.45em "Helvetica Neue", HelveticaNeue, Verdana, Arial, Helvetica, sans-serif; 16 | margin: 0; 17 | padding: 0; 18 | color: #333; 19 | background-color: #fff; 20 | } 21 | 22 | 23 | div.container { 24 | max-width: 980px; 25 | margin: 0 auto; 26 | } 27 | 28 | h1 { 29 | font-family: 'HelveticaNeue-UltraLight', 'Helvetica Neue UltraLight', 'ralewaythin', 'Helvetica Neue', Arial, Helvetica, sans-serif; 30 | font-weight: 100; 31 | letter-spacing: 1px; 32 | font-size: 3em; 33 | line-height: 1em; 34 | } 35 | 36 | h1 span { 37 | font-size: 0.5em; 38 | line-height: 1em; 39 | } 40 | 41 | a { 42 | cursor: pointer; 43 | color: #3174c7; 44 | text-decoration: none; 45 | } 46 | 47 | a:hover { 48 | text-decoration: underline; 49 | } 50 | 51 | div.toc ul { 52 | color: #4E6CA3; 53 | list-style-type: none; 54 | padding-left: 0; 55 | } 56 | 57 | div.toc li { 58 | padding: 0.2em 1em; 59 | border-left: 4px solid transparent; 60 | border-bottom: 1px solid #e6e6e6; 61 | } 62 | 63 | div.toc li.active { 64 | border-left: 4px solid #458ae0; 65 | } 66 | 67 | 68 | div.toc li:first-child { 69 | border-top: 1px solid #efefef; 70 | } 71 | 72 | div.toc li:last-child { 73 | border-bottom: 1px solid #efefef; 74 | } 75 | 76 | 77 | div.epilogue { 78 | text-align: center; 79 | } 80 | 81 | p.copyright { 82 | font-size: 0.8em; 83 | padding-bottom: 2em; 84 | margin-bottom: 0; 85 | } 86 | 87 | .clear { 88 | clear: both; 89 | height: 0; 90 | } 91 | 92 | 93 | div.info { 94 | margin-bottom: 2em; 95 | 96 | -webkit-column-count: 2; 97 | -moz-column-count: 2; 98 | -ms-column-count: 2; 99 | -o-column-count: 2; 100 | column-count: 2; 101 | 102 | 103 | -webkit-column-rule: 1px solid #F3F3F3; 104 | -moz-column-rule: 1px solid #F3F3F3; 105 | -ms-column-rule: 1px solid #F3F3F3; 106 | -o-column-rule: 1px solid #F3F3F3; 107 | column-rule: 1px solid #F3F3F3; 108 | } 109 | 110 | div.info > * { 111 | -webkit-column-break-inside: avoid; 112 | break-inside: avoid; 113 | } 114 | 115 | div.info li { 116 | margin-top: 0.75em; 117 | } 118 | 119 | div.info p:first-child { 120 | margin-top: 0; 121 | } 122 | 123 | div.footer { 124 | position: relative; 125 | margin-top: 3em; 126 | border-top: 1px solid #999; 127 | background-color: #eee; 128 | } 129 | 130 | div.footer > div.liner { 131 | max-width: 960px; 132 | margin: 0 auto; 133 | } 134 | 135 | div.footer > div.gradient { 136 | position: absolute; 137 | top: 0; 138 | left: 0; 139 | width: 100%; 140 | height: 6px; 141 | 142 | background: -moz-linear-gradient(top, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 100%); /* FF3.6+ */ 143 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.2)), color-stop(100%,rgba(0,0,0,0))); /* Chrome,Safari4+ */ 144 | background: -webkit-linear-gradient(top, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* Chrome10+,Safari5.1+ */ 145 | background: -o-linear-gradient(top, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* Opera 11.10+ */ 146 | background: -ms-linear-gradient(top, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* IE10+ */ 147 | background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%); /* W3C */ 148 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */ 149 | } 150 | 151 | div.toc { 152 | -webkit-column-count: 2; 153 | -moz-column-count: 2; 154 | -ms-column-count: 2; 155 | -o-column-count: 2; 156 | column-count: 2; 157 | } 158 | 159 | div.toc-group { 160 | display: inline-block; 161 | width: 100%; 162 | } 163 | 164 | div.box { 165 | overflow: auto; 166 | height: 8em; 167 | padding: 1em; 168 | color: #444; 169 | background-color: #fcfcfc; 170 | border: 1px solid #e0e0e0; 171 | margin-bottom: 2em; 172 | } 173 | 174 | 175 | code { 176 | font-family: "Source Code Pro", Consolas, Menlo, Monaco, "Courier New", monospace; 177 | padding: 1px 4px; 178 | font-size: 0.8em; 179 | 180 | color: #444; 181 | background-color: #fcfcfc; 182 | 183 | border: 1px solid #e0e0e0; 184 | -webkit-border-radius: 3px; 185 | -moz-border-radius: 3px; 186 | border-radius: 3px; 187 | } 188 | 189 | code > span { 190 | border-left: 1px solid rgba( 0, 0, 0, 0.2 ); 191 | margin-left: 4px; 192 | padding-left: 4px; 193 | opacity: 0.5; 194 | } 195 | 196 | code.option { 197 | color: #D14; /* red */ 198 | background-color: #fcf6f8; 199 | border: 1px solid #f7d6df; 200 | } 201 | 202 | code.path { 203 | color: #095c05; /* dark green */ 204 | border: 1px solid #D6E9C6; 205 | } 206 | 207 | code.tag { 208 | color: #a1a713; /* yellow */ 209 | background-color: #f7f8e6; 210 | border: 1px solid #D6E9C6; 211 | } 212 | 213 | code.api { 214 | color: #0c199c; /* dark blue */ 215 | background-color: #f4f5fc; 216 | border: 1px solid #c6cbe9; 217 | } 218 | 219 | code.type { 220 | color: #d119cf; /* purple */ 221 | background-color: #faebfa; 222 | border: 1px solid #f3aef2; 223 | } 224 | 225 | code.event { 226 | color: #2a839e; /* deep aqua */ 227 | background-color: #f5fafb; 228 | border: 1px solid #a8ddec; 229 | } 230 | 231 | code.string { 232 | color: #e8941e; /* orange */ 233 | background-color: #fcf8f1; 234 | border: 1px solid #f7e4c9; 235 | } 236 | 237 | code.field { 238 | color: #ad1ee8; /* purple */ 239 | background-color: #f9f1fc; 240 | border: 1px solid #ebc9f7; 241 | } 242 | 243 | code.multiline { 244 | display: inline-block; 245 | width: 95%; 246 | } 247 | 248 | 249 | ul.tabs { 250 | position: relative; 251 | top: 1px; 252 | height: 40px; 253 | margin: 20px 20px 0 0; 254 | } 255 | 256 | 257 | ul.tabs li { 258 | display: block; 259 | float: left; 260 | padding: 0 15px; 261 | height: 40px; 262 | font-size: 1.2em; 263 | margin: 0 5px; 264 | cursor: pointer; 265 | line-height: 40px; 266 | color: #121e32; 267 | border: 1px solid white; 268 | border-bottom: none; 269 | margin-top: -1px; 270 | } 271 | 272 | ul.tabs li.active { 273 | border: 1px solid #ccc; 274 | border-bottom: 1px solid white; 275 | margin-top: 0; 276 | border-top-left-radius: 5px; 277 | border-top-right-radius: 5px; 278 | } 279 | 280 | ul.tabs li:hover { 281 | background-color: #fafafa; 282 | } 283 | 284 | ul.tabs li.active:hover { 285 | background-color: white; 286 | } 287 | 288 | div.tabs { 289 | clear: both; 290 | } 291 | 292 | div.tabs>div { 293 | padding: 0 15px; 294 | border: 1px solid #ccc; 295 | margin-top: 1px; 296 | display: none; 297 | border-radius: 5px; 298 | box-shadow: 2px 2px 2px #bbb; 299 | } 300 | 301 | div.tabs>div h1 { 302 | border-bottom: none; 303 | margin-top: 1em; 304 | } 305 | 306 | div.column_half { 307 | float: left; 308 | width: 49%; 309 | padding-right: 1%; 310 | } 311 | 312 | 313 | @media only screen and (max-width : 979px) { 314 | div.container, 315 | div.footer { 316 | padding: 0 1em; 317 | } 318 | } 319 | 320 | @media 321 | screen and (max-width : 767px), 322 | screen and (max-width : 768px) and (orientation: portrait) { 323 | div.info { 324 | -webkit-column-count: 1; 325 | -moz-column-count: 1; 326 | -ms-column-count: 1; 327 | -o-column-count: 1; 328 | column-count: 1; 329 | } 330 | 331 | div.toc { 332 | -webkit-column-count: 1; 333 | -moz-column-count: 1; 334 | -ms-column-count: 1; 335 | -o-column-count: 1; 336 | column-count: 1; 337 | } 338 | 339 | h1 span { 340 | display: block; 341 | } 342 | } 343 | 344 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/css/plugins/morris.css: -------------------------------------------------------------------------------- 1 | .morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,0.8);border:solid 2px rgba(230,230,230,0.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0} 2 | .morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0} 3 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/css/sb-admin.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - SB Admin Bootstrap Admin Template (http://startbootstrap.com) 3 | * Code licensed under the Apache License v2.0. 4 | * For details, see http://www.apache.org/licenses/LICENSE-2.0. 5 | */ 6 | 7 | /* Global Styles */ 8 | 9 | body { 10 | margin-top: 100px; 11 | background-color: #222; 12 | } 13 | 14 | @media(min-width:768px) { 15 | body { 16 | margin-top: 50px; 17 | } 18 | } 19 | 20 | #wrapper { 21 | padding-left: 0; 22 | } 23 | 24 | #page-wrapper { 25 | width: 100%; 26 | padding: 0; 27 | background-color: #fff; 28 | } 29 | 30 | .huge { 31 | font-size: 50px; 32 | line-height: normal; 33 | } 34 | 35 | @media(min-width:768px) { 36 | #wrapper { 37 | padding-left: 225px; 38 | } 39 | 40 | #page-wrapper { 41 | padding: 10px; 42 | } 43 | } 44 | 45 | /* Top Navigation */ 46 | 47 | .top-nav { 48 | padding: 0 15px; 49 | } 50 | 51 | .top-nav>li { 52 | display: inline-block; 53 | float: left; 54 | } 55 | 56 | .top-nav>li>a { 57 | padding-top: 15px; 58 | padding-bottom: 15px; 59 | line-height: 20px; 60 | color: #999; 61 | } 62 | 63 | .top-nav>li>a:hover, 64 | .top-nav>li>a:focus, 65 | .top-nav>.open>a, 66 | .top-nav>.open>a:hover, 67 | .top-nav>.open>a:focus { 68 | color: #fff; 69 | background-color: #000; 70 | } 71 | 72 | .top-nav>.open>.dropdown-menu { 73 | float: left; 74 | position: absolute; 75 | margin-top: 0; 76 | border: 1px solid rgba(0,0,0,.15); 77 | border-top-left-radius: 0; 78 | border-top-right-radius: 0; 79 | background-color: #fff; 80 | -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175); 81 | box-shadow: 0 6px 12px rgba(0,0,0,.175); 82 | } 83 | 84 | .top-nav>.open>.dropdown-menu>li>a { 85 | white-space: normal; 86 | } 87 | 88 | ul.message-dropdown { 89 | padding: 0; 90 | max-height: 250px; 91 | overflow-x: hidden; 92 | overflow-y: auto; 93 | } 94 | 95 | li.message-preview { 96 | width: 275px; 97 | border-bottom: 1px solid rgba(0,0,0,.15); 98 | } 99 | 100 | li.message-preview>a { 101 | padding-top: 15px; 102 | padding-bottom: 15px; 103 | } 104 | 105 | li.message-footer { 106 | margin: 5px 0; 107 | } 108 | 109 | ul.alert-dropdown { 110 | width: 200px; 111 | } 112 | 113 | /* Side Navigation */ 114 | 115 | @media(min-width:768px) { 116 | .side-nav { 117 | position: fixed; 118 | top: 51px; 119 | left: 225px; 120 | width: 225px; 121 | margin-left: -225px; 122 | border: none; 123 | border-radius: 0; 124 | overflow-y: auto; 125 | background-color: #222; 126 | } 127 | 128 | .side-nav>li>a { 129 | width: 225px; 130 | } 131 | 132 | .side-nav li a:hover, 133 | .side-nav li a:focus { 134 | outline: none; 135 | background-color: #000 !important; 136 | } 137 | } 138 | 139 | .side-nav>li>ul { 140 | padding: 0; 141 | } 142 | 143 | .side-nav>li>ul>li>a { 144 | display: block; 145 | padding: 10px 15px 10px 38px; 146 | text-decoration: none; 147 | color: #999; 148 | } 149 | 150 | .side-nav>li>ul>li>a:hover { 151 | color: #fff; 152 | } 153 | 154 | /* Flot Chart Containers */ 155 | 156 | .flot-chart { 157 | display: block; 158 | height: 400px; 159 | } 160 | 161 | .flot-chart-content { 162 | width: 100%; 163 | height: 100%; 164 | } 165 | 166 | /* Custom Colored Panels */ 167 | 168 | .huge { 169 | font-size: 40px; 170 | } 171 | 172 | .panel-green { 173 | border-color: #5cb85c; 174 | } 175 | 176 | .panel-green .panel-heading { 177 | border-color: #5cb85c; 178 | color: #fff; 179 | background-color: #5cb85c; 180 | } 181 | 182 | .panel-green a { 183 | color: #5cb85c; 184 | } 185 | 186 | .panel-green a:hover { 187 | color: #3d8b3d; 188 | } 189 | 190 | .panel-red { 191 | border-color: #d9534f; 192 | } 193 | 194 | .panel-red .panel-heading { 195 | border-color: #d9534f; 196 | color: #fff; 197 | background-color: #d9534f; 198 | } 199 | 200 | .panel-red a { 201 | color: #d9534f; 202 | } 203 | 204 | .panel-red a:hover { 205 | color: #b52b27; 206 | } 207 | 208 | .panel-yellow { 209 | border-color: #f0ad4e; 210 | } 211 | 212 | .panel-yellow .panel-heading { 213 | border-color: #f0ad4e; 214 | color: #fff; 215 | background-color: #f0ad4e; 216 | } 217 | 218 | .panel-yellow a { 219 | color: #f0ad4e; 220 | } 221 | 222 | .panel-yellow a:hover { 223 | color: #df8a13; 224 | } -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/css/tabs.css: -------------------------------------------------------------------------------- 1 | /*----- Tabs -----*/ 2 | .tabs { 3 | width:100%; 4 | display:inline-block; 5 | } 6 | 7 | /*----- Tab Links -----*/ 8 | /* Clearfix */ 9 | .tab-links:after { 10 | display:block; 11 | clear:both; 12 | content:''; 13 | } 14 | 15 | .tab-links li { 16 | margin:0px 5px; 17 | float:left; 18 | list-style:none; 19 | } 20 | 21 | .tab-links a { 22 | padding:9px 15px; 23 | display:inline-block; 24 | border-radius:3px 3px 0px 0px; 25 | background:#fff; 26 | font-size:16px; 27 | font-weight:600; 28 | color:#4c4c4c; 29 | transition:all linear 0.15s; 30 | } 31 | 32 | .tab-links a:hover { 33 | background:#a7cce5; 34 | text-decoration:none; 35 | } 36 | 37 | li.active a, li.active a:hover { 38 | 39 | background:#7FB5DA; 40 | color:#4c4c4c; 41 | } 42 | 43 | /*----- Content of Tabs -----*/ 44 | .tab-content { 45 | padding:15px; 46 | border-radius:3px; 47 | box-shadow:-1px 1px 1px rgba(0,0,0,0.15); 48 | background:#fff; 49 | } 50 | 51 | .tab { 52 | display:none; 53 | } 54 | 55 | .tab.active { 56 | display:block; 57 | } -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/m/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/m/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/m/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/img/whitelightning.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/m/img/whitelightning.jpg -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/includes/config.inc.php: -------------------------------------------------------------------------------- 1 | An error occurred in script '$e_file' on line $e_line: $e_message\n
    "; 15 | 16 | // Add the date and time: 17 | $message .= "Date/Time: " . date('n-j-Y H:i:s') . "\n
    "; 18 | 19 | // Append $e_vars to the $message: 20 | $message .= "
    " . print_r ($e_vars, 1) . "
    \n"; 21 | 22 | if (!LIVE) { // Development (print the error). 23 | 24 | echo '
    ' . $message . '

    '; 25 | 26 | } else { // Don't show the error: 27 | 28 | // Send an email to the admin: 29 | mail(EMAIL, 'Site Error!', $message, 'From: email@example.com'); 30 | 31 | // Only print an error message if the error isn't a notice: 32 | if ($e_number != E_NOTICE) { 33 | echo '
    A system error occurred. We apologize for the inconvenience.

    '; 34 | } 35 | } // End of !LIVE IF. 36 | 37 | } // End of my_error_handler() definition. 38 | 39 | // Use my error handler. 40 | set_error_handler ('my_error_handler'); 41 | 42 | // ****************************************** // 43 | // ************ SECURITY MANAGEMENT ************ // 44 | 45 | function name_reg ($name) { 46 | 47 | $reg_ex = "/[A-Za-z0-9-].{4,20}/"; 48 | 49 | if (preg_match ($reg_ex, $name)) { 50 | return true; 51 | } else { 52 | echo 'Please enter a valid name! Names must be a 5 to 20 characters.'; 53 | } 54 | return false; 55 | } 56 | 57 | function pass_match ($password1, $password2) { 58 | 59 | if ($password1 == $password2) { 60 | return true; 61 | } else { 62 | echo 'Your password did not match the confirmed password!'; 63 | } 64 | return false; 65 | } 66 | 67 | function pass_reg ($password) { 68 | 69 | // 8 to 15 character string with at least one upper case letter , one lower case letter , and one digit 70 | $reg_ex = "/(?=.*[a-z])(?=.*[A-Z]).{8,15}/"; 71 | 72 | if (preg_match ($reg_ex, $password)) { 73 | return true; 74 | } else { 75 | echo 'Please enter a valid password!'; 76 | } 77 | return false; 78 | } 79 | ?> 80 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/includes/index_bargraph_data.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 7 | $a = '['; 8 | while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { 9 | $a.= "{browser:'".$row['ua_browser_name']."',hits:".$row['c']."},"; 10 | } 11 | chop($a,","); 12 | $a.="]"; 13 | echo $a; 14 | ?> 15 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/includes/index_donutgraph_data.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 7 | $a = '['; 8 | while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { 9 | $a.= "{label:'".$row['os']."',value:".$row['c']."},"; 10 | } 11 | chop($a,","); 12 | $a.="]"; 13 | echo $a; 14 | ?> 15 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/includes/settings_delete_rows.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 8 | } 9 | ?> 10 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/includes/settings_update_rows.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 8 | $row = mysqli_fetch_array($r, MYSQLI_ASSOC); 9 | if ($row['user_level'] == 1){ 10 | $change_level = 0; 11 | }else{ 12 | $change_level = 1; 13 | } 14 | $q = 'UPDATE users SET user_level='.$change_level.' WHERE name="'.$trimmed['action'].'"'; 15 | $r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n
    MySQL Error: " . mysqli_error($dbc)); 16 | } 17 | ?> 18 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/includes/taskings_delete_rows.php: -------------------------------------------------------------------------------- 1 | MySQL Error: " . mysqli_error($dbc)); 8 | unlink("../../". $trimmed['action']); 9 | array_map('unlink', glob("../../". $trimmed['action']."*")); 10 | } 11 | ?> 12 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/includes/taskings_functs.php: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/includes/validate.php: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/index.php: -------------------------------------------------------------------------------- 1 | 34 | 35 | WhiteLightning 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
    47 | 48 |
    49 |
    50 |
    51 |
    52 |

    53 | Statistics Overview 54 |

    55 |
    56 |
    57 |
    58 |
    59 |
    60 |
    61 |
    62 |
    63 | 64 |
    65 |
    66 |
    67 |
    Browser Hits!
    68 |
    69 |
    70 |
    71 |
    72 |
    73 |
    74 |
    75 |
    76 |
    77 |
    78 | 79 |
    80 |
    81 |
    82 |
    Browsers Enumerated!!
    83 |
    84 |
    85 |
    86 |
    87 |
    88 |
    89 |
    90 |
    91 |
    92 |
    93 | 94 |
    95 |
    96 |
    97 |
    PWN'd Boxes!!!
    98 |
    99 |
    100 |
    101 |
    102 |
    103 |
    104 |
    105 |
    106 |
    107 |
    108 |

    Browser Statistics

    109 |
    110 |
    111 |
    112 |
    113 |
    114 |
    115 |
    116 |
    117 |
    118 |

    OS Statistics

    119 |
    120 |
    121 |
    122 |
    123 |
    124 |
    125 |
    126 |
    127 |
    128 |
    129 | 130 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/js/cooltables.js: -------------------------------------------------------------------------------- 1 | 2 | /*global SyntaxHighlighter*/ 3 | SyntaxHighlighter.config.tagName = 'code'; 4 | 5 | $(document).ready( function () { 6 | if ( ! $.fn.dataTable ) { 7 | return; 8 | } 9 | var dt110 = $.fn.dataTable.Api ? true : false; 10 | 11 | // Work around for WebKit bug 55740 12 | var info = $('div.info'); 13 | 14 | if ( info.height() < 115 ) { 15 | info.css( 'min-height', '8em' ); 16 | } 17 | 18 | var escapeHtml = function ( str ) { 19 | return str.replace(/&/g, '&').replace(//g, '>'); 20 | }; 21 | 22 | // css 23 | var cssContainer = $('div.tabs div.css'); 24 | if ( $.trim( cssContainer.find('code').text() ) === '' ) { 25 | cssContainer.find('code, p:eq(0), div').css('display', 'none'); 26 | } 27 | 28 | // init html 29 | var table = $('

    ').append( $('table').clone() ).html(); 30 | $('div.tabs div.table').append( 31 | '\t\t\t'+ 32 | escapeHtml( table )+ 33 | '' 34 | ); 35 | //SyntaxHighlighter.highlight({}, $('#display-init-html')[0]); 36 | 37 | // Allow the demo code to run if DT 1.9 is used 38 | if ( dt110 ) { 39 | // json 40 | var ajaxTab = $('ul.tabs li').eq(3).css('display', 'none'); 41 | 42 | $(document).on( 'init.dt', function ( e, settings ) { 43 | var api = new $.fn.dataTable.Api( settings ); 44 | 45 | var show = function ( str ) { 46 | ajaxTab.css( 'display', 'block' ); 47 | $('div.tabs div.ajax code').remove(); 48 | 49 | // Old IE :-| 50 | try { 51 | str = JSON.stringify( str, null, 2 ); 52 | } catch ( e ) {} 53 | 54 | $('div.tabs div.ajax').append( 55 | ''+str+'' 56 | ); 57 | SyntaxHighlighter.highlight( {}, $('div.tabs div.ajax code')[0] ); 58 | }; 59 | 60 | // First draw 61 | var json = api.ajax.json(); 62 | if ( json ) { 63 | show( json ); 64 | } 65 | 66 | // Subsequent draws 67 | api.on( 'xhr.dt', function ( e, settings, json ) { 68 | show( json ); 69 | } ); 70 | } ); 71 | 72 | // php 73 | var phpTab = $('ul.tabs li').eq(4).css('display', 'none'); 74 | 75 | $(document).on( 'init.dt.demoSSP', function ( e, settings ) { 76 | if ( settings.oFeatures.bServerSide ) { 77 | if ( $.isFunction( settings.ajax ) ) { 78 | return; 79 | } 80 | $.ajax( { 81 | url: '../resources/examples.php', 82 | data: { 83 | src: settings.sAjaxSource || settings.ajax.url || settings.ajax 84 | }, 85 | dataType: 'text', 86 | type: 'post', 87 | success: function ( txt ) { 88 | phpTab.css( 'display', 'block' ); 89 | $('div.tabs div.php').append( 90 | ''+txt+'' 91 | ); 92 | SyntaxHighlighter.highlight( {}, $('div.tabs div.php code')[0] ); 93 | } 94 | } ); 95 | } 96 | } ); 97 | } 98 | else { 99 | $('ul.tabs li').eq(3).css('display', 'none'); 100 | $('ul.tabs li').eq(4).css('display', 'none'); 101 | } 102 | 103 | // Tabs 104 | $('ul.tabs').on( 'click', 'li', function () { 105 | $('ul.tabs li.active').removeClass('active'); 106 | $(this).addClass('active'); 107 | 108 | $('div.tabs>div') 109 | .css('display', 'none') 110 | .eq( $(this).index() ).css('display', 'block'); 111 | } ); 112 | $('ul.tabs li.active').click(); 113 | } ); 114 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/js/dtables.js: -------------------------------------------------------------------------------- 1 | function delete_rows(tasking_id, random_string){ 2 | var x = confirm("Are you sure you want to remove tasking #" + tasking_id); 3 | if (x){ 4 | $.ajax({ 5 | type: "POST", 6 | url: 'includes/taskings_delete_rows.php', 7 | data:{action:random_string}, 8 | success:function(html) { 9 | location.replace("tasking.php"); 10 | } 11 | }); 12 | } 13 | } -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/js/plugins/morris/morris-data.js: -------------------------------------------------------------------------------- 1 | 2 | function get_info_bar() { 3 | $.ajax({ 4 | url: '../../../m/includes/index_bargraph_data.php', 5 | success:function(html) { 6 | Morris.Bar({ 7 | element: 'morris-bar-chart', 8 | data: eval(html), 9 | xkey: 'browser', 10 | ykeys: ['hits'], 11 | labels: ['Hits'], 12 | barRatio: 'auto', 13 | xLabelAngle: 'auto', 14 | hideHover: 'auto', 15 | resize: true 16 | }); 17 | } 18 | }); 19 | $.ajax({ 20 | url: '../../../m/includes/index_donutgraph_data.php', 21 | success:function(html) { 22 | Morris.Donut({ 23 | element: 'morris-donut-chart', 24 | data: eval(html), 25 | resize: true 26 | }); 27 | } 28 | }); 29 | } 30 | 31 | 32 | $(function() { 33 | get_info_bar(); 34 | }); 35 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/js/tabs.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function() { 2 | jQuery('.tabs .tab-links a').on('click', function(e) { 3 | var currentAttrValue = jQuery(this).attr('href'); 4 | 5 | // Show/Hide Tabs 6 | jQuery('.tabs ' + currentAttrValue).siblings().slideUp(400); 7 | jQuery('.tabs ' + currentAttrValue).delay(400).slideDown(400); 8 | 9 | // Change/remove current tab to active 10 | jQuery(this).parent('li').addClass('active').siblings().removeClass('active'); 11 | e.preventDefault(); 12 | }); 13 | }); -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/js/tasking_functs.js: -------------------------------------------------------------------------------- 1 | function delete_rows(tasking_id, random_string){ 2 | var x = confirm("Are you sure you want to remove tasking #" + tasking_id); 3 | if (x){ 4 | $.ajax({ 5 | type: "POST", 6 | url: 'includes/taskings_delete_rows.php', 7 | data:{action:random_string}, 8 | success:function(html) { 9 | location.replace("tasking.php"); 10 | } 11 | }); 12 | } 13 | } -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/login.php: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | WhiteLightning -> Login 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 25 |

    83 | 84 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/logout.php: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/logs.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | WhiteLightning -> Logs 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
    22 | 23 |
    24 |
    25 |
    26 |
    27 |

    28 | Exploit Logs 29 |

    30 | 38 |
    39 |
    40 |
    41 | 46 |
    47 |
    48 |
    49 |
    50 |
    51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 69 | 70 | 71 | 72 | 73 | 74 | '; 75 | $app_info = ''; 76 | if( !(strcmp( $row['me_mshtml_build'], "unknown") == 0) ){ 77 | $app_info .= "mshtml: " . $row['me_mshtml_build'] . " | "; 78 | } 79 | if( !(strcmp( $row['be_office'], "unknown") == 0) ){ 80 | $app_info .= "office: " . $row['be_office'] . " | "; 81 | } 82 | if( !(strcmp( $row['pd_reader'], "unknown") == 0) ){ 83 | $app_info .= "reader: " . $row['pd_reader'] . " | "; 84 | } 85 | if( !(strcmp( $row['pd_flash'], "unknown") == 0) ){ 86 | $app_info .= "flash: " . $row['pd_flash'] . " | "; 87 | } 88 | if( !(strcmp( $row['pd_java'], "unknown") == 0) ){ 89 | $app_info .= "java: " . $row['pd_java'] . " | "; 90 | } 91 | if( !(strcmp( $row['pd_qt'], "unknown") == 0) ){ 92 | $app_info .= "qt: " . $row['pd_qt'] . " | "; 93 | } 94 | if( !(strcmp( $row['pd_rp'], "unknown") == 0) ){ 95 | $app_info .= "rp: " . $row['pd_rp'] . " | "; 96 | } 97 | if( !(strcmp( $row['pd_shock'], "unknown") == 0 )){ 98 | $app_info .= "shock: " . $row['pd_shock'] . " | "; 99 | } 100 | if( !(strcmp( $row['pd_silver'], "unknown") == 0) ){ 101 | $app_info .= "silver: " . $row['pd_silver'] . " | "; 102 | } 103 | if( !(strcmp( $row['pd_wmp'], "unknown") == 0) ){ 104 | $app_info .= "wmp: " . $row['pd_wmp'] . " | "; 105 | } 106 | if( !(strcmp( $row['pd_vlc'], "unknown") == 0) ){ 107 | $app_info .= "vlc: " . $row['pd_vlc'] . " | "; 108 | } 109 | echo ''; 110 | } 111 | ?> 112 | 113 |
    TimeRemote AddressOSBrowserVersionUserAgentApplications
    '.$row['php_date_time'].''.$row['php_remote_addr'].''.$row['ua_os_family'].''.$row['ua_browser_name'].''.$row['ua_browser_version'].''.$row['php_http_user_agent'].''.$app_info.'
    114 |
    115 |
    116 |
    117 |
    118 |
    119 |
    120 |
    121 |
    122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 137 | 138 | 139 | 140 | 141 | '; 142 | } 143 | ?> 144 | 145 |
    TimeHit IDExploit NameTarget Number
    '.$row['php_date_time'].''.$row['hit_id'].''.$row['msf_exploit_full_path'].''.$row['msf_target'].'
    146 |
    147 |
    148 |
    149 |
    150 |
    151 |
    152 |
    153 |
    154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 168 | 169 | 170 | '; 171 | } 172 | ?> 173 | 174 |
    TimeThrow IDRemote Address
    '.$row['php_date_time'].''.$row['throw_id'].''.$row['php_remote_addr'].'
    175 |
    176 |
    177 |
    178 |
    179 |
    180 |
    181 |
    182 |
    183 |
    184 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/outline.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
    18 | 56 |
    57 | 58 | 59 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/m/plugins/fa/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/m/plugins/fa/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/m/plugins/fa/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TweekFawkes/White_Lightning/43fd24eb945d436bc739ce3eb11a54410e1c54d0/zzz_old_v1.x/var/www/m/plugins/fa/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "spinning.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | 13 | .fa-icon-rotate(@degrees, @rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 15 | -webkit-transform: rotate(@degrees); 16 | -ms-transform: rotate(@degrees); 17 | transform: rotate(@degrees); 18 | } 19 | 20 | .fa-icon-flip(@horiz, @vert, @rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 22 | -webkit-transform: scale(@horiz, @vert); 23 | -ms-transform: scale(@horiz, @vert); 24 | transform: scale(@horiz, @vert); 25 | } 26 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 9 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 10 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 11 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/spinning.less: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | } 12 | 13 | @mixin fa-icon-rotate($degrees, $rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 15 | -webkit-transform: rotate($degrees); 16 | -ms-transform: rotate($degrees); 17 | transform: rotate($degrees); 18 | } 19 | 20 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 22 | -webkit-transform: scale($horiz, $vert); 23 | -ms-transform: scale($horiz, $vert); 24 | transform: scale($horiz, $vert); 25 | } 26 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 9 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 10 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 11 | //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_spinning.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/plugins/fa/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/m/settings.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WhiteLightning -> Settings 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
    13 | 14 |
    15 |
    16 |
    17 |
    18 |

    19 | Settings 20 |

    21 | 29 |
    30 |
    31 | '; 33 | $t2 = '
  • '; 34 | $tab_1 = 'tab active'; 35 | $tab_2 = 'tab'; 36 | 37 | if (isset($_POST['submit']) and $_POST['submit'] == "Add User"){ 38 | $t2 = '
  • '; 39 | $t1 = '
  • '; 40 | $tab_2 = 'tab active'; 41 | $tab_1 = 'tab'; 42 | } 43 | if ($_SESSION['user_level'] == 1){ 44 | echo '
    45 | 49 | 50 |
    51 |
    '; } 52 | ?> 53 |
    54 |
    55 |

    Change Password

    56 |
    57 |
    58 | 59 |
    60 |
    61 | 62 |
    63 |
    64 | 65 |
    66 |
    67 | Must fill out all fields.'; 71 | }elseif ($_POST['vfy_change_pass'] != $_POST['change_pass']){ 72 | echo 'New passwords don\'t match.'; 73 | }elseif ($_POST['current_pass'] == $_POST['change_pass']){ 74 | echo 'New password cannot match current password.'; 75 | } 76 | $current_user = $_SESSION['name']; 77 | $current_pass = sha1($_POST['current_pass']); 78 | $new_pass = sha1($_POST['change_pass']); 79 | 80 | $q = 'SELECT pass FROM users WHERE name = "'.$current_user.'"'; 81 | $r = @mysqli_query ($dbc, $q); // Run the query. 82 | $row = mysqli_fetch_array($r, MYSQLI_ASSOC); 83 | if ($row['pass'] != $current_pass){ 84 | echo 'Current password does not match that on record.'; 85 | }else{ 86 | $q = 'UPDATE users SET pass="'.$new_pass.'" WHERE name="'.$current_user.'"'; 87 | $r = @mysqli_query ($dbc, $q); 88 | echo 'Password successfully changed.'; 89 | } 90 | } 91 | ?> 92 |
    93 | 94 |
    95 |
    96 | 99 |
    100 |
    101 |
    102 |
    103 |

    Add User

    104 | 105 |
    106 | 107 |
    108 |
    109 | 110 |
    111 |
    112 | 113 |
    114 |
    115 |
    116 | 119 |
    120 |
    '; 121 | if (isset($_POST['submit']) and $_POST['submit'] == "Add User") { // Handle the form. 122 | if ($_POST['new_user'] == ''){ 123 | echo 'Must fill out all fields.'; 124 | }elseif ($_POST['vfy_new_pass'] != $_POST['new_pass']){ 125 | echo 'New passwords don\'t match.'; 126 | } 127 | if (name_reg($_POST['new_user']) and pass_reg($_POST['new_pass'])){ 128 | $hash = sha1($_POST['new_pass']); 129 | $new_user = $_POST['new_user']; 130 | if (isset($_POST['add_admin'])){ 131 | $group = 1; 132 | }else{ 133 | $group = 0; 134 | } 135 | 136 | $q = 'SELECT COUNT(user_id) as n FROM users'; 137 | $r = @mysqli_query ($dbc, $q); // Run the query. 138 | while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { 139 | $uid = $row['n'] + 1; 140 | } 141 | 142 | $q = 'SELECT COUNT(name) as n FROM users WHERE name = "'.$new_user.'"'; 143 | $r = @mysqli_query ($dbc, $q); // Run the query. 144 | $row = mysqli_fetch_array($r, MYSQLI_ASSOC); 145 | if ($row['n'] == 0) { 146 | $i = 'INSERT INTO users VALUES("'.$uid.'","'.$new_user.'","'.$hash.'","'.$group.'")'; 147 | $r = @mysqli_query ($dbc, $i); // Run the query. 148 | echo 'New user created.'; 149 | }else{ 150 | echo 'User already exists in db.'; 151 | } 152 | } 153 | } 154 | echo '
    155 |
    156 | 157 |
    158 | 159 |
    160 | 190 |
    191 |

    Users

    192 |
    193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | '; 203 | $q = "SELECT name, user_level, user_id from users"; 204 | $r = @mysqli_query ($dbc, $q); // Run the query. 205 | while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { 206 | if ($row['user_level'] == 1){ 207 | $admin_flag = True; 208 | $check_status = 'checked'; 209 | }else{ 210 | $admin_flag = False; 211 | $check_status = ''; 212 | } 213 | echo ' 214 | 215 | 216 | 217 | 218 | 219 | '; 220 | } 221 | echo ' 222 |
    UsernameAdmin
    '.$row['name'].'
    223 |
    224 |
    225 |
    226 |
    227 |
    ';} 228 | ?> 229 |
    230 |
    231 |
  • 232 |
    233 |
    234 | 235 | 236 | -------------------------------------------------------------------------------- /zzz_old_v1.x/var/www/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / --------------------------------------------------------------------------------