
O 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.
Leave a Reply