3. Типовые недостатки веб-приложений

3. Типовые недостатки веб-приложений

3.1. Размещение компонентов веб-приложения

3.1.1. Размещение в единой демилитаризованной зоне веб-серверов и иных составных частей нескольких АБС.

3.1.2. Хранение данных, используемых веб-сервером, а также журналов регистрации событий на системном разделе жесткого диска.

3.1.3. Совместное расположение журналов регистрации событий и системных файлов.

3.1.4. Наличие на веб-сервере тестовых приложений и сценариев, а также программных компонентов, не входящих в состав АБС.

3.2. Управление сессиями

3.2.1. Использование предсказуемых идентификаторов сессий.

3.2.2. Возможность повторного использования идентификатора сессии (в том числе использование одинаковых идентификаторов в нескольких сессиях одного пользователя, неизменность идентификатора сессии после повторной аутентификации пользователя).

3.2.3. Возможность использования идентификатора сессии после ее завершения.

3.2.4. Раскрытие идентификаторов сессий, в том числе передача идентификаторов в незашифрованном виде, а также включение идентификаторов в записи журналов регистрации событий, в сообщения об ошибках.

3.3. Управление доступом

3.3.1. Отсутствие контроля доступа на уровне идентификаторов ресурсов (URI), в том числе возможность несанкционированного доступа к отдельным разделам и объектам веб-сайта путем указания их URI в веб-браузере пользователя.

3.3.2. Возможность просмотра содержимого каталогов веб-сайта в случаях, когда такой просмотр не является необходимым.

3.3.3. Использование при обработке данных в формате XML внешних сущностей (External Entity), внешних параметров сущностей (External Parameter Entity) и внешних описаний типа документа (External Doctype).

3.4. Защита данных

3.4.1. Отсутствие в параметрах веб-формы, предназначенных для ввода конфиденциальной информации, директив, запрещающих кеширование данных.

3.4.2. Передача конфиденциальной и аутентификационной информации в сообщениях HTTP-GET.

3.4.3. Отсутствие атрибута HTTPOnly у параметров cookie, значения которых не должны быть доступны сценариям, выполняемым веб-браузером.

3.4.4. Отсутствие атрибута secure у параметров cookie, содержащих чувствительную информацию.

3.5. Обработка ввода и вывода

3.5.1. Отсутствие проверки корректности вводимых пользователем данных или выполнение такой проверки только сценариями, исполняемыми веб-браузером.

3.5.2. Отсутствие директивы, определяющей используемую кодировку в заголовках сообщений HTTP, а также использование разных кодировок для разных источников входных данных.

3.5.3. Отказ от использования встроенных средств проверки корректности входных параметров, реализованных в стандартных программных библиотеках.

3.5.4. Отсутствие или отключение средств предотвращения атак, связанных с использованием типовых уязвимостей веб-приложений.

3.5.5. Отсутствие средств контроля корректности входных данных, предназначенных для последующей обработки программными модулями, допускающими интерпретацию команд (SQL, XPath, LINQ, LDAP, командная оболочка ОС и т.п.).

3.5.6. Отсутствие преобразования специальных символов, предусмотренного спецификациями языка HTML (например, замены символов '<' и '>' специальными символами языка HTML).