Code Execution в Contact Form 7 для WordPress
23:52 21.11.201328.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 розробник вже виправив дану уразливість.
Понеділок, 21:18 30.09.2013
в версии 3.5.1 нет Code Execution
Есть, header injection:
Testing\nCc: spamrecipient@example.com\n\nSome
Но Code Execution не нашел
Понеділок, 23:58 30.09.2013
DeXtR, ты плохо искал. В Contact Form 7 есть Code Execution, причём весьма хорошая (не только в аккаунте админа работает, но при определённых условиях даже без авторизации).
Про Mail Command Injection (aka Header injection) в версии 3.5.1 мне известно - читал ченжлог программы. Сам я нашёл CE уязвимость в более старой версии плагина (на сайте своего клиента). Планирую выкачать версию 3.5.2 и проверить в ней, но, судя по ченжлогу, разработчик сам не нашёл её и уязвимость всё ещё актуальна для последней версии.
Вівторок, 12:22 01.10.2013
Видимо плохо Надо попробовать с разными “penetration tools” поискать.
На счет СЕ уязвимости - то в западных публикациях проскакивали сообщения админов вида “Нашли 1200 сайтов, которые експлуатировались через Contact Form 7″. Но особо нигде не публиковались способы и суть уязвимости. Как-то странно, обычно публикуют
Видимо какая-то хитрая СЕ. Под админом - несложно, есть теги для выполнения php кода, а вот без прав - не удалось раскрутить(если не затруднит намекни в е-мейле, в какую сторону смотреть)
Ты не пробовал раскручивать эту уязвимость?
http://vagosec.org/2013/09/wordpress-php-object-injection
Благодарю за классный блог!
Неділя, 01:44 13.10.2013
DeXtR, поищи . Нашёл я все дыры в CF7 вручную, как я всегда работаю (никогда не пользуюсь ПО для поиска уязвимостей), так что ищи. При этом на софт сильно не надейся (это довольно сложные дыры и мало вероятно, что какой-нибудь сканер их осилит).
Явно какие-то дыры в CF7 использовались для этих взломов, возможно одна из найденных мною CE. Детальную информацию обо всех найденных мною уязвимостях в CF7 я опубликую со временем.
Нет, не пробовал. Лишь вкратце о ней прочитал. У меня есть работа и свои собственные проекты, которыми нужно заниматься, так что не часто нахожу время для исследования таких дыр.