Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
greenpreneurs /
api /
middleware /
[ HOME SHELL ]
Name
Size
Permission
Action
inputValidation.js
6.52
KB
-rw-r--r--
loginAttempts.js
1.73
KB
-rw-r--r--
sessionTimeout.js
862
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : loginAttempts.js
import crypto from 'crypto'; const MAX_ATTEMPTS = 5; const LOCKOUT_DURATION = 15 * 60 * 1000; // 15 minutes const BASE_DELAY = 1000; // 1 second base delay export const loginAttempts = (req, res, next) => { const ip = req.ip; const email = req.body.email; const key = `login_${crypto.createHash('sha256').update(ip + email).digest('hex')}`; if (!req.app.locals.loginAttempts) { req.app.locals.loginAttempts = {}; } const now = Date.now(); const attemptData = req.app.locals.loginAttempts[key] || { count: 0, lastAttempt: 0, lockoutUntil: 0 }; // Check if account is locked if (attemptData.lockoutUntil > now) { const timeLeft = Math.ceil((attemptData.lockoutUntil - now) / 1000 / 60); return res.status(429).json({ message: `Account temporarily locked. Please try again in ${timeLeft} minutes.`, code: 'ACCOUNT_LOCKED' }); } // Reset attempts if last attempt was more than 15 minutes ago if (now - attemptData.lastAttempt > LOCKOUT_DURATION) { attemptData.count = 0; } // Calculate delay based on number of attempts const delay = Math.min(BASE_DELAY * Math.pow(2, attemptData.count), 10000); // Max 10 seconds // Update attempt data attemptData.count++; attemptData.lastAttempt = now; // Lock account if max attempts reached if (attemptData.count >= MAX_ATTEMPTS) { attemptData.lockoutUntil = now + LOCKOUT_DURATION; return res.status(429).json({ message: 'Too many failed attempts. Account locked for 15 minutes.', code: 'ACCOUNT_LOCKED' }); } req.app.locals.loginAttempts[key] = attemptData; // Add delay before processing the request setTimeout(() => { next(); }, delay); };
Close