Здравия всем, дамы и господа, статья сия посвящена ресурсу bugbounty.by, который проводил тестирование нашего сайта на безопасность. По итогу тестирования был предоставлен отчёт, который, скажем прямо, весьма не плох. Для более глубокого тестирования мы предоставили пентестерам учётную запись с тем же уровнем доступа, что планируется выдавать новоприбывшему создателю статей.

Были найдены 2 критических уязвимости и 2 момента, на которые стоит обратить внимание. Для большего понимания того, как выглядит отчёт, вставлю часть отчёта про одну из уязвимостей.

 

«Обнаружена возможность выполнения «reflected XSS»-атаки на ресурсе:
Позволяет атакующему внедрить клиентский сценарий в web-страницы, просматриваемые другими пользователями. который позволяет атакующему внедрить клиентский сценарий (js-код) в web-страницы, просматриваемые другими пользователями. Уязвимость межсайтового скриптинга может использоваться атакующим для обхода таких механизмов безопасности как политика единства происхождения.

Содержимое вредоносного js-код может быть внедрено в тело пересылаемого сообщения с использованием методов социальной инженерии под видом части содержимого письма.

Если пользователь кликнет по статье с вредоносной нагрузкой, то код выполнится, и cookies атакуемого пользователя отправятся по адресу, указанным злоумышленником и окажутся перехваченными.

Атакующий пользователь может подменить свои cookies на перехваченные и получает доступ к аккаунту атакуемого пользователя.

В дальнейшем злоумышленник может получить несанкционированный доступ к аккаунту пользователя, может изменять информацию, в том числе использовать аккаунт атакуемого пользователя для атак на других пользователей.

Рекомендации по устранению: для обработки данными от пользователей использовать фильтры, которые заменять все опасные спец символы безопасными, в том числе с использованием штатных PHP-функций. Также возможно использовать защиту от XSS на стороне сервера, например, прописав в .htaccess такой код (пример):

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

RewriteRule ^(.*)$ index.php [F,L]»

 

Как можно заметить, уязвимость описана подробно, дано описание того, чем это грозит и рекомендации по исправлению. Прочитав отчёт я понял, что он хорошо написан, но не более, а вот человек, создавший сайт, который подвергся пентесту, понял гораздо больше и вот что об этом пишет:

 

«Что я могу сказать по поводу отчета:

Написан максимально детально, прикреплены скриншоты, демонстрирующие эти уязвимости, указаны не только подробности найденных уязвимостей, но и чем эта уязвимость может быть опасна и возможные способы её устранения (Что в свою очередь очень помогает).

Касаемо самого текста отчета то можно отметить лаконичность текста и отсутствие "воды" в нём. Текст удобно читать, а все написанное легко воспринимается сразу. Имеется небольшое количество грамматических и пунктуационных ошибок, но это уже придирки.

В остальном, как с точки зрения самой информации, так и со стороны её подачи никаких недостатков нет, всё на высшем уровне.»

 

По итогу могу сказать, что эти достопочтенные господа умеют работать, от лица всей команды сайта itsnews.tech могу рекомендовать их услуги. А за сим я откланяюсь, всем спасибо за внимание.

Комментарии