Bypassing javascript filters the flash! Attack

Вступ
Web-додатки і Cross Site Scripting
Запобігання Cross Site Scripting атак
Flash! атака
Уразливі ресурси і приклади програм
способи запобігання
Демонстраційний приклад на eyeonsecurity.org
посилання
Подяки

Web-додатки і Cross Site Scripting

Запобігання Cross Site Scripting атак

- методи використовуються в даний час

Для забезпечення безпеки Web додатків розробники використовують будь-який з трьох підходів для запобігання XSS атак:

  • Відкидаються все HTLM коди введені користувачем
  • Дозволяються тільки певні теги. Це зазвичай досягається використанням спеціальних кодів, які додаток замінює на відповідні кодам теги
  • Фільтруються або видаляються всі елементи скриптів з HTML коду

Існують web додатки, що дозволяють публікувати на сайті Flash анімацію, такі як deviantART, або просто закачувати Flash ролики для зберігання, подібно FTP сайтам.

Цей документ розповідає, як легко можна Оботе фільтрацію через помилки проектування web додатки. Ця помилка полягає в тому, що до Flash анімації відносяться як до безпечного вмісту. Вмісту не здатна утримувати активні компоненти.

Flash! атака

Уразливі ресурси і приклади програм

Нижче наведено скріншот, який ілюструє цю ідею:

Згаданий вище deviantART дозволяє користувачам розміщувати Flash файли для загального огляду. Звичайно ж, атакуючий може зареєструвати новий акаунт, розмістити зловмисний Flash файл і захопити акаунти інших користувачів і навіть акаунт адміністратора. Не будемо наводити конкретні приклади реалізації атаки.

Популярні движки форумів Ikonboard і YaBB [12] особливо уразливі до цієї атаки. Ці форуми дозволяють використовувати специфічні теги [flash], що перетворюються додатком в коректні теги .

Цей рядок перетвориться додатком в наступний код:

способи запобігання

Просте рішення: забороніть розміщення Flash файлів на Вашому сайті.

Однак, в більшості випадків, не все так просто. Наприклад розглянемо випадок з DeviantART. Для цього ресурсу Flash анімація невід'ємна частина контенту. Вони не можуть просто відмовитися від використання Flash.

Можливі рішення від:

Macromedia (розробники Flash плеєра)

Macromedia і EyeonSecurity вели спільні роботи для того щоб знайти рішення для web розробників. Було запропоновано дозволити web- дизайнерам змінювати поведінку поміщеного в html сторінку Flash-контенту. Це рішення підходить для публікацій в форумах і подібних сайтів, але розроблено не для того, щоб спотворювати / ламати будь-які з існуючих анімаційних Flash роликів.

Web-дизайнери та web-розробники

Код цього прикладу обійде будь-який захист, пропоновану вище, тому що немає getURL ( 'javascipt: whatever'). Крім того, є ще одне, мабуть більш підходяще, рішення - використовувати різні домени для зберігання і відображення Flash-роликів. Цей спосіб також може бути використаний, щоб зробити доступним активний контент і в інших документах, таких як файли HTML. Це означає, що якщо ваш домен securewebapplication.com, то ви могли б зберігати потенційно небезпечний контент на securewebapplication.net. Звичайно це означає, що контент securewebapplication.net НЕ требут аутентифікації за допомогою сесій, таким чином він доступний анонімним користувачам. Важливо, щоб потенційно небезпечний контент відображався тільки з «знешкоджених домену», це означає, що якщо флеш документ включений в файл HTML, то і цей HTML файл також повинен бути відображений з «знешкоджених» домену.

Демонстраційний приклад на eyeonsecurity.org

Cross-site scripting