Bug Bounty, Bug Hunting, CSRF, CSRF - Cross Site Request Forgery

#41 Bug Bounty. Cross Site Request Forgery (CSRF).

Здравствуйте, дорогие друзья.

Введение

Cross Site Request Forgery (CSRF) — это атака на пользователя приложения, заставляющая браузер отправлять запросы от имени злоумышленника. Этот вид атак может использоваться для изменения пароля пользователя и электронной почты, например страницы или видео, отправки денег злоумышленнику и все, что Вы можете сделать с помощью POST-запроса.

CSRF

Чтобы использовать CSRF, пользователь должен войти в целевую сеть, и посетить вредоносный сайт, в том же браузере. Используя JavaScript, возможна отправка запросов на сайты от имени пользователей через их куки. Итак, если пользователь посещает сайт, контролируемый злоумышленниками, мы можем использовать JavaScript для отправки POST-запроса, с использованием файлов cookie жертвы.

CSRF workflow

Это позволит злоумышленнику отправить аутентифицированный запрос через браузер жертвы. Предположим, приложение позволяет пользователям изменять свою электронную почту, отправляя форму. Если приложение не защищает от CSRF-атак, злоумышленники могут заставить пользователей изменить свой адрес электронной почты на адрес, контролируемый хакерами. После этого злоумышленник может выполнить сброс пароля, чтобы изменить пароль пользователя и взять на себя его учетную запись.

Request vulnerable to CSRF

Как Вы можете видеть в приведенном выше запросе, нет ни токена CSRF, ни аутентификации. Приложению не удается проверить заголовок ссылки. Мы должны быть в состоянии выполнить атаку CSRF, но чтобы убедиться в этом, Вы должны создать proof of concept (POC) страницу.

<html>

<form id=»exploit» action=»https://acc71f681f28327e80e13486006a005a.web-security-

academy.net/email/change-email» method=»post»>

<input name=»email» value=»attack@test.com»>

<input type=’submit’ value=’submit’>

</form>

<script>

document.getElementById(«exploit»).submit()

</script>

</html>

Приведенный выше код можно использовать в качестве POC, для доказательства возможности CSRF. Это также хорошая идея, чтобы убедиться, что что-то действительно можно использовать, прежде чем отправлять отчет.

Вывод

CSRF — действительно старая уязвимость, но я все еще постоянно сталкиваюсь с ней. Если Вы тестируете приложение с учетными записями пользователей, то Вы всегда должны проверять CSRF. Если приложение не защищает от нее, Вы можете использовать уязвимость для изменения адреса электронной почты пользователей, паролей и все, что Вы хотите.

На этом все. Всем хорошего дня!

#1 Bug Bounty. Подготовка к Bug Bounty. Введение.

#2 Bug Bounty. Организация. Введение.

#3 Bug Bounty. Заметки. Введение.

#4 Bug Bounty. Подготовка к охоте. База знаний.

#5 Bug Bounty. RSS-каналы.

#6 Bug Bounty 101. Выбор платформы.

#7 Bug Bounty. Выбор правильной цели.

#8 Bug Bounty. Методология — рабочие процессы.

#9 Bug Bounty. Рабочий процесс GitHub.

#10 Bug Bounty. Гугл Дорки Рабочий процесс.

#11 Bug Bounty. Эксплойты — Рабочий процесс.

#12 Bug Bounty. CMS — Рабочий процесс.

#13 Bug Bounty. Брутфорс — Рабочий процесс.

#14 Bug Bounty. Раздел 2. Разведка.

#15 Bug Bounty. Reverse Whois.

#16 Bug Bounty. Гугл Дорки.

#17 Bug Bounty. Разведка — Фаза 2. Словарь.

#18 Bug Bounty. Перечисление поддоменов.

#19 Bug Bounty. Поисковый движок.

#20 Bug Bounty. Перестановка поддоменов.

#21 Bug Bounty. Разрешения DNS.

#22 Bug Bounty. Wayback Machine crawl data.

#23 Bug Bounty. Проверка файлов JavaScript.

#24 Bug Bounty. Гугл Дорки.

#25 Bug Bounty. Часть 8: Фаза fingerprint.

#26 Bug Bounty. Censys. Nmap. Masscan.

#27 Bug Bounty. Веб-приложение.

#28 Bug Bounty. Этап эксплуатации.

#29 Bug Bounty. GitHub.

#30 Bug Bounty. Неправильно настроенные сегменты облачного хранилища.

#31 Bug Bounty. Облачное хранилище Google.

#32 Bug Bounty. Elastic Search DB.

#33 Bug Bounty. Docker API.

#34 Bug Bounty. Kubernetes API.

#35 Bug Bounty. .git/.svn

#36 Bug Bounty. Эксплуатация CMS. WordPress.

#37 Bug Bounty. Joomla. Drupal. Adobe AEM.

#38 Bug Bounty. Эксплуатация OWASP. XML External Entity (XXE).

#39 Bug Bounty. Межсайтовый скриптинг (XSS).

#40 Bug Bounty. Server Side Request Forgery (SSRF).