Кросс-доменная уязвимость в 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.

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

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

Если Вам понравилась эта статья, подпишитесь на мой RSS-фид

No comments yet.

Write a comment:

You must be logged in to post a comment.