TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Bagley's 📚 Notes

14 Sep 2025, 16:00

Открыть в Telegram Поделиться Пожаловаться

Всем 👋! Это Bagley

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

#️⃣Эта атака не позволяет "украсть" какие-либо данные (как в примере с XSS), но выполняет действие от имени пользователя

⁉️Самый простой пример: смена email в профиле
Допустим, сайт target-website.com позволяет сменить email отправкой POST-запроса:
POST /change-email HTTP/1.1
Host: target-website.com
Content-Type: application/x-www-form-urlencoded
Cookie: session=auth_cookie

email=newmail@mail.com

Атакующий размещает на своей странице any-website.com невидимую форму:



document.getElementById('csrf-form').submit();
Пользователю достаточно зайти на страницу атакующего, и ее email будет автоматически изменен.

Для GET запроса можно использовать



#️⃣Как защититься?
🟣 CSRF-токены: Классика. Сервер генерирует уникальный, непредсказуемый токен для каждой сессии и формы. Этот токен должен передаваться в каждом изменяющем запросе (POST, PUT, DELETE и т.д.) и проверяться на сервере.

🟣 Проверка заголовка Origin/Referer
🟣 Атрибут SameSite для cookies: Позволяет указать браузеру, когда отправлять куки с cross-site запросами.
SameSite=Strict: Куки никогда не отправляются в cross-site контексте.
SameSite=Lax: Куки отправляются с безопасными HTTP-методами (GET) при переходе по ссылке с другого сайта.
SameSite=None: Куки отправляются всегда. Требует установки Secure (отправка только по HTTPS).

#️⃣Какие проблемы с защитой могут быть?
🟣 CSRF-токены: Токен отсутствует; Токен вообще не проверяется; Токен предсказуем; Токен не привязан к сессии: Сервер проверяет наличие токена, но не проверяет, принадлежит ли он текущему пользователю.
🟣 Слабая проверка заголовка Origin/Referer
if (req.headers.referer.indexOf('example.com') !== -1) { // allow request }
Атакующий может зарегистрировать домен example.com.anysitehere.com
🟣 SameSite=Lax: Обход через GET-запросы (отправить данные не через POST, а через GET)


💡 В BugBounty не нужно заманивать пользователя на свою специально подготовленную страницу, достаточно скрафтить Proof of Concept (PoC) атаки


⁉️Burp и Caido умеют генерировать CSRF PoC'и, при установке соответствующих плагинов.
Пару примеров ⤵️



CSRF PoC

function sendXHR() {
var xhr = new XMLHttpRequest();
xhr.open("post", "https://dwi7yc94.eu2.ctfio.com/password", true);
xhr.withCredentials = true;
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("password=p@ssword");
}
sendXHR();



Или вот такой ⤵️
window.location='data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICA8dGl0bGU+Q1NSRiBQb0M8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5PgogIDxoMz5EYXRhIFVSSSBDU1JGIFBvQzwvaDM+CiAgPGZvcm0gYWN0aW9uPSJodHRwczovL2R3aTd5Yzk0LmV1Mi5jdGZpby5jb20vcGFzc3dvcmQiIG1ldGhvZD0icG9zdCI+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjc3JmIiB2YWx1ZT0iZXlKa1lYUmhJanA3SW5WelpYSWlPaUppWlc0aUxDSnlZVzVrYjIwaU9pSTVObVV5TWpFeE1tRTVaR05tTkRjd016TXpNekEwTURVeFptRXhaVFkwTkNKOUxDSnphV2R1WVhSMWNtVWlPaUl6WTJZMVptVmxObUppTmpCbE1USmpNamc1TURSall6Vm1NREUxWkRka01pSjkiIC8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXNzd29yZCIgdmFsdWU9InBhc3N3b3JkIiAvPgogIDwvZm9ybT4KICA8c2NyaXB0PmRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOzwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=';
➡️ Есть еще онлайн PoC генератор

#️⃣Labs (для практики):
What is CSRF - Portswigger
CSRF - 0 protection

💬Для меня самым наглядным и простым описанием данной атаки стал этот отчет с платформы Bi.Zone BugBounty

🌹 Основные посты канала

#learning
BI.ZONE Bug Bounty
Платформа для проверки защищенности внешней инфраструктуры с привлечением независимых исследователей

741 0 10 19
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot