Forwarded from The Bug Bounty Hunter
GitHub - brinhosa/apidetector: APIDetector: Efficiently scan for exposed Swagger endpoints across web domains and subdomains. Supports HTTP/HTTPS, multi-threading, and flexible input/output options. Ideal for API security testing.
https://github.com/brinhosa/apidetector
https://github.com/brinhosa/apidetector
GitHub
GitHub - brinhosa/apidetector: APIDetector: Efficiently scan for exposed Swagger endpoints across web domains and subdomains. Supports…
APIDetector: Efficiently scan for exposed Swagger endpoints across web domains and subdomains. Supports HTTP/HTTPS, multi-threading, and flexible input/output options. Ideal for API security testin...
Forwarded from Солдатов в Телеграм
Последнее время то там, то тут слышишь про "Фиолетовые команды", видимо, "Красными" и\или "Синими" уже никого не удивишь 😁 Вот попался неплохой BOK по превращению "фиолетового движения" из ad-hoc в системную работу:
https://github.com/scythe-io/purple-team-exercise-framework
https://github.com/scythe-io/purple-team-exercise-framework
GitHub
GitHub - scythe-io/purple-team-exercise-framework: Purple Team Exercise Framework
Purple Team Exercise Framework. Contribute to scythe-io/purple-team-exercise-framework development by creating an account on GitHub.
Forwarded from Записки админа
This media is not supported in your browser
VIEW IN TELEGRAM
🗜 Смотрите какой клёвый pastebin сервис, работающий по SSH и доступный как в tui, так и в веб-морде... https://snips.sh/
А ещё, всё это можно развернуть на собственном сервере, судя по всему:
https://github.com/robherley/snips.sh
#tui #pastebin #ssh
А ещё, всё это можно развернуть на собственном сервере, судя по всему:
https://github.com/robherley/snips.sh
#tui #pastebin #ssh
Forwarded from Cybred
Разработчики любят писать микросервисы для "перекладывания JSON". Стандарт устоявшийся и, как правило, не сулит проблем. Но так ли это на самом деле?
Возьмем небольшое приложение с двумя микросервисами:
— Cart — реализует бизнес-логику корзины
— Payment — используется для обработки платежей
Cart написан на Python с Flask и принимает ID товаров с их количеством. Попробуем отправить в него запрос с двумя одинаковыми ключами:
Сервис провалидирует JSON в соответствии со схемой
Дальше провалидированный JSON отправляется в микросервис Payment.
А микросервис Payment написан уже на Go и использует другой парсер buger/jsonparser. Он уже не валидирует JSON (ведь валидация была на предыдущем шаге), но использует приоритет первого ключа (
Мы смотрим в чек, который вернулся в ответе, и видим ошибку. Нам будет отправлено шесть товаров стоимостью 700 долларов, но с нас взяли только 300 долларов, из-за расчетов со вторым ключом.
Такие ошибки возникают из-за того, что существует много стандартов JSON:
1. json.org
2. IETF RFC 4627
3. ECMAScript 262
4. ECMA 404
5. IETF RFC 7158
6. IETF RFC 7159
7. JSON5
8. HJSON
И в каждом из них свои правила парсинга JSON: о том, как обрабатывать дублирующие ключи, что делать с большими числами с плавающей точкой, что считать валидным, а что нет. И на каждом из этих этапов могут возникнуть коллизии, позволяющие обходить средства защиты или вызывающие баги в бизнес логике.
Полезные ссылки:
— https://seriot.ch/json/parsing.html — большая таблица-сравнение: как разные парсеры обрабатывают разные значения.
— https://bishopfox.com/blog/json-interoperability-vulnerabilities — я рассказал только об одном баге, но их гораздо больше: здесь можно почитать обо всех остальных.
— https://github.com/a1phaboy/JsonDetect — расширение для Burp для определения того, какой парсер используется.
Возьмем небольшое приложение с двумя микросервисами:
— Cart — реализует бизнес-логику корзины
— Payment — используется для обработки платежей
Cart написан на Python с Flask и принимает ID товаров с их количеством. Попробуем отправить в него запрос с двумя одинаковыми ключами:
"cart": [
{
"id": 0,
"qty": 5
},
{
"id": 1,
"qty": -1,
"qty": 1
}
]
Сервис провалидирует JSON в соответствии со схемой
jsonschema.validate(instance=data, schema=schema). Убедится, что id: 0 <= x <= 10 and qty: >= 1. На этом этапе не будет ошибки (не смотря на то, что один из отправленных qty не подходит под условие), поскольку Flask использует стандартный JSON-парсер из Python, а тот сериализует данные, отдавая приоритет последнего ключа (qty = 1).Дальше провалидированный JSON отправляется в микросервис Payment.
А микросервис Payment написан уже на Go и использует другой парсер buger/jsonparser. Он уже не валидирует JSON (ведь валидация была на предыдущем шаге), но использует приоритет первого ключа (
qty = -1). Считает итоговую сумму total = total + productDB[id]["price"].(int64) * qty и генерирует чек.Мы смотрим в чек, который вернулся в ответе, и видим ошибку. Нам будет отправлено шесть товаров стоимостью 700 долларов, но с нас взяли только 300 долларов, из-за расчетов со вторым ключом.
Такие ошибки возникают из-за того, что существует много стандартов JSON:
1. json.org
2. IETF RFC 4627
3. ECMAScript 262
4. ECMA 404
5. IETF RFC 7158
6. IETF RFC 7159
7. JSON5
8. HJSON
И в каждом из них свои правила парсинга JSON: о том, как обрабатывать дублирующие ключи, что делать с большими числами с плавающей точкой, что считать валидным, а что нет. И на каждом из этих этапов могут возникнуть коллизии, позволяющие обходить средства защиты или вызывающие баги в бизнес логике.
Полезные ссылки:
— https://seriot.ch/json/parsing.html — большая таблица-сравнение: как разные парсеры обрабатывают разные значения.
— https://bishopfox.com/blog/json-interoperability-vulnerabilities — я рассказал только об одном баге, но их гораздо больше: здесь можно почитать обо всех остальных.
— https://github.com/a1phaboy/JsonDetect — расширение для Burp для определения того, какой парсер используется.
👍1
Forwarded from Cybred
https://github.com/Hackmanit/TInjA
TInjA (the Template INJection Analyzer) — CLI-утилита для проверки веб-приложений на наличие уязвимостей инъекции шаблонов.
Она поддерживает 44 наиболее актуальных шаблонизатора (по состоянию на 2023 год) для восьми различных языков программирования и поддерживает поиск как SSTI, так и CSTI.
TInjA (the Template INJection Analyzer) — CLI-утилита для проверки веб-приложений на наличие уязвимостей инъекции шаблонов.
Она поддерживает 44 наиболее актуальных шаблонизатора (по состоянию на 2023 год) для восьми различных языков программирования и поддерживает поиск как SSTI, так и CSTI.
GitHub
GitHub - Hackmanit/TInjA: TInjA is a CLI tool for testing web pages for template injection vulnerabilities and supports 44 of the…
TInjA is a CLI tool for testing web pages for template injection vulnerabilities and supports 44 of the most relevant template engines for eight different programming languages. - Hackmanit/TInjA
Forwarded from BeholderIsHere Media HUB (Beholder Is Here)
Очень интересный канал Дэрека Джемисона раскрывающий весь потенциал flipper zero
Forwarded from Пост Лукацкого
Смотрел я вчера старенький фильм "На грани" 🐻 с Энтони Хопкинсом и вспомнил ситуацию, в которую как-то попал и я, а именно отбился с товарищем от туристической группы и два дня мы были одни, без какой-либо помощи, без нормального снаряжения, а еще лил дождь. И вот это натолкнуло меня на мысль, которую можно применить в команде ИБ, особенно если вы ее руководитель, или вы ментор какого-либо специалиста по ИБ.
Нынешнее "поколение ЕГЭ" привыкает отвечать по готовым скриптам ☑️ и теряет способность искать ответы самостоятельно. Критическое мышление тоже куда-то улетучивается. Поэтому так важно воспитывать этот навык у своих "падаванов". И для этого можно дать несколько советов:
1️⃣ Регулярно "пропадайте". Когда ваш подчиненный понимает, что тот, в кого он верил, исчез, ему остается только верить в себя и начать хоть что-то делать, а не ждать, когда добрый CISO всех спасет и возьмет ответственность на себя.
2️⃣ Не надо обсуждать проблемы - обсуждайте способы их решения, которые предложил ваш подчиненный. Если у него нет решения, возвращаемся в начало этого пункта.
3️⃣ Совершенно неважно, насколько решение вашего подчиненного хорошо. Ваша задача - перестроить его мозги так, чтобы он был всегда способен искать и находить решения проблем. Да, ваш опыт часто позволяет вам найти решение лучше, но незашоренность может помочь найти нестандартное решение. Этот принцип особенно активно проявляется в штабных киберучениях, в которых я всегда с самого начала говорю, что нет неправильных решений.
4️⃣ Никогда не надо говорить, правильное решение или неправильное. ИБ - это не ЕГЭ, где все просто. ИБ - это жизнь и никаких заранее известных ответов часто просто нет. Фокусировать подчиненных надо на смысле решаемой задаче, а не конкретном решении. Сегодня оно такое, завтра совсем иное. ИБ вообще вариативная штука.
5️⃣ Пусть подчиненные сами оценивают свои решения. Со временем придет и опыт, и уверенность, и экспертиза. В ИБ часто надо самому брать ответственность за свои же решения и переложить ее на кого-то не удастся. Чем раньше подчиненные это поймут, тем лучше.
ЗЫ. Тоже самое работает и с детьми и со студентами 😊
ЗЗЫ. Да, совсем тупые тоже бывают и с ними эта великолепная пятерка не работает. Но тут уж вам не повезло☹️
Нынешнее "поколение ЕГЭ" привыкает отвечать по готовым скриптам ☑️ и теряет способность искать ответы самостоятельно. Критическое мышление тоже куда-то улетучивается. Поэтому так важно воспитывать этот навык у своих "падаванов". И для этого можно дать несколько советов:
ЗЫ. Тоже самое работает и с детьми и со студентами 😊
ЗЗЫ. Да, совсем тупые тоже бывают и с ними эта великолепная пятерка не работает. Но тут уж вам не повезло
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Blue (h/c)at Café (Женя Белкин '";DROP DATABASE db_name();--)
Продолжаем разговор про тестирование API. На этот раз не будет докера, мне было максимально лениво разбираться с Rust
Инструмент, которым я буду сам пользоваться называется CherryBomb.
- Написан на Rust
- Имеет варианты запуска (info, normal, intrusive(не работает) , passive, full
- Требуется файл OpenAPI v3 в формате json (можете ваши yml переводить в него тут)
📌
Тестирование проводил всё на том же VAmPI
cherrybomb --file openapi.json --profile full --ignore-tls-errors true -o report.json --format json
Жаль, что я не могу делать развёрнутые посты с несколькими скринами и подобным, но если кратко - умеет в читаемый вид (table), а также в формате json
📌
В скором времени напишу парсер в sarif или для defect dojo
У инструмента есть возможность запуска сканирования через конфигурационный файл
cherrybomb -c config.json
Пример для полного сканирования и авторизации через basic auth, с игнорированием ошибок tls и параметром логирования "normal":
{
"file" : "open-api.json",
"verbosity" : "normal,
"profile" : " "full",
"security": [{
"auth_type": "Basic",
"auth_value" : token_value,
"auth_scope" : scope_name
}],
"ignore_tls_errors" : true,
}#opensource #devsecops
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
О, тогда такой финт можно и с docker.socket провернуть!
Forwarded from Cybred
Интересный факт: Nginx умеет проксировать запросы не только на HTTP, но и на локальные Unix-сокеты.
Вот у нас есть конфигурация
Разработчики используют ее, чтобы проксировать запросы на Javascript-файлы в S3-бакет. Мы контролируем ту часть
НО! Мы хотим выжать из этого максимум и прокрутить что-то необычное, зная еще один интересный факт — на виртуалке, помимо Nginx, где-то рядом крутится еще и Redis.
А у него ещё и поднят свой сокет. Достаточно отправить в
А вот как раскрутить это дальше, обойти механизмы защиты и добиться эксфильтрации — читаем в последней статье уходящего года из полюбившегося цикла с мисконфигами Nginx.
После прочтения, советую следом разобрать райтап с Uni CTF, где обыгрывался кейс не только с дампом, но и с RCE в сложном эксплойте с PHP https://www.hackthebox.com/blog/uni-ctf-2022-spell-orsterra-writeup.
Вот у нас есть конфигурация
location ~ /static/(.*)/(.*.js) {
proxy_pass http://$1-example.s3.amazonaws.com/$2;
}Разработчики используют ее, чтобы проксировать запросы на Javascript-файлы в S3-бакет. Мы контролируем ту часть
URI, что идет после http://, поэтому можем использовать это, чтобы эксплуатировать SSRF или HTTP Splitting в чейне с другими уязвимостями, благодаря слабой регулярке.НО! Мы хотим выжать из этого максимум и прокрутить что-то необычное, зная еще один интересный факт — на виртуалке, помимо Nginx, где-то рядом крутится еще и Redis.
А у него ещё и поднят свой сокет. Достаточно отправить в
proxy_pass GET-запросом строку http://unix:/run/redis/redis.sock, и все, что идет после нее, попадет прямиком в Redis.А вот как раскрутить это дальше, обойти механизмы защиты и добиться эксфильтрации — читаем в последней статье уходящего года из полюбившегося цикла с мисконфигами Nginx.
После прочтения, советую следом разобрать райтап с Uni CTF, где обыгрывался кейс не только с дампом, но и с RCE в сложном эксплойте с PHP https://www.hackthebox.com/blog/uni-ctf-2022-spell-orsterra-writeup.
Telegraph
Приручаем Redis. Как сдампить базу данных через мисконфиг в Nginx
В прошлом году мы изучили разные мидлвары у прокси-серверов и балансировщиков нагрузки. Результаты оказались довольно интересными, - об одних находках мы уже знали, а с другими столкнулись впервые. Поэтому мы бы хотели поделиться тем, что нашли. Награды за…
👍1
Forwarded from linkmeup
Очередное покаяние уровня "Да как я вообще раньше жил без этого" - проект Atuin. Замещает собой стандартный хистори лог консоли, позволяя вытворять какие-то совершенно неприличные вещи, вроде синхронизации истории между разными машинами.
Смело брать, ставить, привыкать и в конце года делать atuin stats year.
https://github.com/atuinsh/atuin
Смело брать, ставить, привыкать и в конце года делать atuin stats year.
https://github.com/atuinsh/atuin
Forwarded from Real profit
SSH-Snake: is a self-propagating, self-replicating, file-less script that automates the post-exploitation task of SSH private key and host discovery
https://github.com/MegaManSec/SSH-Snake
https://github.com/MegaManSec/SSH-Snake
Forwarded from Offensive Xwitter
😈 [ Steve Campbell @lpha3ch0 ]
I felt like httpx was missing the ability to parse Nmap reports for http/s services and it made more sense to create a standalone utility. Nmapurls parses Nmap xml reports and outputs a list of URL's.
🔗 https://github.com/sdcampbell/nmapurls
🐥 [ tweet ]
I felt like httpx was missing the ability to parse Nmap reports for http/s services and it made more sense to create a standalone utility. Nmapurls parses Nmap xml reports and outputs a list of URL's.
🔗 https://github.com/sdcampbell/nmapurls
🐥 [ tweet ]
Forwarded from PWN AI
OWASP AI Exchange: руководство по защите и конфиденциальности ИИ.
В этом документе представлен комплексный обзор рисков ИИ на разных этапах:
1. Описание общих мер для защиты ИИ.
2. Угрозы при эксплуатации.
3. Угрозы на этапе разработки.
4. Угрозы безопасности приложений во время выполнения.
Более того, практически на каждом этапе можно рассмотреть т.н "особенности", с которыми можно иметь дело при реализации защищённого ИИ.
Пока что, данный документ находится на стадии разработки и всё-таки представляет более теоретическое описание с ссылками на стандарты и рекомендациями. Думаю его разбавят инструментами :)
Please open Telegram to view this post
VIEW IN TELEGRAM