Заголовок HTTP-ответа
Vary указывает, какие части запроса нужно учитывать при создании ключа кэша. Это помогает предотвратить атаки вроде cache poisoning.В некоторых кейсах значения заголовка
Vary могут указывать, доверяет ли приложение пользовательскому вводу или отражает его в ответе.GET / HTTP/1.1
Host: redacted.com
HTTP/1.1 200 OK
Server: Apache/2.4.37
Vary: X-Forwarded-Host, Origin
Content-type: text/html; charset=utf-8
Connection: close
Content-Length: 11512
Как видно, в ответе есть заголовок
Vary, в котором указаны X-Forwarded-Host и Origin. Используем эту информацию, чтобы проверить, доверяет ли приложение пользовательскому вводу:GET / HTTP/1.1
Host: redacted.com
X-Forwarded-Host: example.com
HTTP/1.1 200 OK
Server: Apache/2.4.37
Vary: X-Forwarded-Host, Origin
Content-type: text/html; charset=utf-8
Connection: close
Content-Length: 11509
<!DOCTYPE html>
<html>
...
<script src="https://example.com/assets/js/vendor/jquery-ui.custom.min.js"></script>
...
</html>
Что это значит? Сервер доверяет
X-Forwarded-Host — он напрямую попадает в HTML. Это открывает возможность использовать X-Forwarded-Host для поиска аномального поведения. Если в некоторых ответах
X-Forwarded-Host используется без добавления в Vary, то кэш можно потенциально отравить.Это может привести:
— К SSRF, если заголовок прокидывается внутрь backend-запросов.
— Отравлению кэша, если
Vary не всегда прописан или используется неправильно.— Desync-атакам, особенно в сочетании с другими отражёнными заголовками.
#техники
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍13
Когда сервер сам начинает ходить по адресам, которые вы ему подсовываете — это и есть Server-Side Request Forgery.
Если обрабатывается HTML — можно внедрить вредоносный URL и заставить сервер сходить за вашим пэйлоадом.
127.0.0.1, 10.x.x.x, 192.168.x.x.Там могут быть админки, dev-сервисы, внутренние API. И да, не забывайте про сканирование портов.
http://169.254.169.254/latest/meta-datahttp://169.254.169.254/metadata/instanceТам часто хранятся токены, ключи и данные об окружении.
http://127%2E0%2E0%2E1http://2130706433http://[::]:80Blind SSRF отлично работает в связке с DNS или HTTP-логами.
#техники
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍7
🕷️ В программе VK Bug Bounty громкие апдейты
В программу добавлены «Сервисы Знакомств VK», куда войдут два приложения:
💜 VK Знакомства
💜 ОК Знакомства
Максимальное вознаграждение — 1 млн рублей.
👉 Описание программы
#новости
В программу добавлены «Сервисы Знакомств VK», куда войдут два приложения:
Максимальное вознаграждение — 1 млн рублей.
#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🕷️ Использование Burp для обхода скрытых полей HTML-формы
Скрытые поля HTML-формы — распространённый механизм передачи данных от клиента в немодифицированном виде. Если поле помечено как скрытое, оно не отображается на клиентской стороне.
Тем не менее, имя и значение этого поля сохраняются в форме и отправляются на сервер.
Для перехвата и модификации таких форм используйте Burp Proxy:
✅ Unhide hidden form fields
✅ Prominently highlight unhidden fields
В примере описано, как эта фича потенциально могла автоматически изменить ответ и отобразить скрытые поля. Как следствие, обойти контроль на стороне клиента в e-commerce приложении, изменить цену товара и приобрести его по сниженной цене.
#советы
Скрытые поля HTML-формы — распространённый механизм передачи данных от клиента в немодифицированном виде. Если поле помечено как скрытое, оно не отображается на клиентской стороне.
Тем не менее, имя и значение этого поля сохраняются в форме и отправляются на сервер.
Для перехвата и модификации таких форм используйте Burp Proxy:
В примере описано, как эта фича потенциально могла автоматически изменить ответ и отобразить скрытые поля. Как следствие, обойти контроль на стороне клиента в e-commerce приложении, изменить цену товара и приобрести его по сниженной цене.
#советы
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Вы, возможно, слышали о Lambdas. Но слышали ли вы о Bambdas? Это фича Burp Suite для кастомизации непосредственно из UI с использованием небольших сниппетов Java.
Martin Doyhenard из PortSwigger набросал простой экшн для того, чтобы сделать жизнь багхантера проще. Он делает скрины и добавляет к ним комментарии, не выходя из Burp.
#инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Даже если вы удалили секреты из репозитория командой
git rm, его данные могут оставаться в истории, пока не будет запущена сборка мусора — git gc. Многие публичные репозитории хранят в .git/objects удалённые данные, и их можно восстановить.Исследователь заработал на методологии поиска секретов круглую сумму, а мы делимся с вами упрощенным гайдом
git rev-list --objects --all), чтобы найти «висячие» блобы и восстановленные файлыmkdir -p unreachable_blobs && git fsck --unreachable --dangling --no-reflogs --full - | grep 'unreachable blob' | awk '{print $3}' | while read h; do git cat-file -p "$h" > "unreachable_blobs/$h.blob"; doneid_rsa, .pem, .crt, ...)db, .sqlite, .bak, ...).pyc, которые тоже могут содержать много интересногоfile — определение типов файловbinwalk — извлечение встроенных данных из бинарниковtrufflehog — обнаружение и проверка утечек (API-ключи, токены и т. д.)strings, grep, xz, hexdump — ручной анализ содержимогоБольшинство полезных данных можно восстановить из бинарных файлов, которые были загружены в репозиторий и затем удалены без очистки истории. Поэтому помните:
git gc.git/objectsgit rm без понимания, что Git сохраняет старые данные#кейсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Forwarded from AI Security Lab
Хотите попрактиковаться в навыке подбора джейлбрейков для взлома AI? С 5 мая до 1 июля проводится соревнование для подбора промпт-атак Hackaprompt 2.0. 30 мая открывается трек по тестированию агентных систем на стойкость к атакам.
Кто взломает больше агентов?🚀
Кто взломает больше агентов?
Please open Telegram to view this post
VIEW IN TELEGRAM
HackAPrompt
HackAPrompt 2.0
The largest AI Red-Teaming Hackathon, Ever.
💣КИБЕРДОМ ИЩЕТ РОБОХАКЕРОВ!
БУДЕМ ЛОМАТЬ РОБОТОВ! 💣
Ты знаешь, как обойти защиту умных машин?
Умеешь находить уязвимости там, где другие видят только железо, код и провода?
Тогда тебя ждут на масштабном ивенте по кибербезу робототехники!
Почему это круто?
✔ Реальные роботы – не симуляция, а настоящие железные цели.
✔ Хардкорные задачи – взлом ПО, перехват управления, обход защиты.
✔ Уникальная возможность показать свои навыки и найти новые знакомства.
Что мы ждем от тебя?
🔹 Исследовательский опыт во взломе робототехники.
🔹 Готовность исследовать реальные системы управления робототехникой и находить неочевидные баги.
🔹 Желание показать себя и прокачать скиллы.
Ищем самых лучших! Если ты готов принять вызов – пиши в тг @eyudna
БУДЕМ ЛОМАТЬ РОБОТОВ! 💣
Ты знаешь, как обойти защиту умных машин?
Умеешь находить уязвимости там, где другие видят только железо, код и провода?
Тогда тебя ждут на масштабном ивенте по кибербезу робототехники!
Почему это круто?
✔ Реальные роботы – не симуляция, а настоящие железные цели.
✔ Хардкорные задачи – взлом ПО, перехват управления, обход защиты.
✔ Уникальная возможность показать свои навыки и найти новые знакомства.
Что мы ждем от тебя?
🔹 Исследовательский опыт во взломе робототехники.
🔹 Готовность исследовать реальные системы управления робототехникой и находить неочевидные баги.
🔹 Желание показать себя и прокачать скиллы.
Ищем самых лучших! Если ты готов принять вызов – пиши в тг @eyudna
👍4
Blind XSS отличается тем, что вредоносный скрипт выполняется в компонентах, недоступных атакующему — например, во внутренней админке или панели поддержки, доступной только админу/сотрудникам.
Зачастую для срабатывания пэйлоада нужен пользователь с «другими» привилегиями. И да, обычный
alert() тут не поможет. Примеры пэйлоада 🧰 Инструменты для поиска и эксплуатации blind XSS
Чтобы поймать «отстук» от внедренного пэйлоада, потребуется внешний контролируемый эндпоинт, который будет слушать и обрабатывать обратные вызовы.
Использовать готовые инструменты (Burp Collaborator, requestbin) или развернуть на своем сервере (ezXSS, XSSHunter) — дело ваше. Последний можно поднять за пару минут:
$ docker-compose up -d postgresdb
$ docker-compose up xsshunterexpress
💡 Всегда вставляйте в пэйлоад уникальную строку или ключевое слово — так потом проще будет понять, откуда пришел запрос и что именно сработало.
💡 Попробуйте намеренно вызвать исключение или ошибку и внедрить пэйлоад в любое возможное поле, которое может быть проанализировано и обработано позже
#советы #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Сгруппируйте их по смыслу и вернитесь позже — с чистой головой и новыми идеями
#советы #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Понимая, что для компании критично, вы можете бить туда, где больно.
Смотрите на флоу в связке, а не поодиночке.
— А если отложить вызов?
— А если пропустить шаг?
— А если скомбинировать два эндпоинта?
Создавайте истории атак, а не просто чек-лист с OWASP.
— Обход аутентификации?
— Повторное использование токена?
— Путаница сессий?
— ...
Контекст + упорство дают результат.
#советы
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍7
В современных облачных окружениях белые списки часто оказывается неэффективным способом защиты. Команда Assetnote это доказала, направляя трафик через доверенные облачные сервисы и конкретные регионы, что привело к обходу сетевых ограничений.
⚡️ Почему это актуально?
Компании нередко разрешают целые IP-диапазоны по рекомендациям вендоров и SaaS-провайдеров. Например, GitLab рекомендует открывать доступ ко всему региону GCP для shared-раннеров.
Newtowner — инструмент, который поможет автоматизировать тестирование, имитируя трафик из различных дата-центров и регионов мира.
🛠 Что умеет:
🔍 Результаты тестирования:
При сканировании более 18 млн хостов AWS (us-east-1) выявлены различия в поведении более 7000 хостов при запросах изнутри и снаружи AWS, что демонстрирует распространённость проблемы.
💡 Применение на практике:
#советы #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Многие используют популярный инструмент ffuf для веб-фаззинга, но знаете ли вы о его ограничениях? Он использует Go-библиотеки
net/http и net/url, которые не позволяют добиться фаззинга сырых запросов. Из-за этого запросы могут искажаться, заголовки переупорядочиваться, а нестандартные конструкции не отправляться точно так, как нужно — особенно когда речь идет об обходе WAF.
-request: отправка запросов из файла, без изменения порядка заголовков, пропущенных некорректных битов и т. д.-no-content-length: полный контроль над телом запроса, что помогает ловить странное поведение серверовecho hi | uff -c -u http://example.com -w - -opaque "http://127.0.0.1/FUZZ"
👇
GET http://127.0.0.1/hi HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36
Accept-Encoding: gzip
P. S. Uff дает больше гибкости и точности в фаззинге, устраняя ограничения оригинального ffuf и адаптируясь к современным задачам. Он отлично подойдет для тестирования API, поиска скрытых эндпоинтов/параметров, экспериментов с нестандартными HTTP-запросами.
#техники #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Некоторые библиотеки определяют тип файла, классифицируя его по магическим байтам — это подписи или последовательности байтов в начале файла, которые идентифицируют формат.
Так что если вы в следующий раз столкнетесь с ограничениями на загрузку файлов, байпасом CSP или эксплуатацией CSPT, просто попробуйте приведенный PDF.
#техники #советы
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6
🥠 Cookie Tossing: когда поддомен подбрасывает «левую» cookie
Cookie Tossing — малоизвестная, но серьёзная атака. Атакующий, контролирующий поддомен (например
Когда атакуемый открывает
📌 Как это работает
Атака опирается на два параметра cookie:
*
*
📌 Как браузер выбирает cookie
Если в браузере есть две cookie с одинаковым именем, он включает обе в заголовок
1. Сначала идут cookie, чей
2. При одинаковом пути первой идёт более старая cookie.
Пример:
Большинство приложений используют первое значение, поэтому действие выполняется от имени атакующего.
📌 Когда проверять на Cookie tossing
* У сайта есть поддомены, и на них можно внедрить пользовательский JS/HTML.
* Сессионная cookie выдаётся на весь домен (
* Важные эндпоинты (
* Аутентификация основана только на cookie, без дополнительного заголовка или токена.
📌 Как протестировать
1. Найдите XSS на поддомене.
2. Установите cookie с нужным
3. Если атакуемый переходит на
Удачной охоты!
#техники #clientside
Cookie Tossing — малоизвестная, но серьёзная атака. Атакующий, контролирующий поддомен (например
evil.example.com), устанавливает в браузере атакуемого cookie так, чтобы она применялась ко всему родительскому домену .example.com.Когда атакуемый открывает
account.example.com или любой другой поддомен, браузер автоматически отправляет поддельную cookie, и сервер может обработать именно её. Так можно, например, привязать OAuth-токен к учётной записи атакующего, сбросить настройки или подменить сессию.Атака опирается на два параметра cookie:
*
Domain определяет, на какие хосты отправляется cookie. Если указать Domain=example.com, она уйдёт на все поддомены.*
Path задаёт, к каким URL-ам применяется cookie. Более узкий путь (/settings/account) даёт ей приоритет над cookie с общим путём (/).Если в браузере есть две cookie с одинаковым именем, он включает обе в заголовок
Cookie, а порядок определяется так:1. Сначала идут cookie, чей
Path точнее совпадает с путём запроса.2. При одинаковом пути первой идёт более старая cookie.
Пример:
# cookie в браузере
session_cookie=<attacker>; Domain=example.com; Path=/settings/account
session_cookie=<victim>; Domain=example.com; Path=/
# запрос к /settings/account
Cookie: session_cookie=<attacker>; session_cookie=<victim>
Большинство приложений используют первое значение, поэтому действие выполняется от имени атакующего.
* У сайта есть поддомены, и на них можно внедрить пользовательский JS/HTML.
* Сессионная cookie выдаётся на весь домен (
Domain=.example.com).* Важные эндпоинты (
/auth/callback, /settings/account, /billing) не защищены CSRF-токеном.* Аутентификация основана только на cookie, без дополнительного заголовка или токена.
1. Найдите XSS на поддомене.
2. Установите cookie с нужным
Domain и «узким» Path:document.cookie = "session_cookie=attacker_val; Domain=example.com; Path=/settings/account";
3. Если атакуемый переходит на
account.example.com/settings/account и приложение выполняет действие в контексте атакующего либо подменяет сессию — уязвимость подтверждена.Удачной охоты!
#техники #clientside
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5
👉 Кто на новенького?
Запустили Bug Bounty для платформы MAX — ищите уязвимости и получайте маааааксимальное вознаграждение до 5 миллионов рублей!
MAX — цифровая платформа: мессенджер, ИИ-помощник, чат-боты, переводы, мини-приложения и другие сервисы — всё в одном.
Область поиска – все домены:
- Уязвимости в мобильной, веб- и десктоп-версиях MAX
- Wildcard-домены: *.oneme.ru и *.max.ru
Мы особенно внимательно относимся к защите данных, поэтому для некоторых критичных багов предусмотрены повышенные награды. Подробнее смотрите в описании программ.
И не забывайте про Bounty Pass: чем больше уязвимостей находите, тем выше выплаты!
Запустили Bug Bounty для платформы MAX — ищите уязвимости и получайте маааааксимальное вознаграждение до 5 миллионов рублей!
MAX — цифровая платформа: мессенджер, ИИ-помощник, чат-боты, переводы, мини-приложения и другие сервисы — всё в одном.
Область поиска – все домены:
- Уязвимости в мобильной, веб- и десктоп-версиях MAX
- Wildcard-домены: *.oneme.ru и *.max.ru
Мы особенно внимательно относимся к защите данных, поэтому для некоторых критичных багов предусмотрены повышенные награды. Подробнее смотрите в описании программ.
И не забывайте про Bounty Pass: чем больше уязвимостей находите, тем выше выплаты!
👍4👎2
Forwarded from Похек (RandomGodBot⚡️ [Рандомайзер])
Условия участия:
Важно: Раздача промокодов на подписку будет происходить не всем победителям в день розыгрыша, чтобы избежать спам-блока. Дальнейшие инструкции по получению подписок будут опубликованы в отдельном посте после оглашения победителей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
🧠 Kiterunner — API enumeration для тех, кто устал от 404
🎣 Знаете, что общего у классического
Эту проблему решает инструмент Kiterunner от Assetnote, который не просто брутфорсит пути, а делает это с контекстом:
➡️ Знает правильные HTTP-методы
➡️ Знает, что
➡️ Сам подставляет UUID, id-шники и даже нужные заголовки
💡 Как он это делает?
Команда собрала ~67,500 Swagger файлов со всего интернета (даже с BigQuery и APIs.guru) и сделала на их основе датасеты роутов, которые можно использовать для сканирования.
📌 Пример
Или:
📂 Вишенка на торте — можно реплеить запросы в Burp, чтобы изучить поведение вручную:
#инструменты #api
🎣 Знаете, что общего у классического
ffuf и рыбалки без наживки? Ты вроде что-то делаешь, но ни черта не ловится, особенно если в приложении используется REST API.Эту проблему решает инструмент Kiterunner от Assetnote, который не просто брутфорсит пути, а делает это с контекстом:
/user/create работает только с POSTКоманда собрала ~67,500 Swagger файлов со всего интернета (даже с BigQuery и APIs.guru) и сделала на их основе датасеты роутов, которые можно использовать для сканирования.
📌 Пример
GET /download —> 404
GET /download/123456 —> 200 (файл!)
Или:
GET /user/create —> 404
POST /user/create —> 500 (значит, эндпоинт жив)
📂 Вишенка на торте — можно реплеить запросы в Burp, чтобы изучить поведение вручную:
kr replay -w routes.kite --proxy http://localhost:8080 "POST ..."
#инструменты #api
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9