Computer Security
[EN] securityvulns.ru
no-pyccku



Related information

  Web applications security vulnerabilities summary (PHP, ASP, JSP, CGI, Perl)

  JE Guestbook 1.0 Joomla Component Multiple Remote Vulnerabilities

  Contact Form Generator (EditFormLite)
SQL Injection Vulnerability

From:MustLive <mustlive_(at)_websecurity.com.ua>
Date:01.10.2010
Subject:Многочисленные уязвимости в WordPress 2 и 3

Здравствуйте 3APA3A!

Сообщаю вам о найденных мною Cross-Site Scripting, Full path disclosure, Information Leakage, Directory Traversal, Arbitrary File Deletion и Denial of Service уязвимостях в WordPress.

Для всех этих атак нужно иметь доступ к админскому аккаунту, или иметь аккаунт с правами для работы с плагинами. Или атаковать админа или другого пользователя с необходимыми правами через XSS, чтобы узнать токен, предназначенный для защиты от CSRF атак.

Проверено в WordPress 2.0.11, 2.6.2, 2.7, 2.8, 2.9.2, 3.0.1. Версии 2.0.х неуязвимы, потому что в них нет данного функционала. К разных уязвимостям уязвимы WordPress 2.6 - 3.0.1 и потенциально предыдущие версии.

Комментируя XSS уязвимость в WordPress 3.0.1 (http://www.securityfocus.com/archive/1/513250), я указал дополнительную информацию относительно XSS уязвимости. Данные нюансы относятся и к нижеприведённым уязвимостям. Атаковать можно как через параметр checked[0], так через checked[1] и т.д., а также через checked[]. В версиях WP 2.7 и выше можно использовать параметр action=delete-selected, а в версиях 2.8 и выше можно использовать также параметр action2=delete-selected.

XSS (WASC-08):

Как я указал в вышеупомянутом письме, в WordPress 2.6.x Cross-Site Scripting атака проводится по другому. И пользы от данной XSS почти никакой.

Для атаки нужно послать POST запрос к http://site/wp-admin/plugins.php с параметрами _wpnonce равному значению токена, delete-selected равному “Delete” и checked[] равному <body onload=alert(document.cookie)>.

Уязвимы WordPress 2.6.x и потенциально предыдущие версии.

Full path disclosure (WASC-13):

Для атаки нужно послать POST запрос к http://site/wp-admin/plugins.php с параметрами _wpnonce равному значению токена, delete-selected равному “Delete” и checked[] равному "1".

Уязвимы WordPress 2.6.x и потенциально предыдущие версии.

Full path disclosure (WASC-13):

http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&action=delete-
selected&checked[]=1
http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&action2=delete-
selected&checked[]=1

Уязвимы WordPress 2.7 - 3.0.1 (для параметра action2 - 2.8 и выше).

Full path disclosure (WASC-13):

http://site/wp-admin/plugins.php

Полный путь выводится прямо на странице с плагинами.

Уязвимы WordPress 2.6 - 2.7.1.

Information Leakage (WASC-13) + Directory Traversal (WASC-33):

На странице (в списке под ссылкой Click to view entire list of files which will be deleted) выводится список файлов в текущей папке и подпапках.

В папке http://site/wp-content/plugins/:

http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&action=delete-
selected&checked[]=
http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&action2=delete-
selected&checked[]=

В папке http://site/wp-content/:

http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&action=delete-
selected&checked[]=../1
http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&action2=delete-
selected&checked[]=../1

Уязвимы WordPress 2.7 - 3.0.1 (для параметра action2 - 2.8 и выше). А также WordPress 2.6.х. В версиях 2.6.х нужно послать соответствующий POST запрос к http://site/wp-admin/plugins.php (как упоминалось выше).

Arbitrary File Deletion (WASC-42) + DoS (WASC-10):

Если послать вышеупомянутые запросы с параметром verify-delete=1, то можно удалить файлы и папки в текущей папке и подпапках. Учитывая Directory Traversal можно удалить как все плагины, так и другие файлы в других папках, в том числе можно провести DoS атаку на сайт (если удалить важные файлы WP). Например с запросом checked[]=../../1 можно удалить весь сайт.

http://site/wordpress-2.9.2/wp-admin/plugins.
php?_wpnonce=e0dc6c722b&action=delete-selected&checked[]=../1&verify-
delete=1
http://site/wordpress-2.9.2/wp-admin/plugins.
php?_wpnonce=e0dc6c722b&action2=delete-selected&checked[]=..
/1&verify-delete=1

Уязвимы WordPress 2.7 - 3.0.1 (для параметра action2 - 2.8 и выше). А также WordPress 2.6.х. В версиях 2.6.х нужно послать соответствующий POST запрос к http://site/wp-admin/plugins.php (как упоминалось выше).

Дополнительная информация о данных уязвимостях у меня на сайте:
http://websecurity.com.ua/4575/

Best wishes & regards,
MustLive
Администратор сайта
http://websecurity.com.ua

About | Terms of use | Privacy Policy
© SecurityVulns, 3APA3A, Vladimir Dubrovin
Nizhny Novgorod

 
 



Rating@Mail.ru