1. Різновиди веб-систем та їх основні вразливості
Веб-додатки - це програми, написані скриптовою мовою (Perl, PHP та інші) або написані мовою високого рівня та відкомпільовані під відповідну ОС (С, С++ та інші), які працюють на стороні веб-сервера та призначені для створення інтерфейсу між користувачем та веб-сайтом.
Веб-системи - це потужні веб-додатки, які складаються з декількох (або чималої кількості) веб-програм, котрі мають систему розмежування прав доступу та призначенні для надання персоналізованого доступу до веб-ресурсу великій кількості користувачів.
1.1. Види веб-додатків та веб-систем
Веб-додатки та системи розподіляються на наступні види:
- Рахівники
- Рейтинги
- Форми відправки повідомлень
- Форми реєстрації
- Гостьові книги
- Форуми
- Форми завантаження (upload)
- Системи голосування
- Пошукові системи (по сайту чи по Інтернет)
- Движки сайту
- Content Managment System (CMS)
- Банерні движки та системи (локальні та глобальні)
- Веб-пошта
- Персоналізовані веб-системи різного спрямування, які надають комплекс послуг свої користувачам
1.2. Основні вразливості
До основних вразливостей вищенаведеної класифікації веб-додатків та веб-систем відносяться:
- Повна відсутність перевірки вхідних даних (у веб-формах будь-яких систем) або тільки часткова перевірка даних
- Некоректна обробка вхідних даних (нульовий байт, символи рівня директорій)
- Переповнення буферу
- Необережна робота програми з файлами, у випадку коли ім’я файлу передається програмі ззовні (GET або POST)
- Не врахування особливостей GET та POST запитів
- Некоректна робота з паролями (під час зберігання, передачі та обробки)
- Неправильні права доступу
- Неправильні права програм на сервері
- Не врахування особливостей роботи програм завантаження файлів на сервер
- Некоректна логіка роботи веб-програми, яка при деяких допустимих вхідних даних приводить до непередбачуваних наслідків
- Виведення інформації при помилках програми або доступу до Бази Даних, коли виводиться додаткова службова інформація, не призначена для сторонніх очей
- Некоректна робота за Базами Даних (паролі, виведення службової інформації, завищена кількість запитів до БД)
- Вразливості недостатньої обробки вхідних даних при роботі з БД (SQL-injections)
- Неоптимізований програмний код, котрий приводить до значних навантажень на веб-сервер (при своїй звичайній роботі та особливо у випадку збою при передачі некоректних вхідних даних)
- Вразливість веб-додатків та систем до DoS та DDoS атак.