XSS, Redirector та FPD уразливості в WordPress

23:51 29.06.2012

У лютому, 23.02.2012, я знайшов Cross-Site Scripting, Redirector та Full path disclosure уразливості в плагіні Akismet для WordPress. Він є core-плагіном (починаючи з версії WP 2.0), тому ці уразливості також стосуються самого WordPress. Це перша порція уразливостей в плагіні Akismet.

Раніше я вже писав про IAA, Redirector та XSS уразливості в WordPress.

XSS:

При GET запиті до скрипта http://site/wp-admin/edit.php ?page=akismet-admin&recheckqueue=1, або http://site/wp-admin/ edit-comments.php?page=akismet-admin&recheckqueue=1 або http://site/wp-admin/admin.php?action=akismet_recheck_queue (в залежності від версії, в WP 3.x використовується остання адреса).

З вказанням заголовка Referer. Це можна зробити через Flash або інші методи.

Referer: data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5jb29raWUpPC9zY3JpcHQ+

На веб серверах IIS редирект відбувається через заголовок Refresh, а на інших веб серверах - через заголовок Location.

Redirector (URL Redirector Abuse):

При GET запиті до скрипта http://site/wp-admin/edit.php ?page=akismet-admin&recheckqueue=1, або http://site/wp-admin/ edit-comments.php?page=akismet-admin&recheckqueue=1 або http://site/wp-admin/admin.php?action=akismet_recheck_queue (в залежності від версії, в WP 3.x використовується остання адреса).

З вказанням заголовка Referer. Це можна зробити через Flash або інші методи.

Referer: http://attackers_site

В WP <= 2.0.11 (Akismet <= 2.0.2) через помилку в плагіні не працюють XSS і Redirector атаки, але вони працють з більш новими версіями плагіна в різних версіях WordPress (до 3.4).

При цьому в останній версії Akismet 2.5.6 (що постачається з WP 3.4 та 3.4.1) ці дві уразливості вже виправлені (причому приховано, без жодного згадування в readme.txt плагіна чи в анонсах WP). Схоже, що це трапилося після моєї березневої чи квітневої публікації про XSS і Redirector уразливості через редиректори в WP.

Full path disclosure:

Через вищезгадану помилку в плагіні не працюють XSS і Redirector атаки, зате має місце FPD при запиті до скрипта (в старих версіях Akismet, таких як 2.0.2).

http://site/wp-admin/edit.php?page=akismet-admin&recheckqueue=1 або http://site/wp-admin/edit-comments.php?page=akismet-admin &recheckqueue=1 (в залежності від версії WP).

Full path disclosure:

Якщо попередня FPD має місце в акаунті, то дані FPD доступні без авторизації.

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

http://site/wp-content/plugins/akismet/akismet.php

http://site/wp-content/plugins/akismet/legacy.php

http://site/wp-content/plugins/akismet/widget.php

Це одні з багатьох FPD, що існують в останніх версіях WordPress. З часом я напишу про інші FPD в WP (що я знайшов у березні, коли дослідив усі FPD в зовнішньому функціоналі движка).

Уразливі Akismet 2.5.6 та попередні версії та WordPress 2.0 - 3.4.1.


Leave a Reply

You must be logged in to post a comment.