Все думают UUID нельзя подобрать. Ага как бы не так 😄
/api/order/a1b2c3d4-e5f6-7890-abcd-ef1234567890 - ну как ты угадаешь?
Никак. Но тебе и не надо угадывать.
Вчера смотрю как QA на проекте у себя тестит (я его курирую). Открывает свой заказ. В ответе приходит:
{
"my_order"
"a1b2c3d4...",
"other_orders"
[
"b2c3d4e5...",
"c3d4e5f6..."
]
}
Бекендер для удобства отдал список всех последних заказов в том же ответе. С UUID.
QA увидел и прошел мимо. "Ну это же просто список, UUID же не угадаешь".
А это уже IDOR. Критический. Тебе отдали чужие UUID. Дальше просто подставляешь.
Тот же баг что и с 1024 -> 1025 или 10-11.
Только в 2026 так делают чаще, потому что думают UUID = защита.
QA бы завел как "лишние данные в ответе" - low.
AppSec заведет как "IDOR + Information Disclosure, утечка PII" - critical + премия.
Бекенд не защищает UUID. Защищает проверка "твой ли это заказ".
Сколько раз вы видели в ответе чужие id и не обращали внимания?
Вы можете верить можете нет я такие проблемы вижу постоянно, ок не постоянно вру, но оооочеь часто
Наверное не зря да IDOR на первом месте стоит??
Мораль поста!
Есть UUID? Не переберешь особенно v4, v7
Но что если получить UUID где-то в другом месте?
Вот и думайте
Post #822
823
- 🔥 8
- ❤ 6
- 🙏 3
- 👍 1