В конечных точках Flask API Book-Management-System /student, /record, /books, /find_stu_book и /find_not_return_book отсутствует декоратор @login_required, который защищает родственные маршруты (/search_student, /storage) в том же файле. Это позволяет любому неаутентифицированному удаленному пользователю получить персональные данные учащегося (имя, пол, срок действия карты, статус задолженности) и полную историю взятия книг взаймы, указав card_id. Поскольку значения card_id являются последовательными целыми числами, всю базу данных учащихся можно перечислить без аутентификации.
Показать оригинальное описание (EN)
Book-Management-System's Flask API endpoints /student, /record, /books, /find_stu_book, and /find_not_return_book are missing the @login_required decorator that protects sibling routes (/search_student, /storage) in the same file. Because card_id values are sequential integers, the entire student database can be enumerated without authentication.
Характеристики атаки
Последствия
Строка CVSS v3.1