Comments 9
До сих пор умиляет, когда в 2025 г. видишь userid и orderid в int. Но, подозреваю, скоро таких примеров станет ещё больше.
Проблема не в инкременте, а в том, что не проверяется принадлежность. Ее надо проверять энивей, хоть у вас идентификатор в виде гуид, хоть в виде лонга. Это сама по себе большая дырка, и гораздо более опасная.
Естественно это главная проблема, однако каждый раз, в срочном порядке запиливая новую фичу к существующему функционалу, такие дыры возникают повсеместно. Но, при непредсказуемых id этими дырами крайне сложно воспользоваться. Что помогает поправить эту ошибку в будущем без потерь для компании.
Все так, но все же любой чувствительный сервис надо начинать писать с аутентификации/авторизации (области доступности к данным, возможности выполнять те или иные операции), иначе брутфорс творит чудеса, да и создание какой-либо сущности часто не требует никакого ID, так как она создается.
Разве проблема не в том, что вместо отмены транзакции деньги куда-то возвращают ? Да еще не туда откуда получили, а куда-то еще.
Я извиняюсь, но скока деняк? А то может было целесообразнее эксплуатировать эту уязвимость, если они жадные.
Денежная ловушка или эксплуатация BAC биллинга