Примечания к выпуску Django 1.4.20

18 марта 2015 г.

Django 1.4.20 устраняет одну проблему безопасности в версии 1.4.19.

Снижены возможные атаки XSS через URL-адреса перенаправления, предоставленные пользователем

В некоторых случаях Django полагается на ввод пользователя (например, django.contrib.auth.views.login() и i18n ) для перенаправления пользователя на URL-адрес «при успехе». Безопасность проверяет эти перенаправления (а именно django.utils.http.is_safe_url() ) принятых URL-адресов с ведущими управляющими символами и поэтому считается \x08javascript:... безопасным URL- адресом. В настоящее время эта проблема не влияет на Django, поскольку мы помещаем этот URL-адрес только в Location заголовок ответа, а браузеры, похоже, игнорируют там JavaScript. Браузеры, которые мы тестировали, также обрабатывают URL-адреса с префиксом управляющих символов, таких как %08//example.com относительные пути, поэтому перенаправление на небезопасную цель также не является проблемой.

Однако, если разработчик полагается на is_safe_url() обеспечение безопасных целей перенаправления и помещает такой URL-адрес в ссылку, он может пострадать от XSS-атаки, поскольку некоторые браузеры, такие как Google Chrome, игнорируют управляющие символы в начале URL-адреса в привязке href .

Copyright ©2021 All rights reserved