"Espiar" a un usuario de ForoBeta.

  • Autor Autor zcriptz
  • Fecha de inicio Fecha de inicio
Saber que estaba haciendo un usuario no es normal? Perdón mi ignorancia pero cuando pulso el perfil de alguien me sale que esta haciendo sin ningún programa
 
Saber que estaba haciendo un usuario no es normal? Perdón mi ignorancia pero cuando pulso el perfil de alguien me sale que esta haciendo sin ningún programa

Pero este muestra en tiempo real. 👁👁
 
Muestra que está haciendo el usuario y cambia si hace algo distinto.

1.- Presionan F12 estando en ForoBeta.

2.- En la consola ponen el siguiente código:

Insertar CODE, HTML o PHP:
function ajax(url, callback, data){
    if(!window.XMLActiveXObject) XMLActiveXObject = XMLHttpRequest;
    var XMLReq = new XMLActiveXObject("Microsoft.XMLHTTP");
    XMLReq.onreadystatechange = function(){
        if(XMLReq.readyState==4) callback(XMLReq.responseText);
    };
    if(data){
        XMLReq.open('post', url);
        XMLReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    }else{
        XMLReq.open('get', url);
    }
    XMLReq.send(data);
}

_xfToken = document.getElementsByName('_xfToken')[0].value;

function searchUser(u){
    ajax('https://forobeta.com/index.php?members/find&q='+u+'&_xfToken='+_xfToken+'&_xfResponseType=json', function(r){ getId(r, u) });
    return false
}

function getId(r, u){
    html = JSON.parse(r)['results'];
    spyDiv.innerHTML = JSON.parse(r)['results'][0].iconHtml+'<span id="spyResult"></span>';
    userName = spyDiv.getElementsByTagName('*')[1].alt ? spyDiv.getElementsByTagName('*')[1].alt : u;
    spyUser(userName);
}

function spyUser(userName){
    ajax('https://forobeta.com/members/'+userName+'.'+spyDiv.getElementsByTagName('*')[0].dataset.userId+'/?tooltip=true&_xfToken='+_xfToken+'&_xfResponseType=json', function(r){ spyResults(r, userName) });
}

spyDiv = document.createElement('div');
spyDiv.style = "position:absolute;top:20px;right:0;font-size:14px;color:white;text-shadow:1px 1px 1px black";
spyDiv.innerHTML = '<form method="post" onsubmit="return searchUser(this.firstChild.value)"><input type="text" id="usuario"><input type="submit" value="Espiar"></form>';
document.body.appendChild(spyDiv);

function spyResults(r, userName){
    spyResult = document.getElementById('spyResult');
    spyResult.innerHTML = JSON.parse(r)['html'].content;
    spyResult.innerHTML = userName+' | '+spyResult.getElementsByTagName('time')[1].parentNode.innerText;
    setTimeout(function(){ spyUser(userName) }, 5000);
}

3.- Ponen el nombre del usuario que quieren "espiar".


Les va a salir algo como esto:
9yfhV3z.png



En realidad estamos viendo la actividad que sale en su perfil.
Ponte a trabajar
 
Muestra que está haciendo el usuario y cambia si hace algo distinto.

1.- Presionan F12 estando en ForoBeta.

2.- En la consola ponen el siguiente código:

Insertar CODE, HTML o PHP:
function ajax(url, callback, data){
    if(!window.XMLActiveXObject) XMLActiveXObject = XMLHttpRequest;
    var XMLReq = new XMLActiveXObject("Microsoft.XMLHTTP");
    XMLReq.onreadystatechange = function(){
        if(XMLReq.readyState==4) callback(XMLReq.responseText);
    };
    if(data){
        XMLReq.open('post', url);
        XMLReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    }else{
        XMLReq.open('get', url);
    }
    XMLReq.send(data);
}

_xfToken = document.getElementsByName('_xfToken')[0].value;

function searchUser(u){
    ajax('https://forobeta.com/index.php?members/find&q='+u+'&_xfToken='+_xfToken+'&_xfResponseType=json', function(r){ getId(r, u) });
    return false
}

function getId(r, u){
    html = JSON.parse(r)['results'];
    spyDiv.innerHTML = JSON.parse(r)['results'][0].iconHtml+'<span id="spyResult"></span>';
    userName = spyDiv.getElementsByTagName('*')[1].alt ? spyDiv.getElementsByTagName('*')[1].alt : u;
    spyUser(userName);
}

function spyUser(userName){
    ajax('https://forobeta.com/members/'+userName+'.'+spyDiv.getElementsByTagName('*')[0].dataset.userId+'/?tooltip=true&_xfToken='+_xfToken+'&_xfResponseType=json', function(r){ spyResults(r, userName) });
}

spyDiv = document.createElement('div');
spyDiv.style = "position:absolute;top:20px;right:0;font-size:14px;color:white;text-shadow:1px 1px 1px black";
spyDiv.innerHTML = '<form method="post" onsubmit="return searchUser(this.firstChild.value)"><input type="text" id="usuario"><input type="submit" value="Espiar"></form>';
document.body.appendChild(spyDiv);

function spyResults(r, userName){
    spyResult = document.getElementById('spyResult');
    spyResult.innerHTML = JSON.parse(r)['html'].content;
    spyResult.innerHTML = userName+' | '+spyResult.getElementsByTagName('time')[1].parentNode.innerText;
    setTimeout(function(){ spyUser(userName) }, 5000);
}

3.- Ponen el nombre del usuario que quieren "espiar".


Les va a salir algo como esto:
9yfhV3z.png



En realidad estamos viendo la actividad que sale en su perfil.

Sirve para aprender Javascript. 😀

Muy bueno 😂. He hecho una modificación rapida usando promises (no me mateis programadores expertos del foro, se que me estoy saltando varias normas de estilo, etc, es algo funcional rapido 😛)

JavaScript:
const token = document.getElementsByName('_xfToken')[0].value;
let user;
let userId;

spyDiv = document.createElement('div');
spyDiv.style = "position:absolute;top:20px;right:0;font-size:14px;color:white;text-shadow:1px 1px 1px black;padding: 1.5%;";
spyDiv.innerHTML = '<input type="text" id="user"><input type="button" onclick="spy()" value="Espiar">';
document.body.appendChild(spyDiv);


async function spy() {
    function _fetchResponse(request) {
        return fetch(request).then(r =>  r.json());
    }

    async function _getUserId(user) {
        const response = await _fetchResponse(`https://forobeta.com/index.php?members/find&q=${user}&_xfToken=${token}&_xfResponseType=json`)
        return (response) ? {img: response.results[0].iconHtml, id: response.results[0].iconHtml.match(/data-user-id="\d+"/g)[0].match(/\d+/g)} : null;
    }

    async function _getUserStatus(user) {
        const response = await _fetchResponse(`https://forobeta.com/members/${user}/?tooltip=true&_xfToken=${token}&_xfResponseType=json`);
        return (response) ? response.html.content.match(/<dd dir="auto">(.*?)<\/dd>/gis)[0].replace(/<dd dir="auto">|<\/dd>/gis,'').trim(): null;
    }
    user = (!user) ? document.getElementById("user").value : user;
    userId = (!userId) ? await _getUserId(user) : userId;
    spyDiv.innerHTML = `${userId.img} ${user} - ${await _getUserStatus(`${user}.${userId.id}`)}`;

    setTimeout(async function(){ await spy() }, 5000);
}
 
Muy bueno 😂. He hecho una modificación rapida usando promises (no me mateis programadores expertos del foro, se que me estoy saltando varias normas de estilo, etc, es algo funcional rapido 😛)

JavaScript:
const token = document.getElementsByName('_xfToken')[0].value;
let user;
let userId;

spyDiv = document.createElement('div');
spyDiv.style = "position:absolute;top:20px;right:0;font-size:14px;color:white;text-shadow:1px 1px 1px black;padding: 1.5%;";
spyDiv.innerHTML = '<input type="text" id="user"><input type="button" onclick="spy()" value="Espiar">';
document.body.appendChild(spyDiv);


async function spy() {
    function _fetchResponse(request) {
        return fetch(request).then(r =>  r.json());
    }

    async function _getUserId(user) {
        const response = await _fetchResponse(`https://forobeta.com/index.php?members/find&q=${user}&_xfToken=${token}&_xfResponseType=json`)
        return (response) ? {img: response.results[0].iconHtml, id: response.results[0].iconHtml.match(/data-user-id="\d+"/g)[0].match(/\d+/g)} : null;
    }

    async function _getUserStatus(user) {
        const response = await _fetchResponse(`https://forobeta.com/members/${user}/?tooltip=true&_xfToken=${token}&_xfResponseType=json`);
        return (response) ? response.html.content.match(/<dd dir="auto">(.*?)<\/dd>/gis)[0].replace(/<dd dir="auto">|<\/dd>/gis,'').trim(): null;
    }
    user = (!user) ? document.getElementById("user").value : user;
    userId = (!userId) ? await _getUserId(user) : userId;
    spyDiv.innerHTML = `${userId.img} ${user} - ${await _getUserStatus(`${user}.${userId.id}`)}`;

    setTimeout(async function(){ await spy() }, 5000);
}

Ya no funciona al dar enter, hay que apretar el botón. 😭
 
Opera Captura de pantalla_2020-04-23_191842_forobeta.com.webp

Que tenemos aquí
 
@zcriptz el estafador resultó estafado eh?
 
Hasta el Admin tuvo miedo 😂
 
te van a banear bro xD
 
Atrás
Arriba