gram news
BlackFan channel avatar

BlackFan

@black4fan

ProjectsRUAnimals

1,170subscribers

Open the Channel

Latest posts

  • BlackFan

    9 Jul, 13:32edited

    Записали выпуск "Начинаем в багбаунти" по теме мисконфигов при использовании S3 в веб-приложениях (Youtube). Непривычный для меня формат, но надеюсь получилось интересно.Дополнительный материал из выпуска:➖ https://github.com/BlackFan/s3-fingerprint Табличка с популярными облачными и локальными решениями, по которой можно определять с какой именно системой идет взаимодействие на сайте.➖ https://github.com/BlackFan/s3-request-signer Расширение для Burp Suite и Caido, облегчающее работу с подписанными запросами. Добавляет к запросу в Repeater некорректную подпись и подписанные GET/PUT запросы по набору добавленных S3 учеток. Умеет в v2/v4 подписи, v2 можно формировать с помощью Hackvertor тегов. Поддерживает генерацию подписи не только по данным из HTTP запроса, но и тексту ошибки SignatureDoesNotMatch, когда при проксировании в S3 запрос видоизменяется.➖ https://github.com/BlackFa
    YouTubeНачинаем в багбаунти: S3 misconfigsВ этом выпуске разбираем ошибки конфигураций и уязвимости, связанные с использованием объектного хранилища в веб-приложении, которые могут привести к утечке информации, компрометации учетных данных пользователей и другим серьезным последствиям. Ведущий выпуска…
    1,02041Open in Telegram
  • BlackFan

    19 Apr, 17:44

    Финал Standoff Hacks. Шанхай 🇨🇳GG. Доиграли до конца.Топ-3: 🥇 r0hack — MVP Standoff Hacks 🥈 freeman 🥉 BlackFanMVP по программам: 🏆 BlackFan — Т-Банк 🏆 brain — VK 🏆 hussein98d — «Инфосистемы Джет» 🏆 Antart — Битрикс2430 топовых багхантеров 350+ отчетов 23+ млн ₽ баунтиДве недели интенсивной работы: сотни отчетов, плотный триаж и реальные результаты.
    Image from a post by BlackFanImage from a post by BlackFanImage from a post by BlackFanImage from a post by BlackFan
    1,29031Open in Telegram
  • BlackFan

    13 Mar, 06:28

    Попался интересный вариант, когда с помощью JWT секрета, извлеченного из Java приложения, не получается сформировать валидный токен.В проекте использовалась устаревшая библиотека jjwt-0.7.0, которая при использовании строки в качестве секрета неявно декодировала его с помощью Base64, даже если это невалидная base64-строка.В результате, при использовании следующего кода: private static String SECRET = "#%j?_GtEhNS!-WH.Vq!"; private static long EXPIRATION = 3600L;public static String generateToken(String username) { Map<String, Object> claims = new HashMap<>(); claims.put("sub", username); Date exp = new Date(System.currentTimeMillis() + (EXPIRATION 1000));return Jwts.builder() .setClaims(claims) .setExpiration(exp) .signWith(SignatureAlgorithm.HS512, SECRET) .compact(); }
    1,7501054Open in Telegram
  • BlackFan

    4 Mar, 14:43

    Раскрыл один из интересных отчетов в программе Мегамаркет, опять же связанный с некорректным проксированием HTTP запросов в S3 систему.Ссылка на отчет: https://bugbounty.standoff365.com/disclosed-reports/37Из интересного - в отчете используется обход Web Application Firewall через разделение XSS нагрузки на части по 5 мегабайт и использование Multipart Upload в S3.А подробнее прочитать о том, из-за чего возникает такой мисконфиг, позволяющий проэксплуатировать уязвимость, можно в этом посте: https://t.me/Black4Fan/15
    TelegramBlackFanНебольшая заметка про уязвимую конфигурацию nginx при проксировании запросов на S3, которое позволило в том году налутать немного уязвимостей на BugBounty. Объектные хранилища, совместимые с S3 API, используют два варианта указания имени бакета в запросе.…
    2,1302620Open in Telegram
  • BlackFan

    12 Feb, 12:57edited

    Интересная уязвимость, связанная с кэшированием HTTP ответов из S3, может возникнуть если немного перестараться с настройкой.Условия: 1) Сайт хранит статику в S3 и по определенным условиям проксирует туда запросы, либо имеет отдельный поддомен, который проксирует запросы на S3 бакет 2) Чтобы не гонять 10 мегабайтные JavaScript файлы, кэшируется контент из S3 для любого HTTP ответа с кодом 200 3) Так как кэшируется только статика - не включаем в ключ кэша cookie или query-параметрыКазалось бы, все в порядке, но проблема заключается в том, что S3 умеет отвечать с кодом 200 не только возвращая контент файла, но еще и при получении другой информации об объекте. Например, для получения списка тегов достаточно в query-параметры добавить ?tagging, что часто разрешают для неавторизованных запросов.https://site.tld/static/somefile.js?taggingВ результате, вместо контента файла вернется
    7,68048131Open in Telegram