найди ошибку (Серия из 2 частей)
Эй, там! 👋
Я немного занимался поиском ошибок в своем старом проекте, когда обнаружил интересную ошибку. Ты можешь его найти?
Если вы знаете свою безопасность или PHP, это может быть довольно легко для вас. В противном случае это может быть хорошим упражнением.
!! Не смотрите на комментарии, чтобы избежать спойлеров, если вы хотите решить эту проблему самостоятельно!!
Это запрос, который вы бы отправили на сервер:
curl --location --request POST 'https://super.secure-api.com/check-pin' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ' \
--data-raw '{
"pin":
}'
И это код для данной конечной точки ( /контрольный pin-код )
if($params['pin'] != $user->getPin()) {
throw new HttpException(403, "The pin is incorrect");
}
return "The pin is correct!";
ПД: Это всего лишь демонстрация, а не реальный код. Вы никогда не должны проверять пароли/PIN-коды/секреты подобным образом.
Какой ввод вам нужно будет передать в качестве PIN-кода, чтобы иметь возможность обойти проверку?
Через пару дней я опубликую пост, в котором подробно объясню ошибку и как ее исправить.
найди ошибку (Серия из 2 частей)
Оригинал: “https://dev.to/nombrekeff/can-you-find-the-bug-in-this-piece-of-php-code-g7l”