BANDIT.EDU bandit.malware.uz
bandit.malware.uz xavfsizlik akademiyasi

Kiberxavfsizlik va Etik Xakerlikni Noldan O'rganing

Linux, tarmoqlar, Python skriptlari va veb xavfsizligi bo'yicha eng ilg'or o'zbek tilidagi amaliy kurslar platformasi. Real simulyatsiyalar va interaktiv darslar bilan bilimingizni sinang.

4+

Asosiy Modullar

20+

Interaktiv Darslar

Live

Terminal Simulyatori

100%

Amaliy Yo'nalish

Mavjud Kurs Modullari

O'zingizga mos yo'nalishni tanlang va o'qishni boshlang

', content: 'Saytlararo skript yuborish zaifligi qanday yuzaga keladi va undan qanday himoyalanish kerak.', quiz: { question: 'XSS hujumining asosiy maqsadi nima?', options: ['Brauzerda zararli JS kodni bajarish', 'Ma\'lumotlar bazasini o\'chirish', 'Serverni quritish'], answer: 0 } }, { id: 'wb-3', title: 'SQL Injection Asoslari', snippet: "SELECT * FROM users WHERE username = 'admin' --';", content: 'Ma\'lumotlar bazasiga zararli SQL sorovlarini kiritish va parametrized queries orqali himoyalanish.', quiz: { question: 'SQL injection qaysi qismga ta\'sir qiladi?', options: ['Ma\'lumotlar bazasi', 'Brauzer dizayni', 'Wi-Fi signali'], answer: 0 } }, { id: 'wb-4', title: 'HTTPS va SSL/SSL Sertifikatlar', snippet: 'sudo certbot --nginx -d bandit.malware.uz', content: 'Let\'s Encrypt va Certbot yordamida veb-serverga SSL o\'rnatish va shifrlangan trafigini ta\'minlash.', quiz: { question: 'Certbot qanday maqsad uchun ishlatiladi?', options: ['SSL/TLS sertifikatlarini avtomatik olish', 'Viruslarni tozalash', 'Parol yorish'], answer: 0 } } ] } ]; // User Progress State in Memory let userProgress = { completedLessons: [] // array of lesson IDs }; let currentActiveLessonId = null; // Initialize App on Load window.onload = function() { renderHomeCourses(); renderFullCourses(); updateDashboard(); }; // Navigation Tabs Controller function switchTab(tabName) { const tabs = ['home', 'courses', 'lesson', 'terminal', 'dashboard']; tabs.forEach(t => { const el = document.getElementById(`tab-${t}`); if (el) el.classList.add('hidden'); const navEl = document.getElementById(`nav-${t}`); if (navEl) { navEl.className = "px-4 py-2 rounded-lg text-sm font-medium transition text-gray-300 hover:text-white hover:bg-gray-800"; } }); const activeEl = document.getElementById(`tab-${tabName}`); if (activeEl) activeEl.classList.remove('hidden'); const activeNav = document.getElementById(`nav-${tabName}`); if (activeNav) { activeNav.className = "px-4 py-2 rounded-lg text-sm font-medium transition text-emerald-400 bg-emerald-500/10 border border-emerald-500/20"; } window.scrollTo({ top: 0, behavior: 'smooth' }); } function toggleMobileMenu() { const menu = document.getElementById('mobile-menu'); menu.classList.toggle('hidden'); } // Render Home Courses Grid function renderHomeCourses() { const grid = document.getElementById('home-courses-grid'); grid.innerHTML = ''; coursesData.forEach(course => { grid.innerHTML += `
${course.category}

${course.title}

${course.description}

${course.lessons.length} ta dars →
`; }); } // Render Full Courses Catalog function renderFullCourses() { const container = document.getElementById('full-courses-container'); container.innerHTML = ''; coursesData.forEach(course => { let lessonsListHTML = ''; course.lessons.forEach(l => { const isDone = userProgress.completedLessons.includes(l.id); lessonsListHTML += `
${isDone ? '' : ''}
${l.title}
Boshlash
`; }); container.innerHTML += `
${course.category}

${course.title}

${course.description}

Darslar ro'yxati (${course.lessons.length}):

${lessonsListHTML}
`; }); } function openCourse(courseId) { const course = coursesData.find(c => c.id === courseId); if (course && course.lessons.length > 0) { openLesson(courseId, course.lessons[0].id); } } // Open Lesson View function openLesson(courseId, lessonId) { const course = coursesData.find(c => c.id === courseId); const lesson = course.lessons.find(l => l.id === lessonId); if (!lesson) return; currentActiveLessonId = lessonId; switchTab('lesson'); document.getElementById('lesson-breadcrumb').innerText = `${course.title} / ${lesson.title}`; document.getElementById('lesson-content-box').innerHTML = `
${course.title}

${lesson.title}

${lesson.content}

`; document.getElementById('lesson-code-snippet').innerText = lesson.snippet; // Render Quiz const quizBox = document.getElementById('quiz-container'); let optionsHTML = ''; lesson.quiz.options.forEach((opt, idx) => { optionsHTML += ` `; }); quizBox.innerHTML = `

${lesson.quiz.question}

${optionsHTML}
`; const isDone = userProgress.completedLessons.includes(lessonId); const btn = document.getElementById('complete-btn'); const badge = document.getElementById('lesson-status-badge'); if (isDone) { btn.innerHTML = ' Bajarilgan'; btn.className = "px-6 py-2.5 rounded-xl bg-gray-800 border border-emerald-500/30 text-emerald-400 font-semibold text-sm cursor-default"; badge.innerText = "Status: Yakunlangan"; badge.className = "text-xs font-mono text-emerald-400"; } else { btn.innerHTML = ' Darsni yakunlash'; btn.className = "px-6 py-2.5 rounded-xl bg-emerald-500 hover:bg-emerald-600 text-black font-semibold text-sm transition flex items-center space-x-2"; badge.innerText = "Status: Bajarilmagan"; badge.className = "text-xs font-mono text-amber-400"; } } function checkQuizAnswer(correctIdx) { const radios = document.getElementsByName('quiz-opt'); let selected = -1; radios.forEach((r, i) => { if (r.checked) selected = i; }); if (selected === -1) { alertModal('Iltimos, avval javob variantini tanlang!'); return; } if (selected === correctIdx) { alertModal('Tabriklayman! To\'g\'ri javob.'); completeCurrentLesson(); } else { alertModal('Afsuski noto\'g\'ri. Qaytadan urinib ko\'ring!'); } } function completeCurrentLesson() { if (!userProgress.completedLessons.includes(currentActiveLessonId)) { userProgress.completedLessons.push(currentActiveLessonId); } openLesson(findCourseByLesson(currentActiveLessonId), currentActiveLessonId); renderFullCourses(); updateDashboard(); } function findCourseByLesson(lessonId) { for (let c of coursesData) { if (c.lessons.find(l => l.id === lessonId)) return c.id; } return 'cyber-basics'; } function copySnippet() { const code = document.getElementById('lesson-code-snippet').innerText; document.execCommand('copy'); alertModal('Kod nusxalandi!'); } // Terminal Simulator Logic function handleTerminalInput(e) { if (e.key === 'Enter') { executeTerminalCommand(); } } function quickTerminalCmd(cmd) { document.getElementById('terminal-input').value = cmd; executeTerminalCommand(); } function executeTerminalCommand() { const inputEl = document.getElementById('terminal-input'); const cmd = inputEl.value.trim(); if (!cmd) return; const screen = document.getElementById('terminal-screen'); screen.innerHTML += `
bandit@malware.uz:~$ ${escapeHtml(cmd)}
`; inputEl.value = ''; let response = ''; const lowerCmd = cmd.toLowerCase(); if (lowerCmd === 'help') { response = `Mavjud buyruqlar: ls - Fayllar ro'yxatini ko'rsatish pwd - Joriy papka manzili whoami - Joriy foydalanuvchi ma'lumoti nmap - Tarmoq portlarini skanerlash (masalan: nmap bandit.malware.uz) python - Python simulyatori clear - Terminalni tozalash cat - Fayl mazmunini o'qish (masalan: cat flag.txt) date - Joriy sana va vaqt`; } else if (lowerCmd === 'ls') { response = `Documents/ Downloads/ flag.txt security_tool.py nginx.conf`; } else if (lowerCmd === 'pwd') { response = `/var/www/bandit.malware.uz`; } else if (lowerCmd === 'whoami') { response = `bandit (uid=1001 gid=1001 groups=1001(bandit))`; } else if (lowerCmd.startsWith('nmap')) { response = `Starting Nmap 7.94 ( https://nmap.org ) at 2026-03-10 15:29 UTC Nmap scan report for bandit.malware.uz (127.0.0.1) Host is up (0.00018s latency). Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https Nmap done: 1 IP address scanned in 0.14 seconds`; } else if (lowerCmd === 'clear') { screen.innerHTML = `
Bandit Security Terminal v2.4.1
`; return; } else if (lowerCmd === 'cat flag.txt') { response = `FLAG{bandit_malware_uz_security_master_2026}`; } else if (lowerCmd === 'date') { response = `Tue Mar 10 15:29:00 UTC 2026`; } else if (lowerCmd.startsWith('python')) { response = `Python 3.11.4 (main, Jun 7 2023, 00:00:00) [GCC 12.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import this The Zen of Python, by Tim Peters...`; } else { response = `bash: ${cmd}: command not found. Yordam uchun 'help' yozing.`; } screen.innerHTML += `
${escapeHtml(response)}
`; screen.scrollTop = screen.scrollHeight; } function escapeHtml(text) { return text.replace(/&/g, "&").replace(//g, ">"); } // Dashboard Progress Updates function updateDashboard() { let totalLessons = 0; coursesData.forEach(c => totalLessons += c.lessons.length); const completed = userProgress.completedLessons.length; const pct = Math.round((completed / totalLessons) * 100); document.getElementById('dashboard-progress-text').innerText = `${pct}%`; document.getElementById('dashboard-progress-bar').style.width = `${pct}%`; document.getElementById('completed-count').innerText = completed; document.getElementById('total-lessons-count').innerText = totalLessons; const modulesList = document.getElementById('dashboard-modules-list'); modulesList.innerHTML = ''; coursesData.forEach(c => { let cCompleted = c.lessons.filter(l => userProgress.completedLessons.includes(l.id)).length; let cPct = Math.round((cCompleted / c.lessons.length) * 100); modulesList.innerHTML += `
${c.title} ${cCompleted} / ${c.lessons.length}
`; }); } // Modal Helpers function alertModal(msg) { document.getElementById('modal-message').innerText = msg; document.getElementById('custom-modal').classList.remove('hidden'); } function closeModal() { document.getElementById('custom-modal').classList.add('hidden'); }