Ін’єкція SSI
SSI-ін ‘єкція (Server Side Includes Injection) - це тип уразливості, яка виникає, коли зловмисник може впровадити шкідливі директиви Server Side Includes (SSI) у веб-додаток. SSI - це мова сценаріїв на стороні сервера, яка використовується для динамічного включення вмісту на веб-сторінки. Ці директиви зазвичай обробляються веб-сервером перед відправкою сторінки користувачеві, що дозволяє включати файли, змінні середовища або інший динамічний вміст. Якщо SSI реалізовано неналежним чином або недостатньо захищено, зловмисники можуть використовувати цю функцію для виконання довільних команд на сервері, читання конфіденційних файлів або зміни поведінки веб-додатку.
Типи SSI-ін’єкційних атак:
- Виконання команди:
- Зловмисник може ввести SSI-команди, які дозволяють йому виконувати довільні системні команди на сервері. Це може призвести до повної компрометації системи, витоку даних або відмови в обслуговуванні.
- Приклад:
<!--#exec cmd="ls" -->для переліку файлів у каталозі.
- Розкриття файлів:
- Якщо програма дозволяє включати файли на основі даних, введених користувачем, зловмисник може ввести SSI-директиви, які змусять сервер включати конфіденційні файли (наприклад,
/etc/passwdв системах Linux або конфігураційні файли, що містять облікові дані). - Приклад:
<!--#include virtual="/etc/passwd" -->для розкриття інформації про користувача системи.
- Якщо програма дозволяє включати файли на основі даних, введених користувачем, зловмисник може ввести SSI-директиви, які змусять сервер включати конфіденційні файли (наприклад,
- В обхід системи безпеки:
- Зловмисники можуть обійти механізми безпеки, такі як перевірка введення, використовуючи SSI-ін’єкції для запуску команд системного рівня, які можуть бути недоступні через звичайні поля введення користувача.
- Приклад: Виконання команд, які маніпулюють конфігураціями сервера або підвищують привілеї.
- Міжсайтовий скриптинг (XSS) через SSI-ін’єкції:
- Якщо програма не зможе належним чином очистити впроваджений вміст, зловмисник може впровадити шкідливий JavaScript на сторінку, що призведе до міжсайтової скриптової атаки (XSS-атаки). Це може призвести до виконання шкідливих сценаріїв у контексті браузера користувача.
- Приклад: Ін’єкція
<script>alert('XSS')</script>через SSI.
SSI-ін’єкції в тестуванні програмного забезпечення:
В контексті тестування програмного забезпечення, SSI-ін’єкція вважається критично важливою частиною тестування безпеки. Під час тестування безпеки тестувальники на проникнення та аналітики безпеки намагаються ввести зловмисний SSI-код у поля введення і спостерігають, чи виконує програма введені команди. Тестування повинно включати сценарії, в яких SSI реалізовано неналежним чином, наприклад, коли користувацьке введення використовується у файлах, що включаються, або виконання команд без належної санітарної обробки. Інструменти тестування безпеки можуть допомогти автоматизувати виявлення вразливостей SSI-ін’єкцій, але ручне тестування також необхідне для ретельної оцінки поведінки програми та виявлення більш тонких векторів ін’єкцій.





