Атаки брутфорса больше не являются угрозой благодаря политике паролей, ограниченным попыткам входа в систему и капчам.
👨⚕️️ Атаки веб-приложений: что это такое и как оставаться защищенным👨
Но киберпреступники любят открывать новые технологии и использовать их для выполнения новых типов атак.
Давным-давно они обнаружили, что текстовые поля в приложениях или на веб-страницах можно использовать, вводя в них какой-либо текст, который заставит приложение делать то, что оно не должно было делать.
Таким образом, на сцену вышли так называемые инъекционные атаки.
Атаки с помощью инъекций могут использоваться не только для входа в приложение без знания имени пользователя и пароля, но также для раскрытия частной, конфиденциальной или даже для захвата всего сервера.
Вот почему эти атаки представляют угрозу не только для веб-приложений, но и для пользователей, чьи данные находятся в этих приложениях, а в худшем случае – для других подключенных приложений и служб.
Инъекция кода
Внедрение кода является одним из наиболее распространенных типов атак.
Если злоумышленники знают язык программирования, структуру, базу данных или операционную систему, используемую веб-приложением, они могут ввести код через поля ввода текста, чтобы заставить веб-сервер делать то, что они скажут.
Эти типы инъекционных атак возможны в приложениях, в которых отсутствует проверка входных данных.
Если текстовое поле ввода позволяет пользователям вводить все, что они захотят, то приложение потенциально может быть скомпрометировано.
Чтобы предотвратить атаки такого рода, приложение должно ограничивать входные данные от пользователей.
Например, необходимо ограничить объем ожидаемых данных, проверять формат данных и ограничить набор разрешенных символов.
Уязвимости внедрения кода легко найти, просто протестировав ввод текста в веб-приложения с различным типом контента.
Обнаруженные уязвимости трудно использовать.
Но если злоумышленнику удастся использовать одну из этих уязвимостей, это может привести к потере конфиденциальности, целостности, доступности или функциональности приложения.
SQL-инъекция
Инъекция команд
Внедренные системные команды выполняются операционной системой хоста с привилегиями приложения, которые могут предоставлять доступ к содержимому произвольных файлов, находящихся на сервере, для отображения структуры каталогов сервера, для изменения паролей пользователей и т.д.
Эти атаки могут быть предотвращены системным администратором путем ограничения уровня доступа к системе веб-приложений, работающих на сервере.
Межсайтовый скриптинг
Всякий раз, когда приложение позволяет осуществлять ввод пользователю в вывод, который оно генерирует, не проверяя и не кодируя его, оно дает злоумышленнику возможность отправлять вредоносный код другому конечному пользователю.
Атаки с использованием межсайтовых сценариев (XSS) используют эти возможности для внедрения вредоносных сценариев в надежные веб-сайты, которые в конечном итоге отправляются другим пользователям приложения, которые становятся жертвами злоумышленника.
Браузер жертвы выполняет вредоносный скрипт, не подозревая, что ему нельзя доверять.
- 👨⚕️️ Что такое XSS (межсайтовый скриптинг)👨⚕️ — Детальное понимание типов XSS
- Как предотвратить межсайтовый скриптинг XSS на основе DOM
Поэтому браузер разрешает ему получать доступ к токенам сеансов, файлам cookie или конфиденциальной информации, хранящейся в браузере.
При правильном программировании сценарии могут даже переписать содержимое файла HTML.
Атаки XSS обычно можно разделить на две категории: хранимые и отраженные.
В хранимых XSS-атаках вредоносный скрипт постоянно находится на целевом сервере, в пуле сообщений, в базе данных, в журнале посещений и т. д.
Жертва получает его, когда браузер запрашивает сохраненную информацию.
В отраженных атаках XSS вредоносный сценарий отражается в ответе, который включает входные данные, отправленные на сервер.
Это может быть, например, сообщение об ошибке или результат поиска.
XPath инъекция
Этот тип атаки возможен в том случае, когда веб-приложение использует информацию, предоставленную пользователем, для создания запроса XPath для данных XML.
Эта атака работает аналогично SQL-инъекции: злоумышленники отправляют искаженную информацию в приложение, чтобы узнать, как структурированы данные XML, а затем снова атакуют, чтобы получить доступ к этим данным.
XPath – это стандартный язык, с помощью которого, подобно SQL, вы можете указать атрибуты, которые хотите найти.
Чтобы выполнить запрос к данным XML, веб-приложения используют пользовательский ввод для установки шаблона, которому должны соответствовать данные.
Посылая некорректный ввод, шаблон может превратиться в операцию, которую злоумышленник сможет применить по отношению к данным.
Внедрение команд почты
Чтобы использовать SMTP-сервер, злоумышленникам нужна действующая учетная запись электронной почты для отправки сообщений с введенными командами.
Если сервер уязвим, он будет отвечать на запросы злоумышленников, позволяя им, например, переопределять ограничения сервера и использовать свои службы для рассылки спама.
CRLF инъекция
Вставка символов и перевода строки – комбинации, известной как CRLF, – в поля ввода веб-формы представляет собой метод атаки, называемый инъекцией CRLF.
Эти невидимые символы указывают на конец строки или конец команды во многих традиционных интернет-протоколах, таких как HTTP, MIME или NNTP.
Например, вставка CRLF в HTTP-запрос с последующим определенным HTML-кодом может отправлять пользовательские веб-страницы посетителям веб-сайта.
Эта атака может быть выполнена на уязвимых веб-приложениях, которые не применяют надлежащую фильтрацию к пользовательскому вводу.
Эта уязвимость открывает двери для других типов атак с использованием инъекций, таких как XSS и внедрение кода.
Внедрение заголовков хоста
На серверах, на которых размещено множество веб-сайтов или веб-приложений, заголовок узла становится необходимым для определения того, какой из резидентных веб-сайтов или веб-приложений, каждое из которых известно как виртуальный хост, должен обрабатывать входящий запрос.
Значение заголовка сообщает серверу, на какой виртуальный хост отправлять запрос.
Когда сервер получает неверный заголовок узла, он обычно передает его первому в списке виртуальному узлу.
Это представляет собой уязвимость, которую злоумышленники могут использовать для отправки произвольных заголовков узлов первому виртуальному узлу на сервере.
Инъекция LDAP
LDAP – это протокол, разработанный для облегчения поиска ресурсов (устройств, файлов, пользователей) в сети.
Он очень полезен для интрасетей, и когда он используется как часть системы единого входа, он может использоваться для хранения имен пользователей и паролей.
Запросы LDAP включают использование специальных управляющих символов, которые влияют на его управление
Злоумышленники могут потенциально изменить предполагаемое поведение запроса LDAP, если они могут вставить в него управляющие символы.