XSS, CSRF та AFU уразливості в Organizer для WordPress

23:51 24.04.2012

16.04.2012

Ще 18.04.2008 я знайшов Cross-Site Scripting, Cross-Site Request Forgery та Arbitrary File Upload (Code Execution) уразливості в плагіні Organizer для WordPress. Але довго відкладав публікацію інформації про дані уразливості. Це друга порція уразливостей в плагіні Organizer. Про що найближчим часом повідомлю розробникам плагіна.

Раніше я писав про уразливості в Organizer для WordPress.

Детальна інформація про уразливості з’явиться пізніше. Спочатку повідомлю розробникам.

24.04.2012

XSS:

http://site/wp-admin/admin.php?page=organizer/page/users.php&edit_id=%3Cscript%3Ealert(document.cookie)%3C/script%3E

XSS (Persistent):

Organizer XSS-2.html

Код виконається на сторінці users.php плагіна.

CSRF:

Через атаку на функцію Add/Edit User Setting можна додавати і редагувати налаштування. Додавання і редагування поєднані в один і той же POST запит.

POST запит на сторінці http://site/wp-admin/admin.php ?page=organizer/page/users.php (аналогічно експлоіту для XSS).

Через атаку на функцію Delete User Setting можна вадалити налаштування.

http://site/wp-admin/admin.php?page=organizer/page/users.php&delete_id=admin

Arbitrary File Upload (Code Execution):

Можливе необмежене завантаження файлів з виконанням коду (php файлів). Тому що в полі File extensions allowed можна вказати розширення скриптів, такі як “php”.

Так що окрім використання обхідних методів, таких як подвійні розширення (при нашаштуваннях плагіна по замовчуванню), можна змінити налаштування і задати “php” в дозволені розширення. Що дозволить завантажувати на сервер та виконувати довільні скрипти. Окрім проведення атаки на адміна через вищезгадану CSRF уразливість для зміни налаштувань (або отримання доступу до адмінського акаунту для цього), також для цього можна використати Insufficient Authorization уразливість (при наявності акаунта навіть з найменшими правами Subscriber).

Уразливі Organizer 1.2.1 та попередні версії.


Leave a Reply

You must be logged in to post a comment.