Презентация способов обхода XSS фильтров на BlackHat

BlackHatЕжегодно проводимая конференция BlackHat является одним из самых значимых событий в сфере информационной безопасности. В этом году эксперты из множества стран собрались в Лас Вегасе, чтобы показать и обсудить результаты своих исследований. Разумеется, не обошли стороной веб-безопасность – наиболее интересное выступление дали Эдуардо Вела (Eduardo Vela) и Дэвид Линдсэй (David Lindsay) на тему реализации XSS-атак в условиях WAF. Были затронуты практически все самые известные программные продукты, связанные с защитой от XSS как на стороне сервера, так и клиента: PHP-IDS, Mod_Security, XSSFilter в IE8, NoScript. Наиболее слабым оказался Mod_Security, поэтому авторы доклада рекомендуют использовать PHP-IDS вместо него. XSSFilter, изначально неспособный защитить от всех типов XSS (по словам разработчиков из MS в силу производительности браузера), также был повержен несколькими новыми XSS-векторами. На уровне клиента докладчики посоветовали использовать Firefox+NoScript, хотя и для последнего были найдены способы обхода. Ознакомиться с материалами выступления можно на сайте одного из авторов. Презентация получилась немалой – более 100 страниц. Много внимания уделено новым XSS-векторам, некоторые из которых просто поражают воображение. Только взгляните:

(É=[Å=[],µ=!Å+Å][µ[È=-~-~++Å]+({}+Å) [Ç=!!Å+µ,ª=Ç[Å]+Ç[+!Å],Å]+ª])() [µ[Å]+µ[Å+Å]+Ç[È]+ª](Å)

($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''
+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_)

За этим, казалось бы, беспорядочным набором символов кроется всем известный javascript:alert(1);. Кроме того, показаны примеры XSS, которые могут возникнуть в будущем с внедрением HTML5, а также уязвимость в PHP-функции utf8_decode(), позволяющая эксплуатировать неправильную обработку UTF-8. В целом, доклад, если не инновационный с точки зрения способов обхода, то уж точно приносящий много пищи для размышления, как разработчикам, так и взломщикам.


Posted

in

by

Tags:

Comments

12 responses to “Презентация способов обхода XSS фильтров на BlackHat”

  1. Pento Avatar
    Pento

    Спасибо, особенно интересно будет почитать про обход NoScript

  2. Kuzya Avatar

    Супер! Большое спасибо! Отправился качать материал =)

  3. mikhail Avatar
    mikhail

    Спасибо, интересный доклад, жалко только, что в б-гмерзком ppt, у меня местами верстка “поплыла”.
    Заинтересовался про NoScript, но не понял, почему в варианте со “сложным и длинным js будет убил только NoScript, разве при зависании на обработке javascript не весь браузер будет падать? Мне казалось, что разделение обработки js на несколько потоков еще только в планах…

  4. halk Avatar

    жаль только что оргкомитет мало выкладывает материалов с конференции
    я бы пересмотрел все видео докладов, если была бы возможность 🙂

    пошел смотреть презентацию 🙂

  5. elwaux Avatar

    http://www.facebook.com/video/?id=107691635153
    маленький видео-отчет за 2009 год )

  6. js-tester Avatar
    js-tester

    Объясните, вкратце, как такое работает:

    ($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!”
    +$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_)

    если не трудно, конечно

  7. Raz0r Avatar

    Нашел онлайн-демонстрацию этого вектора на сайте автора: http://utf-8.jp/public/jjencode.html
    Также есть презентация на эту тему, но она, к сожалению, на японском: http://utf-8.jp/public/20090710/jjencode.pps

  8. d0znp Avatar

    Я вот тут разобрал все вроде подробно. Только его online encoder не так делает, как пример из презентации написан, но похоже в принципе, вот, почитайте если интересно:
    http://oxod.ru/2009/08/26/обход-xss-фильтров-по-средствам-особенос/

  9. Dragon_X Avatar
    Dragon_X

    Презентация на японском, н ов целом всё понятно
    вот ссылки на первоисточники:

    http://www.namazu.org/~takesako/ppencode/LLDN2005-ppencode.ppt
    http://d.hatena.ne.jp/reosablo/20090514/1242306038

    P.S. Закшифрованный текст действительно получается большим. Хотя в криптографии есть методы решения проблемы

  10. Что? Где? Когда? Avatar
    Что? Где? Когда?

    Есть вариатны и без кавычек:
    (ß=[],[Ç=!!ß+ß,µ=!ß+{}][µ[ª=Ç[++ß]+Ç[+!ß],È=ß-~ß]+µ[È+È]+ª])()[µ[ß]+µ[ß+ß]+Ç[È]+ª](ß)

    http://forum.antichat.ru/thread135845.html
    Но публииковать способ создания никто нихочет)

  11. […] время очень популярной темой, о чем свидетельствуют последние исследования. Как всегда, под прицелом самый известный из файрволов […]

  12. Dron Avatar
    Dron

    Вот спасибо! Кручу один сайт идеологически нехороший. Есть XSS, но раскрутить не могу. Попробовал ради эксперимента, маленько исправив – вывалилось “A Database Error Occurred” и интересная инфа о БД.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.