Как мы все знаем svg графика основана на xml. Xml в свою очередь потдерживает исполнение JS. Считаю сегодняшний день пиком svg xss уязвимостей. Для эксплуатации требуется всего 2 условия: 1) сработает только на html5 и svg поддерживаемых браузерах. 2) для отработки нужна активация элемента svg. На сегодня 98% пользователей выбирают ie/chrome/ff/opera/ safari, которые удовлетворяют условиям. Для многих оказалось загадкой каким образом я получил вывод алерта и редирект (http://forum.antichat.ru/showpost.php?p=3700973&postcount=482) на сайте vk, по этому снял мини видео с техническими деталями особенности эксплуотации именно этой уязвимости. Svg в iOS выполняется а не скачивается, далее все зависит от ваших познаний в JS. Видео: http://video.yandex.ru/users/doe-joe2015/view/3/ Эксплоит: https://www.dropbox.com/s/jayntht5k42dap5/2.svg.zip
В данном случае это уязвимость iOS и ее закрытости, в часности ошибка что все приложения для iOS построенные на базе cocoa(sysapi) + webkit(render html) . На примере dropbox: яндекс: Мэйл: etc... Таким образом уязвимы все ресурсы позваляющие скачивать не исполняя svg для пользователей iPhone/iPad/iPod, это уже часность второго пункта из первого поста, тема призвана показать практический вектор внедрения Js в svg.
Я думал о том что-бы развернуть его, но технически alert(document.cookie) или ссылку на ТДС вставить может каждый, по тому решил не тратить Ваше время этим как и перечислением уязвимых ресурсов. Хотя соглашусь можно было написать код массового вступления и рассылки нашей картинки по друзьям в том-же ВК. в продолжении темы, google и обычный браузер:
Судя по отсутсвию критики, никто даже не вникал в то, что показано на видео. Проблема достаточно серьезная, но все же преувеличена и примеры не совсем корректны. Большинство крупных ресурсов давно закрыли возможность загрузки файлов на основной домен, поэтому: не ВК, а *.vk.me не dropbox, а dl.dropboxusercontent.com не Яндекс, а *.disk.yandex.ru не МейлРу, а *.datacloudmail.ru не Гугл, а *.googlecontent.com XSS выполняются в контексте других доменов и сами по себе не несут угрозы. Хотя в случае с Янексом используется поддомен основного домена, поэтому при определенных условиях (а эти условия на Яндексе есть) можно выполнить код в контексте yandex.ru (https://forum.antichat.ru/thread312298.html) Кстати, это не пассивки, а активки (в смысле stored XSS). Браузеры под iOS игнорируют "Content-Disposition"?
Content-Disposition: attachment Происходит противоречие именно из-за него. Вообще загрузка совеобразна, данные из фаил сначало подгружаются в .plist. Нашел фишку, можно вставлять html в .svg , через протакол "data:" обходит ограничения на "<>" за счет встроеного base64. http://ru.wikipedia.org/wiki/Data:_URL