Часто встречаются ошибки в логике проверки, когда на этапе подтверждения кода можно изменить имя пользователя, получить некий разрешающий токен, применимый к любому пользователю.
Недавно видел реализацию, когда при вводе правильного пароля пользователю выдавался токен для указания на втором этапе, во избежание обхода последовательности этапов. Но этот же токен можно было получить при запросе на восстановление пароля, что давало возможность сразу перейти ко второму этапу.
Post #38
139