мар
21
Уязвимости веб-сайта
В случае понятия безопасности в web, уязвимость (англ. vulnerability) как термин применяется для того, чтобы обозначить недостатки как в коде веб-сайта, так и программного обеспечения веб-сервера, воспользовавшись которыми злоумышленник может воздействовать на систему, вызывая её некорректную работу или вообще разрушить целостность как таковую.
Сама уязвимость может быть, как «встроенная»: ошибки при программировании сайта, просчеты при проектировании, выбранные пароли ненадежны, так и «приобретенная»: результат деятельности всевозможных инъекций, как SQL, так и скриптовых или вовсе брутовая атака на сайт и защита сайта просто не выдержала (если конечно предусмотрена защита сайта от взлома).
Распространенная практика, когда уязвимость, нацеленная на интернет-приложение, пытается его просто «обманным» путем вынудить произвести действие, не входящее в нормальный набор прав данного приложения.
Это достигается внедрением в интернет-программу любым доступным способом сторонних данных или кода, которые будут восприниматься приложением как свои собственные.
Подавляющее большинство случаев достижения цели – это уязвимости различных форм, через которые пользователь должен вводить данные и они не контролируются должным образом. Что в свою очередь провоцирует проникновение вирусного кода (всякие SQL-injection, XSS).
Хотя эксплуатации подвергаются и более «изощренные» проблемы, например, использование эффекта «переполнения буфера» возникающего в результате его заполнения без проверки на соответствие границам.
Совершенствуются методы защиты и контроля уязвимостей, но и взломщики не стоят на месте – какие уязвимости могут быть известны чисто «теоретически», а кике-то уже успешно используются и имеют готовые эксплойты.