Уязвимость в Hashview 0.8.1 позволяет захватить учетную запись через функцию сброса пароля, поскольку SERVER_NAME не настроен и, следовател…
Уязвимость в Hashview 0.8.1 позволяет захватить учетную запись через функцию сброса пароля, поскольку SERVER_NAME не настроен и, следовательно, сброс зависит от HTTP-заголовка Host. Уязвимость связана с отсутствием проверки заголовка Host при генерации ссылок для сброса пароля с использованием функции url_for с параметром _external=True. Злоумышленник может отправить запрос на сброс пароля с поддельным заголовком Host, что приведет к генерации ссылки на сброс пароля, указывающей на домен, контролируемый злоумышленником. Это позволяет злоумышленнику перехватить токен сброса и полностью скомпрометировать учетную запись [1]. Рекомендуемые меры по исправлению: - Явно указать SERVER_NAME в app.config. - Проверить заголовок Host, чтобы предотвратить его изменение. - Удалить _external=True, если внешние ссылки не требуются. Источники: - [1] https://github.com/hashview/hashview/blob/579a082176279f4af0e128e44c9da5667f82ec5a/hashview/users/routes.py#L198-L218 - [2] https://github.com/hashview/hashview/issues/145
Веб-приложение не выполняет достаточной проверки входных данных, которые считаются неизменяемыми, но фактически могут контролироваться извне, — например, скрытых полей форм.
https://cwe.mitre.org/data/definitions/472.html →Открыть в коллекции CWE →Данная атака основана на использовании HTTP-cookie для хранения учётных данных, сведений о состоянии и других критически важных данных в клиентских системах. Существует несколько различных форм этой атаки. Первая форма предполагает доступ к HTTP-cookie с целью извлечения потенциально конфиденциальных данных, содержащихся в них. Вторая форма — перехват этих данных при их передаче от клиента к серверу. Перехваченная информация затем используется злоумышленником для имитации удалённого пользователя/сессии. Третья форма — модификация содержимого cookie злоумышленником перед его отправкой обратно серверу. В этом случае злоумышленник стремится убедить целевой сервер работать на основе этих фальсифицированных данных.
https://capec.mitre.org/data/definitions/31.html →Открыть в коллекции CAPEC →В обстоятельствах, когда приложение хранит важные данные на стороне клиента в токенах (cookie-файлах, URL, файлах данных и т. п.), этими данными можно манипулировать. Если клиентские или серверные компоненты приложения повторно интерпретируют эти данные как токены аутентификации или данные (например, цены на товары в магазине или информацию о кошельке), то даже непрозрачная манипуляция этими данными может принести результат злоумышленнику. В данном шаблоне злоумышленник подрывает допущение о том, что клиентские токены были надлежащим образом защищены от подделки с помощью шифрования или запутывания.
https://capec.mitre.org/data/definitions/39.html →Открыть в коллекции CAPEC →Злоумышленник повреждает или модифицирует содержимое XML-схемы, передаваемой между клиентом и сервером, с целью подрыва безопасности цели. XML-схемы определяют структуру и содержимое XML-документов. Отравление схемы — это возможность манипулировать схемой путём её замены или изменения для компрометации программ, обрабатывающих документы, использующие данную схему.
https://capec.mitre.org/data/definitions/146.html →Открыть в коллекции CAPEC →Злоумышленник манипулирует существующими учётными данными с целью получения доступа к целевому приложению. Учётные данные сессии позволяют пользователям идентифицировать себя в сервисе после первоначальной аутентификации, не отправляя аутентификационную информацию (как правило, имя пользователя и пароль) с каждым сообщением. Злоумышленник может манипулировать учётными данными, перехваченными из существующего соединения, для получения доступа к целевому серверу.
https://capec.mitre.org/data/definitions/226.html →Открыть в коллекции CAPEC →