Ін’єкції – це вразливості, що дозволяють зловмисникам вносити шкідливий код або дані в додаток, що призводить до небажаних або небезпечних дій.
Опис: Вразливість, яка дозволяє зловмисникам вставляти SQL-код у запити до бази даних.
Приклад: Веб-додаток, що використовує введення користувача для формування SQL-запитів без належної перевірки, що дозволяє зловмиснику виконувати довільні SQL-запити.
Опис: Вразливість, при якій зловмисник може вносити команди операційної системи.
Приклад: Додаток, що виконує системні команди на основі введення користувача, дозволяючи зловмиснику виконувати небажані команди.
Опис: Вразливість, при якій зловмисник може вставляти шкідливий JavaScript-код в веб-сторінки, які потім виконуються в браузері інших користувачів.
Приклад: Додаток, що відображає дані, введені користувачем, без належного очищення, що дозволяє зловмиснику вставляти шкідливий код.
XSS (Cross-Site Scripting) – це уразливість, що дозволяє зловмиснику вставляти шкідливий скрипт у вебсторінку, який виконується у браузері жертви. Це може призвести до крадіжки сесійних кукі-файлів, зміни контенту сторінки, або перенаправлення користувача на шкідливий сайт.
Зловмисник може вставити JavaScript код, який виконує небажані дії, такі як крадіжка кукі-файлів або перенаправлення користувача.
Для запобігання XSS атак, забезпечте санітизацію вводу та виводу:
Санітизація вводу: Використовуйте htmlspecialchars() для очищення даних, отриманих від користувача.
Санітизація виводу: Використовуйте функції, які автоматично екранізують вивід, такі як htmlspecialchars() в PHP або автоекранування у шаблонних двигунах Twig або Blade.
HTTP Only флаг: Використовуйте флаг HTTP Only для кукі-файлів, щоб заборонити доступ до них через JavaScript.
Крадіжка кукі-файлів:
Підробка контенту сторінки:
SQL Injection – це уразливість, при якій зловмисник може вставити шкідливий SQL код у запити до бази даних, що дозволяє отримати доступ до даних, змінити їх або видалити.
Небезпечний SQL-запит:
Запобігання SQL Injection:
Використовуйте підготовлені запити (prepared statements):
Зловмисник може вставити небезпечний код у $someString:
HTTP Parameter Injection – це уразливість, яка виникає, коли зловмисник модифікує параметри HTTP запитів для отримання несанкціонованого доступу або зміни даних.
Уразливий код, який дозволяє змінювати параметри:
Файлові уразливості можуть виникати через неправильну обробку або валідацію файлів, які завантажуються користувачами, або через уразливості у веб-серверах.
Використання require() та include() в PHP:
Зловмисник може включити шкідливий файл, на приклад: http://attacker.site/malicious.php.
Слабка валідація файлів:
Зловмисник може використовувати ../ для навігації до небажаних директорій.