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

21.10.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.

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

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

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.