Статья Уязвимости веб-приложений

  • Автор темы Bratec
  • Дата начала
  • Ответы 0
  • Просмотры 2K

Bratec

TImeLord
Команда форума
ГЛАВНЫЙ МОДЕРАТОР
Модератор

Bratec

TImeLord
Команда форума
ГЛАВНЫЙ МОДЕРАТОР
Модератор

Перечислим некоторые из наиболее часто встречающихся проблем:

  • CrossSite Scripting
  • SQL- injection
  • PHP- injection
  • HTTP Response Splitting
  • HTML code injection
  • File Inclusion
  • Directory traversal и некоторые другие.
Перечисленные типы уязвимостей могут встречаться во всех веб-приложениях, независимо от того, разработаны они одним специалистом или известной компанией. Только системное проектирование, продумывание вопросов безопасности на всех этапах разработки и детальное тестирование готового приложения могут позволить исключить появления уязвимостей.
Межсайтовый скриптинг (XSS)
Межсайтовый скриптинг (Cross Site Scripting или XSS) - это возможность вставки ("инъекции") HTML-кода в уязвимую страницу. Инъекция кода осуществляется через все доступные способы ввода информации. Любое веб-приложение, которое выводит какую-либо информацию, полученную от пользователя, может быть подвержено атакам этого класса. Возможность успешного проведения такой атаки возникает в результате отсутствия фильтрации значений переменных, полученных от пользователя, на наличие скриптов (JavaScript, VBScript) или опасных HTML-тегов. Данный вид атаки может использоваться злоумышленником для перехвата значений cookie различных пользователей (в том числе и администраторов), пользовательских сессий, а так же в некоторых случаях позволяет обойти механизм аутентификации или если поддерживается SSI (Server Side Include), то выполнить произвольную команду на стороне сервера.
HTTP Response Splitting
Ошибки HTTP Response Splitting свойственны большинству веб-приложений и являются следствием невозможности правильно обработать пользовательский ввод. Удаленный атакующий может послать специальный HTTP-запрос, который заставит веб-сервер сформировать определенный выходной поток, который примется жертвой за целых два HTTP-ответа (вместо правильного одного). В данном случае только первый HTTP-ответ, который является поддельным, будет обрабатываться жертвой. HTTP Response Splitting позволяет проводить целый ряд атак, таких как отравление веб кэша, подмену страниц, "cross-user defacement", кража пользовательской информации и межсайтовый скриптинг.
SQL-инъекция
"SQL-инъекция" - способ нападения на базу данных в обход межсетевой защиты. В этом методе, параметры, передаваемые к базе данных через веб-приложения, изменяются таким образом, чтобы изменить выполняемый SQL-запрос. Например, добавляя различные символы к параметру, можно выполнить дополнительный запрос совместно с первым.
Нападение может использоваться для следующих целей:
1. Получить доступ к данным, которые обычно недоступны, или получить данные конфигурации системы, которые могут использоваться для дальнейших нападений. Например, измененный запрос может возвратить хешированные пароли пользователей, которые впоследствии могут быть расшифрованы методом перебора.
2. Получить доступ к компьютерам организации через компьютер, на котором находится база данных. Это можно реализовать, используя процедуры базы данных и расширения 3GL языка, которые позволяют, например, запускать различные приложения.
Code injection
Если веб-приложение неправильно обрабатывает динамически подключаемые файлы или пути к файлам, то появляется возможность выполнить произвольный код (PHP, ASP и другие) на стороне сервера или получить содержимое произвольного файла. Успешно проведенная атака, позволяет злоумышленнику обойти механизм аутентификации, выполнять команды на сервере, читать содержимое файлов, записывать произвольные данные в файл и т.д.
 
Сверху Снизу