Cross-Site Scripting уразливості в різних браузерах через редиректори

23:59 28.11.2012

05.08.2010

У листопаді, 30.11.2009, я виявив Cross-Site Scripting уразливості в різних браузерах. Зокрема в Mozilla Firefox, Internet Explorer, Google Chrome та Opera.

Дані уразливості дозволяють виконувати XSS атаки на численні сайти, в тому числі ті, що не мають XSS уразливостей (блокують відповідні XSS атаки). Тобто браузери дозволяють обходити дані XSS фільтри. Про що найближчим часом повідомлю розробникам.

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

28.11.2012

Дане дослідження є продовженням моїх досліджень Cross-Site Scripting атаки через редиректори та Cross-Site Scripting через редиректори 301 і 303 в різних браузерах (зроблених в 2009 і 2012 роках відповідно). Після анонсу в серпні 2010, я планував встановити декілька нових браузерів, провести дослідження в них (на додачу до раніше зроблених в інших браузерах) і найближчим часом опублікувати результати, але публікація відклалася. Лише у вересні цього року я зробив додаткові дослідження з 301 і 303 редиректорами (для вищезгаданої і цієї статті), та почав оприлюднювати результати.

Редиректори можуть використовуватися для проведення XSS атак на сайти, що дозволяють вказувати адресу фрейма. При включенні редиректора у frame чи iframe можна провести XSS атаку. Це Remote XSS Include (RXI) підкласс Cross-Site Scripting уразливостей і вони достатньо поширені в Інтернеті.

Код спрацює по різному в різних браузерах - так само як і при прямому запиті до редиректорів, описаних у вищезгаданих статтях. В одних браузерах працює атака через одні редиректори, в інших - через інші.

XSS:

Атака працює в наступних редиректорах:

  1. Через Location редиректор (301 Moved Permanently) data: URI - працює в Firefox 3.0.19, 3.5.19, 3.6.28, 10.0.7, 15.0.1 та Opera 9.52, 10.62 без доступу до кукісів та DoS в IE7
  2. Через Location редиректор (301 Moved Permanently) javascript: URI - працює в Opera 10.62 (як Strictly social XSS) без доступу до кукісів
  3. Через Location редиректор (302 Found) data: URI - працює в Firefox 3.0.19, 3.5.19, 3.6.28, 10.0.7, 15.0.1 та Opera 9.52, 10.62 (як Strictly social XSS) без доступу до кукісів та DoS в IE7
  4. Через Location редиректор (302 Found, Object Moved або Moved Temporarily) javascript: URI - працює в Firefox 3.0.19, 3.5.19, 3.6.28 як Strictly social XSS, код виконається в контексті сайта з редиректором, Opera 10.62 (як Strictly social XSS без доступу до кукісів)
  5. Через Refresh редиректор data: URI - працює в Firefox 3.0.19, 3.5.19, 3.6.28, 10.0.7, 15.0.1 без доступу до кукісів та Chrome
  6. Через Refresh редиректор javascript: URI - працює в Firefox (до версії 3.0.9), IE6, Chrome та Opera 9.52 (до версії 10)
  7. Через Location редиректор (303 See other) data: URI - працює в Firefox 3.0.19, 3.5.19, 3.6.28, 10.0.7, 15.0.1 та Opera 10.62 без доступу до кукісів та DoS в IE7
  8. Через Location редиректор (303 See other) javascript: URI - працює в Opera 10.62 (як Strictly social XSS) без доступу до кукісів

Атака №4 працює в Mozilla Firefox 8.0.1 та попередніх версіях, а в версіях 9.0.1, 10.0.7, 15.0.1 вже ні - видає “Corrupted Content Error”. Тобто дана уразливість була приховано виправлена в версії 9.0. Мозілі я повідомив про ці атаки на їхній браузер ще 07.08.2010.

Дані уразливості дозволяють проводити універсальну XSS атаку на сайтах, що дозволяють вказувати адресу frame/iframe, навіть якщо вони напряму не допускають XSS (блокують javascript, vbscript і data URI). Найкраще для атаки підходить Refresh-редиректори.


Leave a Reply

You must be logged in to post a comment.