DoS уразливість в WordPress

23:55 12.04.2012

В WordPress 2.9, що вийшла 19.12.2009, як було заявлено розробниками системи, зокрема була виправлена Abuse of Functionality уразливість в WordPress. Що могла привести до DoS, а в деяких випадках до повного захоплення сайта (при наявності інсталятора на сайті). Розробники WP заявили, що вони зробили автоматичне виправлення таблиць в БД.

Але 24.03.2012 я знайшов Denial of Service уразливість в даному секюріті функціоналі движка, а потім також перевірив, що виправлення таблиць в БД не є автоматичним. Тільки адмін сайта, коли виявить, що його сайт не працює, понен сам вручну запустити виправлення таблиць (і щоб не використовувати інші програми, до WP був доданий зручний скрипт). Тобто AoF уразливість, про яку я писав в травні 2009, так виправлена не була. І все ще можливе проведення атак через неї.

В WP 2.9 і вище, скрипт repair.php - це захист проти моєї атаки на WP через атаку на MySQL. Який сам має DoS уразливість.

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

DoS:

Постійно відправляючи запити до скрипта http://site/wp-admin/maint/repair.php (функції “Repair Database” та “Repair and Optimize Database”) можна створити велике навантаження на сайт (і увесь сервер). І чим більше даних в БД сайта, тим більше навантаження від кожного запиту.

http://site/wp-admin/maint/repair.php?repair=1&_wpnonce=a4ca36d5ff
http://site/wp-admin/maint/repair.php?repair=2&_wpnonce=a4ca36d5ff

Атака спрацює лише при увімкненому WP_ALLOW_REPAIR в wp-config.php. Захист від CSRF (токенами) обходиться тим, що для використання цього функціоналу не потрібна авторизація. Тому можна віддалено отримати _wpnonce та провести DoS атаку.

Якщо до раніше згаданої AoF вразливі всі версії WordPress, то до DoS вразливі версії 2.9 - 3.3.1.


Leave a Reply

You must be logged in to post a comment.