Разрешение клиентской кросс-фреймовой атаки

Мы разработали новое приложение, и перед перемещением изменений мы сделали статическое сканирование кода с использованием checkmarx. Существует уязвимость среднего уровня, которая обнаружена в коде, называемом Client Cross Frame Scripting Attack.

Это отключено в первой строке страницы JSP:

<!DOCTYPE html>

Можете ли вы помочь мне понять эту атаку и что нужно сделать, чтобы устранить это?

3 ответа

Запрос клиентской межсайтовой скриптовой атаки определяет, защищена ли страница от встраивания в IFrame. Он ищет такие условия, как:

 if (top != self)
 if (top.location != location)
 if (top.frames.length != 0)

и так далее.

Этот конкретный файл, я полагаю, не имеет таких условий, поэтому он, скорее всего, не защищает себя, и именно поэтому запрос нашел и пометил его. Так как мы ищем пропущенную строку здесь, результат просто показывает вам файл, и не может показать вам, где проблема.

Надеюсь, поможет,

Адар из Checkmarx.

Просто добавьте следующий фрагмент кода в ваш HTML-файл.

<style id='antiClickjack'>
    body{display:none !important;}
</style>

<script type='text/javascript'>
    if (self === top) {
    var antiClickjack = document.getElementById('antiClickjack');
    antiClickjack.parentNode.removeChild(antiClickjack);
    } else {
    top.location = self.location;
    }
</script>

Для получения более подробной информации об этой проблеме и для решения проблемы кросс-фрейм-скриптинга обратитесь к https://css-tricks.com/snippets/javascript/break-out-of-iframe/

По сути, добавьте это в файл макета самого родителя (_Layout.cshtml в C# MVC).

        (function (window) { // Prevent Cross-Frame Scripting attacks
            if (window.location !== window.top.location)
                window.top.location = window.location;
        })(this);
Другие вопросы по тегам