URL Encoding
Provavelmente já devem ter reparado, que em alguns sites quando olham para a barra de endereços encontram no URL caracteres que não fazem à partida nenhum sentido, como por exemplo:
http://www.site.pt/o%20meu%20ficheiro.php
Na realidade este endereço é o mesmo que:
http://www.site.pt/o meu ficheiro.php
Acontece que o computador não sabe o que são espaços nos nomes de ficheiros então dá-se uma conversão para código ASCII. Neste exemplo %20 é o código ASCII do caracter espaço em hexadecimal.
Isto pode no entanto ser perigoso para os utilizadores menos informados ou distraídos dado que podem receber por exemplo num e-mail um link como o seguinte:
http://www.site%0d%46%41%4c%53%4f.pt
Pode parecer que isto vai para ao endereço www.site.pt, mas na realidade vai para a www.site_falso.pt onde poderá estar à espera do utilizador uma réplica do site original para proceder à captura de dados sensíveis.
Este é só um dos muitos exemplos na aplicação do código ASCII de modo malicioso. Outro exemplo bastante comum é utilizá-lo para enviar num URL código Javascript:
http://site.pt/?variavel=%22%3E%3Cscript%3Ealert%28%27Ola%20Mundo%27%29%3C%2Fscript%3E
Este URL quando introduzido num site com vulnerabilidade XSS faz o site enviar um alert com a frase “Ola Mundo”. Com um pouco de imaginação e conhecimentos de Javascript, conseguem-se fazer alguns estragos.
Aqui fica um link para o site da W3 Schools onde poderão ler um pouco mais sobre URL encoding:
http://www.w3schools.com/tags/ref_urlencode.asp

