XSS та BF уразливості в WordPress

23:57 23.03.2012

В WordPress є ще чимало уразливостей, в тому числі тих, які не виправлені до сих пір. І зараз я розповім про три уризливості, дві з яких вже виправлені, а одна має місце навіть в останній версії движка. Це Cross-Site Scripting та Brute Force уразливості WP.

Раніше я вже писав про Brute Force уразливість в WordPress. Нищенаведена BF уразливість є п’ятою Brute Force в WP.

XSS:

В 2007 році я писав про редиректори в WordPress, для яких я випустив патч в MustLive Security Pack v.1.0.5 (і цей патч також захищає від XSS). Тоді дослідники, які знайшли редиректори, не дослідили їх на XSS, тому я вирішив зробити це самостійно.

Через дані редиректори можливі XSS атаки (через data URI):

http://site/wp-login.php?redirect_to=data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5jb29raWUpPC9zY3JpcHQ%2B&action=logout
http://site/wp-pass.php?_wp_http_referer=data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5jb29raWUpPC9zY3JpcHQ%2B

На веб серверах IIS редирект відбувається через заголовок Refresh, а на інших веб серверах - через заголовок Location. Розробники виправили редиректори в WP 2.3 (і зробили це приховано, що є типовим для них з 2007 року). Тому Redirector і XSS атаки можливі лише в попередніх версіях.

Brute Force:

Окрім BF через XML-RPC функціонал, також можна підбирати паролі через APP функціонал. На що я звернув увагу, коли 19.03.2012 вирішив оприлюднити BF через XML-RPC і дослідив APP функціонал.

http://site/wp-app.php

Уразливі WordPress 2.3 - 3.3.1.

Починаючи з версії WP 2.3 в движку з’явилася підтримка Atom Publishing Protocol. В даному функціоналі немає захису від BF атак (використовується Basic Authentication). APP функціонал за замовчуванням відключений з версії 2.6, як і XML-RPC.

Розробники WP відключили його разом з XML-RPC (коли відключали останній), тобто не мотивуючи це як протидію Brute Force, але це в тому числі спрацювало як захист від Brute Force атак. І відповідно ця проблема не стосується тих, хто використовує WordPress починаючи з версії 2.6 з налаштуванням за замовчуванням. А ось для тих, кому потрібно використовувати APP, ті будуть мати Brute Force уразливість, тому що розробники не зробили дієвого захисту від неї.

Існують плагіни для WordPress, що захищають від BF атак через форму логіна (а деякі також і від BF атак через кукіси). Але жоден плагін не захистить від даної атаки через APP та від раніше згаданих атак через XML-RPC та на запаролені записи і сторінки.


Leave a Reply

You must be logged in to post a comment.