Код iframe не выполняется при вводе - PullRequest
1 голос
/ 20 января 2012

Я пытался использовать этот код в некоторых исследованиях XSS, которые я провожу. Я хочу создать iframe на уязвимой странице с текстом по своему выбору. Если я возьму приведенный ниже код и вставлю его в теги html и перейду к нему, тогда iframe будет создан, как ожидается, с текстом. Однако, если я пытаюсь внедрить код в мою тестовую поверхность (чертовски уязвимое веб-приложение), появляется окно iframe, но текст не создается. Может кто-нибудь сказать мне, что здесь происходит, и если есть способ это исправить?

<script type="text/javascript">

    function populateIframe() {
        var ifrm = document.getElementById('myIframe');
        ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
        ifrm.document.open();
        ifrm.document.write("hello world!");
        ifrm.document.close();
    }
</script>
<body onload="populateIframe();">
<iframe id="myIframe"></iframe>

Спасибо! * * 1004

1 Ответ

2 голосов
/ 20 января 2012

Попробуйте закрыть тег <script>.


Если это не поможет, возможно, что populateIframe() не вызывается .

Не зная точно вашей ситуации, рискну предположить, что на уязвимой странице уже есть элемент <body>, который мешает загрузке вашего второго ... не совсем уверен, что происходит при наличии 2 body тегов. В этом случае вы можете удалить дополнительный тег body и заменить iframe на:

<iframe id="myIframe" onload="populateIframe();"></iframe>

Тогда ваш JS будет вызван, когда iframe будет добавлен в DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...