Работа с JavaScript на разных целевых платформах иногда может быть сложным процессом из-за упакованного JS-кода, минификации и сложности чтения.
Маст-хэв при тестировании приложения методом черного ящика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Обновляется ежемесячно, есть API с примерами для разных языков.
curl https://ip.thc.org/1.1.1.1?l=10
curl https://ip.thc.org/segfault.net
curl https://ip.thc.org/cn/phrack.org
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В начале января PortSwigger запустил ежегодное голосование за лучшие техники веб-взлома. Проекту уже 19 лет — его начали Jeremiah Grossman и Matt Johansen ещё в 2006-м, а с 2017 года эстафету подхватил PortSwigger.
Суть: сообщество собирает исследования, которые не просто описывают одну уязвимость, а дают переиспользуемые техники. Log4Shell забудут, а JNDI Injection останется.
EXT.TERM примитивамиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Инструмент для автоматизации рутины при анализе JS-кода веб-приложений. Работает в связке с Burp Suite или Caido.
Что делает:
.mapРасширение VSCode выступает в качестве интерфейса для jxscout и визуализирует результаты анализа AST в виде дерева.
Платная версия добавляет:
В итоге jxscout — удобный помощник для багхантера, позволяющий получать готовые файлы/структуры для обхода и анализа.
Если ты не можешь справиться с бесконечным количеством минифицированных скриптов, source maps и пропущенными чанками — этот инструмент может серьезно ускорить работу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Caido Extension автоматически определяет прокси и маршрутизирует трафик из браузера прямо в инстанс Caido — без ручной настройки. Скачай для Firefox или Chrome 🌐
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаешь поиск эндпоинтов и скрытых параметров в веб-приложениях вручную? xnLinkFinder сделает за тебя эту работу
Скрипт выполняет поиск целевых объектов, извлекает ссылки, обнаруживает секреты и создает словари для конкретных целей. Все это из файлов Burp/Caido/ZAP, HAR-файлов (HTTP архив) или URL-адресов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from InfoSec VK Hub
Сезон VK Security Confab 2026 объявляем открытым! И первая встреча — Bug Bounty Edition.
Когда: 19 марта
Где: Москва, БЦ SkyLight
Есть крутой кейс, полезный лайфхак или история, которыми стоит поделиться с коммьюнити? Приходите выступать! Ждем ваши заявки до 26 февраля.
🔹 Хочу выступить!
VK Security | Буст этому каналу
#confab #митап #bugbounty
Когда: 19 марта
Где: Москва, БЦ SkyLight
Есть крутой кейс, полезный лайфхак или история, которыми стоит поделиться с коммьюнити? Приходите выступать! Ждем ваши заявки до 26 февраля.
VK Security | Буст этому каналу
#confab #митап #bugbounty
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎1
Forwarded from BlackFan
Интересная уязвимость, связанная с кэшированием HTTP ответов из S3, может возникнуть если немного перестараться с настройкой.
Условия:
1) Сайт хранит статику в S3 и по определенным условиям проксирует туда запросы, либо имеет отдельный поддомен, который проксирует запросы на S3 бакет
2) Чтобы не гонять 10 мегабайтные JavaScript файлы, кэшируется контент из S3 для любого HTTP ответа с кодом 200
3) Так как кэшируется только статика - не включаем в ключ кэша cookie или query-параметры
Казалось бы, все в порядке, но проблема заключается в том, что S3 умеет отвечать с кодом 200 не только возвращая контент файла, но еще и при получении другой информации об объекте.
Например, для получения списка тегов достаточно в query-параметры добавить
В результате, вместо контента файла вернется следующий HTTP ответ:
И если так запросить статику на сайте в момент, когда кэш HTTP ответа будет обновляться - это приведет к тому, что всем следующим пользователям вместо JS вернется некорректный ответ и сайт станет недоступен на время жизни зараженного кэша.
Если
Как проверить уязвимость и не аффектить реальных пользователей:
1) Находим через архивы устаревшие JS на сайте
2) Так как к ним никто не обращается, следующий запрос будет с обновлением кэша, поэтому сразу запрашиваем с
3) Проверяем, что зараженный HTTP ответ возвращается без указания query-параметров
3) Проверяем, что кэш не привязан к текущему пользователю запросив с другого устройства / IP / от имени другого пользователя
Как исправить уязвимость:
1) Убрать из проксируемого HTTP запроса query-параметры при передаче на S3
2) Добавить query-параметры в ключ кэша
Условия:
1) Сайт хранит статику в S3 и по определенным условиям проксирует туда запросы, либо имеет отдельный поддомен, который проксирует запросы на S3 бакет
2) Чтобы не гонять 10 мегабайтные JavaScript файлы, кэшируется контент из S3 для любого HTTP ответа с кодом 200
3) Так как кэшируется только статика - не включаем в ключ кэша cookie или query-параметры
Казалось бы, все в порядке, но проблема заключается в том, что S3 умеет отвечать с кодом 200 не только возвращая контент файла, но еще и при получении другой информации об объекте.
Например, для получения списка тегов достаточно в query-параметры добавить
?tagging, что часто разрешают для неавторизованных запросов.https://site.tld/static/somefile.js?tagging
В результате, вместо контента файла вернется следующий HTTP ответ:
<?xml version="1.0" encoding="UTF-8"?>
<Tagging xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<TagSet></TagSet>
</Tagging>
И если так запросить статику на сайте в момент, когда кэш HTTP ответа будет обновляться - это приведет к тому, что всем следующим пользователям вместо JS вернется некорректный ответ и сайт станет недоступен на время жизни зараженного кэша.
Если
?tagging, ?acl и подобные методы возвращают 403, можно попробовать параметры из GetObject API и, например, закэшировать некорректный Content-Type, указав в запросе ?response-content-type=text/html. Это приведет к тому, что браузер откажется выполнять JavaScript с некорректным типом, что также приведет к нарушению работы сайта (это поведение еще зависит от наличия в ответе заголовка X-Content-Type-Options: nosniff).Как проверить уязвимость и не аффектить реальных пользователей:
1) Находим через архивы устаревшие JS на сайте
2) Так как к ним никто не обращается, следующий запрос будет с обновлением кэша, поэтому сразу запрашиваем с
?tagging или ?response-content-type=text/html3) Проверяем, что зараженный HTTP ответ возвращается без указания query-параметров
3) Проверяем, что кэш не привязан к текущему пользователю запросив с другого устройства / IP / от имени другого пользователя
Как исправить уязвимость:
1) Убрать из проксируемого HTTP запроса query-параметры при передаче на S3
2) Добавить query-параметры в ключ кэша
👍1
8.8.1028 → Объединяет 3-й и 4-й октеты: 4 × 256 + 4 = 10288.525316 → Объединяет последние три октета в одно десятичное число0x08.8.004.004 → Шестнадцатеричный + десятичный + восьмеричный (сегмент за сегментом)0x08.0x08.004.004 → Два сегмента в hex, два в восьмеричном0x08.010.4.4 → Смешанный hex + восьмеричный + десятичный134743044 → Полное 32-битное целое представление IP-адреса0x08080404 → Весь IP закодирован как одно hex-число010.010.004.004 → Каждый сегмент с ведущим нулём, чтобы форсировать восьмеричную интерпретацию0x8.0x8.0x4.0x4 → Все четыре октета закодированы индивидуально в шестнадцатеричном виде8.8.0x404 → Последний сегмент в hex: 0x404 = 1028curl/ping, но могут срабатывать в других библиотеках/языках: ⑧.⑧.④.④, 𝟠.𝟠.𝟜.𝟜.Автоматизируй работу по байбасу валидации с помощью ipfuscator — простого Go-инструмента для быстрой генерации альтернативных представлений IP-адресов (v4)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Одна из проблем техник байпаса WAF — они быстро устаревают. То, что работало вчера, сегодня уже режется сигнатурами.
Gareth Heyes из PortSwigger подошёл к этому системно: поддерживает актуальную шпаргалку на базе Shazzer, которая помогает тестировать XSS-фильтры через мутации и нестандартные конструкции.
Что внутри полезного:
Главная идея — не «волшебный пэйлоад», а системная генерация мутаций, которые помогают найти слабое место.
Для тестирования кодировок и трансформаций удобно использовать Hackvertor — ускоряет ресёрч и помогает автоматизировать вариации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
List-Unsubscribe — стандартизированный RFC 8058 SMTP-заголовок, который включает URI вида mailto: и HTTP для действий отписки. Почтовые клиенты и серверная автоматизация используют эти URI в процессах «нажми на эту ссылку» и в HTTP-запросах бэкенда.
javascript: в List-Unsubscribe. Когда ссылка отписки отображается в бэкенд/админ-панели, выполняется JS.List-Unsubscribe. Ты контролируешь таргет, а возможность достучаться до внутренних хостов зависит от настройки Nextcloud
allow local remote servers:Enabled = internal accessDisabled = external targets onlyP. S. Везде, где поддерживается
List-Unsubscribe, проверяй возможность SSRF через target URI и blind XSS через пэйлоады в этом заголовке.Please open Telegram to view this post
VIEW IN TELEGRAM
👍5