Archive for the 'безопасность' Category

Кросс-доменная уязвимость в WordPress

Описание

Особенность WordPress’а, которая редиректит пользователя после авторизации, может быть использована для фишинговых целей.

Параметр ‘redirect_to’ обычно содержит относительный URL, на который будет произведен редирект после успешной попытки авторизации.

Например: /wordpress/wp-admin/index.php

Тем не менее, этот параметр также позволяет использовать абсолютные URL, не принадлежащие данному сайту.

Например: http://legitimate.com/wordpress/wp-login.php?redirect_to=http://evil.com

или

http://legitimate.com/wordpress/wp-login.php?redirect_to=http://%65%76%69%6c%2e%63%6f%6d

(в шестнадцатиричном виде для целей сокрытия)

где ‘http://evil.com’ - сайт, на котором будет расположена страница авторизации Wordpress.

Сценарий атаки

  1. Злоумыуленник запускает фишинг-атаку против жертвы, используя URL:
    http://legitimate.com/wordpress/wp-login.php?redirect_to=http://%65%76%69%6c%2e%63%6f%6d
  2. Жертва заходит на сайт и проходит успешную попытку авторизации.
  3. Жертва редиректится на evil.com, где расположена ложная страница авторизации, которая выглядит так же, как и оригинальная. Эта страница содержит сообщение об ошибке авторизации.
    Например, “ERROR: Invalid username.”
  4. Жертва думает, что он/она неправильно ввел/ввела логин и повторяет попытку.
  5. Авторизационные данные оказываются у злоумышленника.

Тестируемые версии

Wordpress 2.2.1

Благодарности

Adrian Pastor

Решение проблемы

Разрешить редиректы только относительные URL.

Разработчики работают над решением проблемы без значительных изменений функциональности.

Оригинал (на англ.)