Доступ к чужому заказу
Вопрос
Страница заказа открывается по адресу /orders/10452. Какая проверка безопасности здесь обязательна?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- Под другим пользователем открыть чужой заказ: нужен отказправильный ответ
- Проверить, что номер заказа отображается крупным шрифтом
- Проверить, что страница заказа открывается быстрее секунды
- Проверить, что адрес страницы короче 100 символов
Разбор
Это проверка на IDOR (небезопасная прямая ссылка на объект): сервер должен проверять, что заказ принадлежит текущему пользователю, а не просто отдавать запись по номеру. Подставлять чужой номер нужно и в адрес, и в запрос API, ожидая 403 или 404. Номера часто идут по порядку, и перебором можно выгрузить чужие адреса и телефоны. Шрифт, скорость и длина адреса к безопасности не относятся. 404 вместо 403 иногда предпочтительнее: не раскрывает, что заказ существует.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.