OWASP Top 10 частина 3: Injection

21 жовтня 2024 1 хвилина Автор: Lady Liberty

Ін’єкції – це вразливості, що дозволяють зловмисникам вносити шкідливий код або дані в додаток, що призводить до небажаних або небезпечних дій.

1. SQL-ін’єкція

  • Опис: Вразливість, яка дозволяє зловмисникам вставляти SQL-код у запити до бази даних.

  • Приклад: Веб-додаток, що використовує введення користувача для формування SQL-запитів без належної перевірки, що дозволяє зловмиснику виконувати довільні SQL-запити.

2. Командні ін’єкції

  • Опис: Вразливість, при якій зловмисник може вносити команди операційної системи.

  • Приклад: Додаток, що виконує системні команди на основі введення користувача, дозволяючи зловмиснику виконувати небажані команди.

3. XSS (Міжсайтовий скриптинг)

  • Опис: Вразливість, при якій зловмисник може вставляти шкідливий JavaScript-код в веб-сторінки, які потім виконуються в браузері інших користувачів.

  • Приклад: Додаток, що відображає дані, введені користувачем, без належного очищення, що дозволяє зловмиснику вставляти шкідливий код.

 Blue team

1. Cross-Site Scripting (XSS)

XSS (Cross-Site Scripting) – це уразливість, що дозволяє зловмиснику вставляти шкідливий скрипт у вебсторінку, який виконується у браузері жертви. Це може призвести до крадіжки сесійних кукі-файлів, зміни контенту сторінки, або перенаправлення користувача на шкідливий сайт.

Зловмисник може вставити JavaScript код, який виконує небажані дії, такі як крадіжка кукі-файлів або перенаправлення користувача.

Blue team

Для запобігання XSS атак, забезпечте санітизацію вводу та виводу:

  1. Санітизація вводу: Використовуйте htmlspecialchars() для очищення даних, отриманих від користувача.

  2. Санітизація виводу: Використовуйте функції, які автоматично екранізують вивід, такі як htmlspecialchars() в PHP або автоекранування у шаблонних двигунах Twig або Blade.

  3. HTTP Only флаг: Використовуйте флаг HTTP Only для кукі-файлів, щоб заборонити доступ до них через JavaScript.

Red team

Крадіжка кукі-файлів:

Підробка контенту сторінки:

2. SQL Injection

 Blue team

SQL Injection – це уразливість, при якій зловмисник може вставити шкідливий SQL код у запити до бази даних, що дозволяє отримати доступ до даних, змінити їх або видалити.

Red team

Небезпечний SQL-запит:

Blue team

Запобігання SQL Injection:

Використовуйте підготовлені запити (prepared statements):

Red team

Зловмисник може вставити небезпечний код у $someString:

Уразливий код
Безпечний код

3. HTTP Parameter Injection

Blue Team

HTTP Parameter Injection – це уразливість, яка виникає, коли зловмисник модифікує параметри HTTP запитів для отримання несанкціонованого доступу або зміни даних.

Red Team:

Уразливий код, який дозволяє змінювати параметри:

File Related Issues

 Blue Team

Файлові уразливості можуть виникати через неправильну обробку або валідацію файлів, які завантажуються користувачами, або через уразливості у веб-серверах.

Red Team

Використання require() та include() в PHP:

Зловмисник може включити шкідливий файл, на приклад: http://attacker.site/malicious.php.

Слабка валідація файлів:

Зловмисник може використовувати ../ для навігації до небажаних директорій.

Інші статті по темі
OWASP Top 10
Читати далі
OWASP Top 10 частина 10: Server-Side Request Forgery
Розповідаемо про SSRF (помилки запитів з боку сервера), які дозволяють зловмисникам спонукати сервер робити небажані запити до внутрішніх або зовнішніх ресурсів.
108
OWASP Top 10
Читати далі
OWASP Top 10 частина 1: Broken Access Control
Broken Access Control — одна з найнебезпечніших вразливостей у переліку OWASP Top 10, яка дозволяє зловмисникам обійти механізми контролю доступу, отримати доступ до конфіденційних даних і виконувати несанкціоновані операції.
107
OWASP Top 10
Читати далі
OWASP Top 10 частина 2: Cryptographic Failures
Стаття розглядає основні види криптографічних вразливостей, їх вплив на безпеку систем, та дає практичні рекомендації для запобігання цих ризиків.
82
OWASP Top 10
Читати далі
OWASP Top 10 частина 6: Vulnerable and Outdated Components
Використання старих версій бібліотек, відсутність регулярних оновлень та перевірки сторонніх компонентів, уразливі та застарілі компоненти є значною загрозою для безпеки систем.
71
OWASP Top 10
Читати далі
OWASP Top 10 частина 7: Identification and Authentication Failures
Помилки ідентифікації та автентифікації є критичними вразливостями, що можуть спричинити несанкціонований доступ до системи через використання слабких паролів, ненадійні механізми входу та брутфорс-атаки.
90
OWASP Top 10
Читати далі
OWASP Top 10 частина 8: Software and Data Integrity Failuress
Ви дізнаєтесь про основні проблеми, пов'язані з помилками цілісності програмного забезпечення та даних, зокрема про ненадійне зберігання даних, вразливості програмного забезпечення та загрози від ненадійних джерел.
83
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.