XSS уразливості в 215000 флеш файлах
22:41 12.11.2008Проводячи сьогодні дослідження уразливості на cpmstar.com, що я знайшов 19.01.2008, я виявив, що в Інтернеті дуже багато флешек з цією ж самою уразливістю. Всього в Інтернеті біля 215000 флеш файлів вразливих до Cross-Site Scripting (на більше 200000 сайтів).
Це видно з даних Google:
І це тільки ті флешки, що проіндексував Гугл, а реально їх може бути набагато більше. В результатах трапляються сайти з невразливими флешками (або сайти де вже немає згаданих флешек), але це поодинокі випадки, і майже всі сайти в результатах пошуку Гугла є вразливими. До речі, торік я вже писав, що 500000 flash файлів на популярних сайтах уразливі до XSS.
XSS:
Уразливість в наступному AS коді:
getURL(_root.clickTAG, "_blank");
Атака відбувається через передачу XSS коду flash файлу в параметрі clickTAG:
http://site/flash.swf?clickTAG=javascript:alert('XSS')
При кліку на флешку відбувається передача функції getURL рядку, що переданий флешці через параметр clickTAG. Таким чином може виконатися JS код, що був переданий флешці.
На http://server.cpmstar.com:
Зазначу, що флешки з target = “_blank” (в getURL) не дозволяють дістатися до cookies. А також вони не працють в IE6. Якщо target заданий не “_blank” (або зовсім не вказаний), то тоді флешки дають можливість дістатися до кукісів в усіх браузерах (та працють в IE6).
Ось ще приклади вразливих флешек на трьох сайтах:
На http://www.banjohangout.org:
На http://ad1.emediate.dk:
На http://www.open4smart.eu:
Існують подібні флешки, що використовують змінну clickTAG, з наступним AS кодом:
getURL(_root.clickTAG, _root.TargetAS);
Атака відбувається з використанням змінних clickTAG і TargetAS:
http://site/flash.swf?clickTAG=javascript:alert('XSS')&TargetAS=
На http://www.adspeed.com:
Це дозволяє дістатися до кукісів в усіх браузерах та атака нормально працює в IE.
Дані XSS - це strictly social XSS, про які я вже згадував стосовно уразливості на craigslist.org. Про даний клас уразливостей я ще розповім детально.
P.S.
Як я вияснив під час додаткових досліджень, при target = “_blank” (в getURL) можна дістатися до кукісів в Firefox 3. Тому при вказаному в флешці target = “_blank” до кукісів не можна дістатися в IE6 та Mozilla, зате можна дістатися до кукісів в Firefox 3 і можливо в інших браузерах.
Понеділок, 19:49 01.12.2008
I wrote this article on English in The Web Security Mailing List: XSS vulnerabilities in 215000 flash files.