try2hack.nl é um site que disponibiliza alguns desafios relacionados à segurança. Apesar de ser apenas um game, cada nível mostra um tipo de falha que ainda são comuns, graças à impudência de alguns administradores e programadores. Como eu tive uma certa dificuldade na maioria dos níveis, resolvi escrever sobre os métodos que utilizei, pois tenho certeza que alguém sabe uma maneira mais fácil.

Nível 1:
O primeiro nível é bem simples pode ser resolvido com uma rápida análise do código-fonte da página.

Quê?! Código-fonte?

Se você não sabe olhar o código-fonte de uma página, provavelmente não sabe o que é html e, muito menos, javascript. Ou seja, estude muito antes de tentar se aventurar nesse tipo de game.

Ok, qualquer ameba sabe que a validação de usuário/senha DEVE ser feita no servidor. Você pode até validar alguns outros campos (CPF, por exemplo) no browser com javascript, mas SEMPRE deve haver a mesma validação no servidor (burlar esse tipo de validação é relativamente simples).

Certo, olhando o código-fonte, achamos a senha no trecho:

<script type="text/javascript">
<!--
   function Try(passwd) {
      if(passwd == "h4x0r") {
         alert("Alright! On to level 2...");
         location.href = "level2-xfdgnh.xhtml";
      }
      else {
         alert("The password is incorrect. Please don't try again.");
         location.href = "http://www.disney.com/";
      }
 }
//-->
</script>

Será que existe MESMO alguém que ainda faz isso? Darwin… Darwin…

O que aprender com o nível 1?

Que, apesar de 90% dos usuários não saberem ler javascript ou se quer ver o código-fonte de uma página, não devemos deixar esse tipo de código/validação exposto para os usuários.