Нові уразливості в Register Plus Redux для WordPress

17:20 29.12.2011

30.11.2011

Нещодавно, 25.11.2011, я знайшов 36 уразливостей в плагіні Register Plus Redux для WordPress. Перевірялася остання версія плагіна. Це перша з серії публікацій про нові дірки в даному плагіні. В якій я розповім про Cross-Site Scripting, SQL Injection, Code Execution та Full path disclosure уразливості. Про що вже повідомив розробникам.

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

Детальна інформація про уразливості з’явиться пізніше.

29.12.2011

XSS:

POST запит на сторінці http://site/wp-login.php?action=register
</textarea><script>alert(document.cookie)</script>В полі: About Yourself.

Використовуючи функцію Autocomplete URL можна провести атаку через GET:

http://site/wp-login.php?action=register&description=%3C/textarea%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

Всі атаки на persistent XSS та persistent SQL Injection уразливості на сторінці конфігурації плагіна можуть проводитися через reflected XSS уразливості з метою обходу захисту від CSRF-атак.

Persistent XSS:

При включенні в налаштуваннях плагіна опції Show Invitation Code Tracking widget on Dashboard та додання коду запрошення (Add a new invitation code), можна вказати JS/VBS код.
<script>alert(document.cookie)</script>
Який спрацює на сторінці Dashboard (http://site/wp-admin/index.php). Це дефолтна сторінка, на яку заходять адмін та користувачі сайта при аутентифікації.

Persistent SQL Injection:

При включенні в налаштуваннях плагіна опції Show Invitation Code Tracking widget on Dashboard та додання коду запрошення (Add a new invitation code), можна вказати код для SQL ін’єкції.
' and benchmark(1000000,md5(now())) and 1='1Який спрацює при відвідуванні сторінки Dashboard (http://site/wp-admin/index.php). Це Persistent Blind SQL Injection.

Code Execution:

Маючи доступ до налаштувань плагіна, можна провести Code Execution через аплоаідінг 1.phtml.jpg. Це залежить від версії движка, про що я писав в записі Виконання коду в WordPress 2.5 - 3.1.1. Дана атака спрацює в версіях движка до WordPress 3.1.3, де розробники виправили функціонал аплоадінга (що використовується плагіном).

Full path disclosure:

http://site/wp-content/plugins/register-plus-redux/register-plus-redux.php

В register-plus-redux.php є FPD як і в попередніх версіях. А файл dash_widget.php (з FPD) перероблений на dashboard_invitation_tracking_widget.php, в якому вже немає FPD.

Так само як і виправлена FPD при POST запиті на сторінці http://site/wp-login.php?action=register. Але спеціальним чином її можна відновити.

При доданні нового поля в Additional Fields і при вказанні 1 (або майже будь-якого значення) в полі Options та включенні опції Show on Registration, з’явиться FPD при POST запиті на сторінці http://site/wp-login.php?action=register.

Також можна додати на сайт ще дві FPD уразливості. Якщо вказати Custom Logo URL адресу не до файла зображення або просто “http://”, то буде виводиться повідомлення про помилку з FPD на сторінках http://site/wp-admin/options-general.php ?page=register-plus-redux і http://site/wp-login.php?action=register.

Уразливі Register Plus Redux v3.7.3.1 та попередні версії. На замовлення мого клієнта я розробив нову версію плагіна з виправленними усіма знайденними мною уразливостями. Тому всі користувачі цього плагіна можуть знайти нову й безпечну версію плагіна в Інтернеті.


Leave a Reply

You must be logged in to post a comment.