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