avatar

Виды уязвимостей веб сайтов

Рейтинг 3.9 из 5. Голосов: 392
Den 6 лет назад
1
,

0


Ответы (1)

Den
avatar
Модератор За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений №1 по сообщениям
1026 Mar 10
6 лет назад
Виды уязвимостей веб сайтов1Подбор (Brute Force)Метод решения задачи путем перебора всех возможных вариантов. Традиционным методом борьбы с подбором пароля является, ограничение на количество ошибочных вводов пароля. Существует множество вариантов реализаций этой идеи, от самых простых - статическое ограничение, например не более трех ошибок, до сложно реализованных динамических, с увеличивающимся промежутком времени запрета между запросами.2. Недостаточная аутентификация (Insufficient Authentication).Эта уязвимость возникает, когда Web-сервер позволяет атакующему получать доступ к важной информации или функциям сервера без должной аутентификации. Интерфейсы администрирования через Web - яркий пример критичных систем.В зависимости от специфики приложения, подобные компоненты не должны быть доступны без должной аутентификации. Решение достаточно просто, при входе в администраторскую часть сайта, пользователь обязан провести дополнительную аутентификацию, не смотря на общую на сайте.3. Небезопасное восстановление паролей (Weak Password Recovery Validation).Эта уязвимость возникает, когда Web-сервер позволяет атакующему несанкционированно получать, модифицировать или восстанавливать пароли других пользователей.Наиболее эффективным является следующее решение: пользователь нажимает кнопку «Восстановить пароль» и попадает на страницу где у него спрашивают его логин в системе и почтовый ящик указанный при регистрации. Далее на почтовый ящик высылается уведомление о запросе восстановления пароля и уникальная псевдослучайно сгенерированная ссылка на страницу смены пароля. В таком случае пароль изменить может действительно только владелец почтового ящика на который зарегистрирован аккаунт.4. Предсказуемое значение идентификатора сессии (Credential/Session Prediction).Позволяет перехватывать сессии других пользователей. Подобные атаки выполняются путем предсказания или угадывания уникального идентификатора сессии пользователя. Средствами борьбы являются правильное конфигурирование web-сервера, и более надежный способ - создание собственного механизма сессий.5. Недостаточная авторизация (Insufficient Authorization).Возникает, когда Web-сервер позволяет атакующему получать доступ к важной информации или функциям, доступ к которым должен быть ограничен. То, что пользователь прошел аутентификацию не означает, что он должен получить доступ ко всем функциям и содержимому сервера. Методы борьбы - четкое разграничение прав пользователей и их возможностей.6. Отсутствие таймаута сессии (Insufficient Session Expiration).В случае если для идентификатора сессии или учетных данных не предусмотрен таймаут или его значение слишком велико, злоумышленник может воспользоваться старыми данными для авторизации. Метод борьбы прост, ограничение таймаута сессии.7. Подмена содержимого (Content Spoofing).Используя эту технику, злоумышленник заставляет пользователя поверить, что страницы сгенерированны Web-сервером, а не переданы из внешнего источника.Ошибка является «детской», т. е. Для защиты от данного вида атак нужно лишь отказать от использования фреймов и самое главное никогда не передавать в параметрах абсолютные или локальные пути к каким-бы то ни было файлам.8. Межсайтовое выполнение сценариев (Cross-site Scripting, XSS).Наличие уязвимости Cross-site Scripting позволяет атакующему передать серверу исполняемый код, который будет перенаправлен браузеру пользователя. На данный момент самый распространенный вид атаки, в связи с ростом популярности Web 2.0 интернет наполнился различными формами обратной связи, к сожалению многие из них не фильтруются должным образом, особую сложность представляют формы в которых разрешены некоторые теги или какие- конструкции форматирования, защитится же от XSS можно только путем тщательного анализа и фильтрации пришедших в запросах данных.9. Расщепление HTTP-запроса (HTTP Response Splitting).При использовании данной уязвимости злоумышленник посылает серверу специальным образом сформированный запрос, ответ на который интерпретируется целью атаки как два разных ответа. Второй ответ полностью контролируется злоумышленником, что дает ему возможность подделать ответ сервера.10. Переполнение буфера (Buffer Overflow).Эксплуатация переполнения буфера позволяет злоумышленнику изменить путь исполнения программы путем перезаписи данных в памяти системы. Переполнение буфера является наиболее распространенной причиной ошибок в программах. Тщательно проверять входные параметры CGI скриптов написанных на С++ или С, а также позаботится для защиты от атак подобного типа, это своевременное обновление программ серверов, будь-то Web-Сервер или СУБД.11. Атака на функции форматирования строк (Format String Attack).При использовании этих атак путь исполнения программы модифицируется методом перезаписи областей памяти с помощью функций форматирования символьных переменных. Уязвимость возникает, когда пользовательские данные применяются в качестве аргументов функций форматирования строк, таких как fprintf, printf, sprintf, setproctitle, syslog и т. д.Защита проста - не применять передаваемые данные в качестве параметров данных функций, а лучше вообще отказаться от использования этих функций в связи с их потенциальной опасностью.12. Выполнение команд ОС (OS Commanding).Атаки этого класса направлены на выполнение команд операционной системы на Web-сервере путем манипуляции входными данными.Решение данной проблемы - правильно настроенный сервер.13. Внедрение операторов SQL (SQL Injection).Эти атаки направлены на Web-серверы, создающие SQL запросы к серверам СУБД на основе данных, вводимых пользователем.Еще один из наиболее эксплуатируемых видов атак, средства борьбы - грамотная фильтрация получаемых данных.14. Внедрение серверных расширений (SSI Injection).Атаки данного класса позволяют злоумышленнику передать исполняемый код, который в дальнейшем будет выполнен на Web-сервере. Уязвимости, приводящие к возможности осуществления данных атак, обычно заключаются в отсутствии проверки данных, предоставленных пользователем, перед сохранением их в интерпретируемом сервером файле.Перед генерацией HTML страницы сервер может выполнять сценарии, например Server-site Includes (SSI). В некоторых ситуациях исходный код страниц генерируется на основе данных, предоставленных пользователем.Если атакующий передает серверу операторы SSI, он может получить возможность выполнения команд операционной системы или включить в нее запрещенное содержимое при следующем отображении. Противодействие такое же как и при SQL инъекции.15. Индексирование директорий (Directory Indexing).Предоставление списка файлов в директории представляет собой нормальное поведение Web-сервера, если страница, отображаемая по умолчанию (index.html/home.html/default.htm) отсутствует.Решение достаточно просто - все директории должны содержать файл страницы по умолчанию, хотя бы в виде заглушки, либо для директории должны быть установлены надлежащие права доступа.16. Идентификация приложений (Web Server/Application Fingerprinting).Определение версий приложений используется злоумышленником для получения информации об используемых сервером и клиентом операционных системах, Web-серверах и браузерах. Также эта атака может быть направлена на другие компоненты Web-приложения, например, службу каталога или сервер баз данных или используемые технологии программирования. Что бы защитится от данной ошибки - необходимо минимизировать, а лучше полностью исключить системную информацию выдаваемую пользователю, однако опытный атакующий может провести анализ и выяснить имена используемых программ по некоторым специфических признакам этих программ.17. Утечка информации (Information Leakage).Эти уязвимости возникают в ситуациях, когда сервер публикует важную информацию, например комментарии разработчиков или сообщения об ошибках, которая может быть использована для компрометации системы. Часто разработчики оставляют комментарии в HTML страницах и коде сценариев для облегчения поиска ошибок и поддержки приложения. Эта информация может варьироваться от простых описаний деталей функционирования программы до, в худших случаях, имен пользователей и паролей, используемых при отладке.18. Обратный путь в директориях (Path Traversal).Данная техника атак направлена на получения доступа к файлам, директориям и ком***ам, находящимся вне основной директории Web-сервера.Средством противодействия является тщательная настройка веб-сервера, многие же сервера предоставляющие услуги хостинга пренебрегают этим. Из личного опыта можно отметить сервера компании AGAVA, с помощью специального PHP-скрипта, загруженного в собственную папку можно пройти по всему дереву папок сервера.19. Предсказуемое расположение ресурсов (Predictable Resource Location).Позволяет злоумышленнику получить доступ к скрытым данным или функциональным возможностям. Путем подбора злоумышленник может получить доступ к содержимому, не предназначенному для публичного просмотра.20. Отказ в обслуживании (Denial of Service).Данный класс атак направлен на нарушение доступности Web-сервера. Очень распространенный вид атак, средствами защиты является, оптимизация кода, и, что более действенно при наличии у злоумышленника неких мощностей, ввод ограничений на количество посылаемых данных в единицу времени.21. Недостаточное противодействие автоматизации (Insufficient Anti-automation).Недостаточное противодействие автоматизации возникает, когда сервер позволяет автоматически выполнять операции, которые должны проводиться вручную. Стандартным средство борьбы с роботами сейчас является CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart ) - полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей.22. Недостаточная проверка процесса (Insufficient Process Validation).Уязвимости этого класса возникают, когда сервер не достаточно проверяет23.Directory traversal attackA directory traversal (or path traversal) consists in exploiting insufficient security validation / sanitization of user-supplied input file names, so that characters representing "traverse to parent directory" are passed through to the file APIs.The goal of this attack is to order an application to access a computer file that is not intended to be accessible. This attack exploits a lack of security (the software is acting exactly as it is supposed to) as opposed to exploiting a bug in the code.Directory traversal is also known as the ../ (dot dot slash) attack, directory climbing, and backtracking. Some forms of this attack are also canonicalization attacks.ExampleA typical example of vulnerable application in PHP code is:
CODE:
CODE:
root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh daemon:*:1:1::/tmp: phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh
The repeated ../ characters after /home/users/phpguru/templates/ has caused include() to traverse to the root directory, and then include the Unix password file /etc/passwd.Unix /etc/passwd is a common file used to demonstrate directory traversal, as it is often used by crackers to try cracking the passwords.However, in more recent Unix systems, the passwd file does not contain the hashed passwords. They are, instead, located in the shadow file which cannot be read by unprivileged users on the machine. It is however, still useful for account enumeration on the machine, as it still displays the user accounts on the system. содержание
отправить
+ 0


Чтобы оставить комментарий войдите или зарегистрируйтесь