В данном материале речь пойдет о процессе тестирования безопасности на основе примера одного из видов системной уязвимости, а именно, так называемых XSS-инъекций.
Базовые понятия
Тестирование безопасности – это процесс проверки того, насколько можно определить, что данное ПО обладает качественной защитой от всевозможных хакерских атак.
Цель такой проверки – найти все потенциально возможные уязвимости в продукте, верифицировать уровень защиты информации и системы на основе осознанного выполнения определенного количества атак злоумышленников.
Тестирование на безопасность позволяет быстро проверить то, как именно встроены механизмы защиты в систему и каким образом ПО будет реагировать на реализацию подобного проникновения.
Но, к сожалению, даже если все доступные тесты будут выполнены, тестировщик не может быть полностью уверен в том, что разрабатываемый продукт действительно содержит полноценную защиту от хакерских атак. С уверенностью он может лишь утверждать, что сумма несанкционированных атак, воровство информации и потерь важной информации существенным образом снизится.
XSS
XSS — самый распространенный из типов атаки на определенные веб-системы. На сегодняшний день это самый популярный вид системной уязвимости.
При подобной атаке выполняется внедрение вредоносного кода (так называемого скрипта, который в будущем будет взаимодействовать с веб-сервером хакера) на определенную страницу веб-продукта. Когда пользователь перейдет на такую страницу, код атаки будет считаться выполненным.
Многие из нас уже встречали подобные уязвимости на определенных сайтах. Это могли быть появляющиеся при открытии сайта всплывающие окна с определенной информацией, которые вообще не касаются тематики запрашиваемого сайта. Другими словами, это реклама, которая существенным образом портит текущий авторитет веб-сайта.
К XSS-атакам уязвимы и приложения, которые не могут проверить и преобразовывать информацию перед тем, как добавить ее на страницу. Дополнительно страница может обновляться через API веб-браузера на основании информации, которая предоставлена пользователем и содержит HTML или JavaScript код.
На основе использования XSS легко можно выполнять разнообразные сценарии внутри веб-браузера для целей перехвата пользовательской сессии, процесса подмены веб-страницы или выполнения перенаправления пользователей на группу вредоносных сайтов. Программист может предоставить пользователю возможность внесения вредоносных данных на страницу, что дополнительно может послужить причиной уязвимости веб-страниц к потенциальным атакам.
Виды XSS-атак
Непостоянные или отраженные
Наиболее популярный тип хакерских атак на веб-сайтах. Подобную атаку проводят путем добавления скрипта к URL адресу сайта. Так как информация проходит без проверки, скрипт (сценарий) постоянно будет показываться перед глазами пользователя.
Каким образом это все работает?
На сайте есть текстовое поле с информацией, предлагающей вам проверить текущее состояние вашего банковского счета с непонятным URL для перехода.Хакер смог определить, что на конкретном сайте присутствует определенная уязвимость. Подобный показатель может отображать специальное текстовое сообщение после добавления некоторого сценария к URL сайта, который, собственно, и вызывает данную уязвимость. Сразу после этого, он отсылает неопытному пользователю ссылку через почтовую рассылку или определенный мессенджер.
Вред состоит в том, что определенный GET-параметр URL не может фильтроваться ни во время передачи сценария, ни перед его применением на выходной точке данных. Это самая популярная уязвимость, на основе которой выполняется множество известных на сегодняшний день атак.
Постоянные или хранимые
Данный тип атак очень серьезен по своей структуре. Он означает, что хакер не просто вручную добавляет сценарий в URL адрес, но и сохраняет код на сервере.
В этой ситуации, программный код будет выполняться в браузере всегда, когда пользователь переходит на веб-страницу. Наиболее распространенный пример – форумы, так как на них свободно можно оставлять множество комментариев в простом HTML формате.
Как это происходит?
На сайте есть ссылка на онлайн лотерею, в который уже известны победители и вам предлагают попытать удачу насчет главного приза.Хакер понял, что на определенном сайте есть некая уязвимость, которая может отображать необходимое сообщение постоянно, когда пользователи будут переходить на страницу чата. Подобная уязвимость будет работать до тех пор, пока ее не заметит администратор сайта.
К слову, все XSS-уязвимости могут возникать при выполнении некорректной фильтрации, при сохранении входной информации в БД на определенном сервере или при процессе записи данных в определенные файлы. После эти данные показываются пользователю с целью обмануть его.
Выводы
Резюмируя все вышеизложенное, можно с уверенностью говорить о том, что XSS – это один из типов современной уязвимости веб-продуктов, с помощью которой хакер легко может внедрить свои опасные сценарии на страницы, которые в будущем будут рассматриваться пользователями Интернета.
Чтобы максимально обезопасить свои веб-ресурсы, нужно неуклонно следовать базовым принципам защиты ресурса и оценивать систему на наличие недостатков на текущий момент в ее системной безопасности с позиции рядового хакера.
Оставить комментарий