Аналитика Telegram-канала
Подписчики
493
Охват за 24 ч
12
ER за 24 ч
2,43%
Публикаций
2 677
Динамика подписчиков
7 дней
30 дней
6 месяцев
Больше
25 окт28 окт31 окт
Показаны последние 7 дней
Больше истории →
Охваты публикаций
30.1030.1030.1030.1031.1031.10
3
Средний охват
5
Лучший результат
Показаны 6 публикаций — последние в канале
Больше статистики →
Упоминания
843
Упоминаний
297
Из них репостов
9
Каналов
2 213
Упоминаний
1 499
Из них репостов
19
Каналов
Последние посты
3 из 2 677 2 из 2 677🔓 Модуль для Metasploit: часть 2 - от SQLi до чекаута за один run
В прошлый раз показывал сканер, который вскрывает логин Juice Shop и забирает JWT админа. Обещал докрутить до полноценного эксплоита - держите. Теперь это full-chain: четыре стадии атаки в одном модуле
Цепочка:
1️⃣ SQLi-байпас логина → кража JWT администратора
2️⃣ Декод JWT → извлечение user id (поле bid там, кстати, отсутствует - проверено стектрейсом 😄)
3️⃣ Boolean SQLi в поиске → находим скрытый товар с deletedAt (спойлер: Christmas Super-Surprise-Box 2014 года, id=10)
4️⃣ Инъекция товара в корзину → чекаут → orderConfirmation в кармане
Итог одного run:
[+] Logged in as: admin@juice-sh.op
[+] Hidden product: id=10 Christmas Super-Surprise-Box
[+] CHECKOUT DONE! Order confirmation: 5267-1877e5ea2b92e6a5
Технические заметки для тех, кто пишет свои модули:
🔹 В JWT Juice Shop нет basket id - только data.id. Не гадайте по токену: подтверждайте корзину запросом GET /rest/basket/<id>
Самое ценное в таких цепочках - это то, что они показывают: одна SQLi никогда не живёт одна. Авторизация сломана → бизнес-логика сломана → магазин продаёт то, чего нет на витрине. Именно так выглядит реальный импакт в отчёте пентестера, а не абстрактное «высокий риск» 📊
Стенд - OWASP Juice Shop, легальная песочница. Parrot Security OS, Ruby, Metasploit. Часть 3 уже в разработке 👀
#пентест #cybersecurity #metasploit #ruby #sqli #owasp #juiceshop #redteam #jwt #infosec #этичныйхакинг #exploit
ещё
4
0
31 окт, 18:05
🔓 Ещё один модуль для Metasploit - на этот раз под Juice Shop
Давно не брал в руки шашки. Решил добавить в свою коллекцию модулей для msf новый экземпляр: auxiliary-сканер под OWASP Juice Shop, который находит цель, бьёт SQLi в форму логина и уносит JWT администратора. Один run - и ты внутри.
Что под капотом:
1️⃣ Автодетект - boolean-blind оракул через поиск товаров (мимо встроенного фильтра, который режет UNION)
2️⃣ Байпас аутентификации - классический ' OR 1=1-- в /rest/user/login
3️⃣ JWT - в loot, уязвимость - в базу vulns, всё готово для отчёта
Из заметок в полях (для тех, кто тоже пишет свои модули):
🔹 Кириллица в метаданных модуля крашит info с encoding error - сериализатор msf до сих пор не умеет в UTF-8. Рантайм-строки - можно, метаданные - только ASCII
🔹 После правок модуля сносите ~/.msf4/store - кэш метаданных будет отдавать вам старую версию до посинения
🔹 report_vuln в свежих версиях требует host: вместо ip: - в документации ни слова, узнаёшь из стектрейса
🔹 msftidy на Parrot падает с собственным NameError в обработчике ошибок. Линтер, у которого баг в коде обработки багов - это прекрасно 😄
Стенд - OWASP Juice Shop, машина - Parrot Security OS. Всё в легальной песочнице, как и положено 🎓
Из личного опыта: свои модули - это другой уровень понимания фреймворка. Когда пишешь сам, начинаешь видеть, как msf думает. Рекомендую каждому, кто застрял на уровне «use + run» 👨💻
#пентест #cybersecurity #metasploit #ruby #sqli #owasp #juiceshop #parrotos #redteam #багхантинг #infosec #этичныйхакинг
ещё
3
0
31 окт, 15:52
⚡ Как я стал админом одним POST-запросом: Register Admin Challenge в OWASP Juice Shop
Гоняю по вечерам OWASP Juice Shop - магазинчик, специально напичканный дырами для тренировки. Взялся за челлендж «Register Admin» - зарегистрировать юзера с правами администратора.
Точка входа 🔍
Регистрация идёт через авто-сгенерённый CRUD - POST /api/Users. Рука сама тянется подкинуть лишнее поле в JSON:
JSON
{ "email": "x@y.z", "password": "123", "role": "admin" }
Сервер честно кладёт всё тело запроса в модель. Вайтлиста нет. Клиент попросил роль - клиент получил роль. Классика mass assignment: доверять инпуту от юзера - как оставлять шелл с root на проде.
Бам - админка за один запрос. 💥
Бонус-раунд: выбери правильный фикс 🎯
К задачке есть задачка посложнее - найти строку с багом и выбрать, как её починить. Виноват хук resource.create.send.before(...): последнее место, где можно перетереть роль до сохранения, - пропущено.
Фиксы:
❌ Добавить 'role' в exclude - обманка. В finale это работает на сериализацию ответа, а не на запись. Баг живее всех живых.
✅ Форсить роль на сервере: context.instance.role = 'customer' - критичные поля выставляет только бэк. Правильный фикс.
❌ «Если роль пришла - оставь как есть» - это не фикс, это официальное сохранение уязвимости 🍬
❌ Удалить несвязанный код - remediation by deletion, мимо кассы.
Выводы 💻
Увидел авто-CRUD (finale, loopback) - шли всё, что модель не должна принимать: role, isAdmin, balance.
«Не возвращается в ответе» ≠ «нельзя записать».
Исправление одно: критичные поля задаёт только сервер. Период.
Админы, которые думают, что их код безопасен, - мой любимый вид дичи 🦌
#juiceshop #owasp #bugbounty #pentest #massassignment #redteam
ещё
5
0
30 окт, 22:30
Продолжить анализ этого канала
- История роста подписчиков
- Просмотры и охваты публикаций
- Кто упоминает канал и кого упоминает он
- Похожие каналы и подбор для рекламы
Открыть аналитику
Демо до 14 дней