Разорение жесткого убийцы FRAME - PullRequest
1 голос
/ 19 февраля 2012

Я пытался разбить это в течение нескольких часов, но безуспешно ... Я сейчас в отчаянии: (

Я провожу тестирование на проникновение для компании, и мне нужно обойти этого убийцу фреймов. JS:

<script type="text/javascript">/* <![CDATA[ */
if (top != self) {
    try {
        if (parent != top) {
            throw 1;
        }
        var disallowed = ['XXXXXXX.com'];
        var href = top.location.href.toLowerCase();
        for (var i = 0; i < disallowed.length; i++) {
            if (href.indexOf(disallowed[i]) >= 0) {
                throw 1;
            }
        }
    } catch (e) {
        try {
            window.document.getElementsByTagName('head')[0].innerHTML = '';
        } catch (e) { /* IE */
            var htmlEl = document.getElementsByTagName('html')[0];
            htmlEl.removeChild(document.getElementsByTagName('head')[0]);
            var el = document.createElement('head');
            htmlEl.appendChild(el);
        }
        window.document.body.innerHTML = '<a href="#" onclick="top.location.href=window.location.href" style="text-decoration:none;"><img src="http://www.XXXXXXX.com/img/XXXXXX.gif" style="border:0px;" /><br />Go to XXXXXXX.com</a>';
    }
}

/* ]]> */</script>

Большое спасибо!

1 Ответ

1 голос
/ 29 декабря 2012

Используйте одно из следующего:

Если контекст просмотра документа узла элемента тела является вложенным контекстом просмотра, а контейнер контекста просмотра этого вложенного контекста просмотра является элементом frame или iframe, то элемент frame контейнера элемента body является этим элементом frame или iframe. В противном случае отсутствует элемент рамки контейнера.

Приведенные выше требования подразумевают, что страница может изменять поля другой страницы (включая одну из другого источника), используя, например, iframe. Это потенциально угроза безопасности, поскольку в некоторых случаях она может позволить атаке создать ситуацию, в которой страница отображается не так, как задумал автор, возможно, с целью фишинга или иного введения пользователя в заблуждение.

Ссылки

...