Как защитить виджеты от поддельных запросов

Допустим, у вас есть JavaScript-виджет, который должен игнорировать запрос к вашему веб-приложению, если и только если пользователь хочет на него кликнуть. Вы не хотите, чтобы этот запрос был уязвим для CSRF, поэтому напишите на странице iframe. Основываясь на правилах наследования происхождения, родительский сайт не сможет прочитать CSRF-токен. Однако, как насчет clickjacking (или likejacking )? Из-за CSRF вы должны быть внутри iframe и там для x-frame-options не может помочь, и то же самое справедливо и для frame-busters.

Атакующий применит маску SVG SVG к ифрейму после загрузки виджета. Эта маска сделает ифрейм невидимым. В этот момент атакующий может либо изменить размер iframe в соответствии с размером страницы, либо сделать его теперь невидимым, следуя за курсором. В любом случае, когда пользователь кликает в любом месте страницы, iframe получает событие клика и его игра заканчивается.

Итак, есть двойственность, кажется, что вы застряли между CSRF и Clickjacking. Какое лучшее решение (если таковое существует) этой проблемы?

16
задан rook 7 September 2011 в 02:32
поделиться