Code Execution в Contact Form 7 для WordPress

23:52 21.11.2013

28.09.2013

У вересні, 17.09.2013, я виявив Code Execution уразливість в плагіні Contact Form 7 для WordPress. Про що найближчим часом повідомлю розробникам веб додатку.

Стосовно плагінів для WordPress раніше я писав про уразливості в численних плагінах для WordPress з VideoJS.

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

21.11.2013

Code Execution (WASC-31):

Атака відбувається через аплоадер. Для виконання коду потрібно завантажити phtml (на веб серверах з PHP) чи asp/aspx (на IIS) файли.

В контактній формі потрібно, щоб був тег аплоадера, для якого потрібно вказати дозволені розширення (бо окрім списку заборонених розширень, плагін має ще й список дозволених, серед яких немає скриптів).

[file file-423 filetypes:phtml]

Файли завантажуються в папку:

http://site/wp-content/uploads/wpcf7_uploads/

При створенні цієї папки створюється файл .htaccess (Deny from all).

Це можна обійти або при використанні інших веб серверів окрім Apache (де .htaccess ігнорується), або на Апачі можна використати уразливості в WP для видалення файлів, або через LFI уразливість включити файл з цієї папки.

Уразливі Contact Form 7 3.5.2 та попередні версії. В версії 3.5.3 розробник вже виправив дану уразливість.


4 відповідей на “Code Execution в Contact Form 7 для WordPress”

  1. DeXtR каже:

    в версии 3.5.1 нет Code Execution

    Есть, header injection:

    Testing\nCc: spamrecipient@example.com\n\nSome

    Но Code Execution не нашел :)

  2. MustLive каже:

    DeXtR, ты плохо искал. В Contact Form 7 есть Code Execution, причём весьма хорошая :-) (не только в аккаунте админа работает, но при определённых условиях даже без авторизации).

    Про Mail Command Injection (aka Header injection) в версии 3.5.1 мне известно - читал ченжлог программы. Сам я нашёл CE уязвимость в более старой версии плагина (на сайте своего клиента). Планирую выкачать версию 3.5.2 и проверить в ней, но, судя по ченжлогу, разработчик сам не нашёл её и уязвимость всё ещё актуальна для последней версии.

  3. DeXtR каже:

    Видимо плохо :) Надо попробовать с разными “penetration tools” поискать.

    На счет СЕ уязвимости - то в западных публикациях проскакивали сообщения админов вида “Нашли 1200 сайтов, которые експлуатировались через Contact Form 7″. Но особо нигде не публиковались способы и суть уязвимости. Как-то странно, обычно публикуют :)

    Видимо какая-то хитрая СЕ. Под админом - несложно, есть теги для выполнения php кода, а вот без прав - не удалось раскрутить(если не затруднит намекни в е-мейле, в какую сторону смотреть)

    Ты не пробовал раскручивать эту уязвимость?
    http://vagosec.org/2013/09/wordpress-php-object-injection

    Благодарю за классный блог! 8)

  4. MustLive каже:

    DeXtR, поищи :) . Нашёл я все дыры в CF7 вручную, как я всегда работаю (никогда не пользуюсь ПО для поиска уязвимостей), так что ищи. При этом на софт сильно не надейся (это довольно сложные дыры и мало вероятно, что какой-нибудь сканер их осилит).

    На счет СЕ уязвимости - то в западных публикациях проскакивали сообщения админов

    Явно какие-то дыры в CF7 использовались для этих взломов, возможно одна из найденных мною CE. Детальную информацию обо всех найденных мною уязвимостях в CF7 я опубликую со временем.

    Ты не пробовал раскручивать эту уязвимость?

    Нет, не пробовал. Лишь вкратце о ней прочитал. У меня есть работа и свои собственные проекты, которыми нужно заниматься, так что не часто нахожу время для исследования таких дыр.

Leave a Reply

You must be logged in to post a comment.