Jump to content


Photo

Desafio


  • Faça o login para participar
9 replies to this topic

#1 Bob

Bob

     

  • Usuários
  • 536 posts
  • Sexo:Masculino

Posted 05/10/2003, 23:48

Descubra a senha, são 10 níveis diferentes.

http://www.loginmatrix.com/hackme/ - Clique em 'Hack Me - Level One' para começar e vá fundo.

Ainda estou no 4° e penando pra sair <_< :)

#2 Guilherme Blanco

Guilherme Blanco

    Loading...

  • Conselheiros
  • 891 posts
  • Sexo:Masculino
  • Localidade:São Carlos - SP/Brasil
  • Interesses:Programação Web e minha namorada (Maria Camila).

Posted 06/10/2003, 00:28

Eu parei no quarto... espero que ninguém coloque as respostas... eu vou continuar, mas agora tow saindo.
Gostei muito da terceira... bom o sistema.... =)

[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>

#3 Bob

Bob

     

  • Usuários
  • 536 posts
  • Sexo:Masculino

Posted 07/10/2003, 14:16

Cheguei ao nível 8 e não consigo passar :(

:) -- Até que é um estudo, havia mtas coisas que não sabia.

rOx

#4 Guilherme Blanco

Guilherme Blanco

    Loading...

  • Conselheiros
  • 891 posts
  • Sexo:Masculino
  • Localidade:São Carlos - SP/Brasil
  • Interesses:Programação Web e minha namorada (Maria Camila).

Posted 08/10/2003, 00:54

Completado... =)

O teste final inclui um applet Java... nada muito complexo.

Eu tava mó cansadão ontem... hoje eu fiz direito. Facinho!!! =)

Bem, caso queira as soluções e uma explicação, eu posso te passar... melhor... vou adicionar uma por dia!!! Assim posso ver se rola uma melhor agitação aqui.

Pra começar, a solução a etapa 1:

Entre na primeira tela... Vá em Exibir >> Código Fonte.

Veja onde você encontra códigos JavaScript. Terá esta parte:

<script language="Javascript">
function check(input)
{
	if (tries >=3){window.location.href='http://www.crayola.com/'}
	if (input != '')
	{
  if (input=='letmein')
 	 {
    alert('nicely done :o)');
    window.location.href = 'l1passed.html';
 	 }
  else
 	 {
    alert('not quite, keep trying');
    document.myform.xv4106.value = '';
    tries = tries + 1;
 	 }
	}
	else
  alert('You know..traditionally....people actually enter passwords into password fields...just a little hint..');
  
}
var tries = 0;
</script>

Se você analisar, o input (argumento submetido à função) é o campo digitado na página, ou seja... se você tiver um pouco de conhecimento de lógica, verá que se o input for igual à "letmein", ele entrará na etapa seguinte: página "l1passed.html".

Amanhã eu posto do próximo nível. =)

[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>

#5 Kleber

Kleber

    Magavilha!

  • Visitantes
  • PipPipPip
  • 210 posts
  • Sexo:Não informado

Posted 08/10/2003, 01:43

Boa idéia GB.
Quando surgiu o primeiro tópico sobre esse assunto, eu tinha sugerido q fosse explicado como se faz para resolver os problemas depois q todos tivessem visto. É muito bom para nível de curiosidade e conhecimento.
Eu, por exemplo, só tinha passado pelo 1. Mas gostaria de saber como se resolve os outros.
O segundo eu acho q dá pra fazer com algum conhecimento de cookie. Mas não sei direito.
Vou aguardar sua explicação.

FLW pru C. B)
Nome: Kleber Anderson
E-mail: kleber.sylva@bol.com.br
MSN: kleber7777@hotmail.com

#6 Guilherme Blanco

Guilherme Blanco

    Loading...

  • Conselheiros
  • 891 posts
  • Sexo:Masculino
  • Localidade:São Carlos - SP/Brasil
  • Interesses:Programação Web e minha namorada (Maria Camila).

Posted 08/10/2003, 23:08

Conforme dito... eis o segundo nível:

O segundo é simples também... basta seguir a lógica.

Ele checa a senha enviada com uma string encriptada para URL (onde %20 significa espaço e talz). Para saber qual é o código, basta fazer com que exiba um alerta com a desencriptação da string. Assim:

alert(unescape("Código aqui"));

Vocês podem fazer esta inserção salvando a página e editando os arquivos salvos.

function checkPass() {
if (myform.pass.value == unescape("%74%68%69%73%20%69%73%20%65%61%73%79"))
{
alert("well done \nTry the next level.")
location.href = (unescape("%74%68%72%65%65%69%73%67%6F%6F%64%2E%68%74%6D%6C"))
}
else
alert("Wrong password.");}

Se vocês observarem, o código é este aqui: %74%68%69%73%20%69%73%20%65%61%73%79

Ao fazer a exibição do alerta, verá que terá escrito isto (sem as aspas): "this is easy"

Eis a senha... =)
Basta digitar no site e fazer o login!

Amanhã tem +...

[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>

#7 Guilherme Blanco

Guilherme Blanco

    Loading...

  • Conselheiros
  • 891 posts
  • Sexo:Masculino
  • Localidade:São Carlos - SP/Brasil
  • Interesses:Programação Web e minha namorada (Maria Camila).

Posted 10/10/2003, 22:33

Desculpem pleo atraso... ontem eu não entrei na net, fiquei estudando pra prova... por isso, hoje eu mando a solução de 2 níveis.

Nível 3:

Nas últimas linhas da página, você encontrará este código:
<script language="javascript">
var xyboo = 0;
var duh = 0;
var mul = 1;

function buttonpress(num)
{
xyboo++;

if (xyboo == 3) 
{
	id4 = parseInt(num);
	padd.codebox.value = padd.codebox.value + id4;
	codex = padd.codebox.value;
	
	for (xb = 0; xb < codex.length; xb++)
	{
  mul = mul * parseInt(padd.codebox.value.substr(xb, 1));
	}
	if (mul == 105)
	{
  location.href = codex + '.html';
	}
	else
	{
 	 alert('nope');
 	 duh++;
 	 mul = 1;
 	 xyboo = 0;
 	 padd.codebox.value = "";
 	 if (duh >= 6) { location.href = 'duh.php'}
	}
	mul = 1;
	xyboo = 0;
	padd.codebox.value = "";
}
else
{	
	id4 = parseInt(num);
	padd.codebox.value = padd.codebox.value + id4;	
}	

}
</script>

Bem, observe esta parte:
	if (mul == 105)
	{
  location.href = codex + '.html';
	}

Ele faz o seguinte... a multiplicação de cada uma da combinação das 3 teclas digitadas, das 9 teclas disponíveis deve resultar 105.
Decompondo o número 105, você encontrará os números: 3, 5 e 7.
Assim, o código só pode ser uma combinação desses três números. Portanto, temos as alternativas: 357, 375, 537, 573, 735 e 753.
Bem, depois de tentar um tempo, você descobrirá que a chave é a combinação: 735.

[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>

#8 Guilherme Blanco

Guilherme Blanco

    Loading...

  • Conselheiros
  • 891 posts
  • Sexo:Masculino
  • Localidade:São Carlos - SP/Brasil
  • Interesses:Programação Web e minha namorada (Maria Camila).

Posted 10/10/2003, 22:40

Nível 4...

Este é o mais engraçado que eu vi... mas blz.
Olhe o source code. Olhou?! Olhe direito... ahh..... fácil né?!

<script language="javascript">

function checkPass(un, pw)
{

	if (un == 'NerdHacker')
	{
  if (pw == 'hackingisgr8')
  {
 	 alert(';0)');
 	 location.href = send_em_on;
  }
  else
 	 alert('oops');
	}
	else
  alert('um....no');
}
</script>

Putz, que bico!!!
User: NerdHacker
Pass: hackingisgr8


Tente... funcionou?! naum...... pq?!?!?!
Pois é... olhe o código!!!!!!

<input name="Submit" type="button" class="formstyle"  onclick="CheckPass(document.myform.Username.value, document.myform.Password.value);" value="Login">


Ele tá chamando a função CheckPass, e não a checkPass... lembre-se que o JavaScript é caso-sensitivo!!!

Salve o documento... olhe a pasta onde tem os arquivos associados à página salva... terá um arquivo chamado javascript. Abra-o...

Nossa!!! Olha a função CheckPass lá...

Portanto...
User: itslifejim
Pass: butnotasweknowit


Difícil esse??? HEHEHE... Os próximos são mais complicados...

[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>

#9 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 12/10/2003, 02:15

Pois é..

Há alguns meses atras, quando eu ví o tópico em outro assuntos, eu parei nesse nível 5..

Agora vou tentar fazer de novo.. ;)

Fui.. :P
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#10 Guilherme Blanco

Guilherme Blanco

    Loading...

  • Conselheiros
  • 891 posts
  • Sexo:Masculino
  • Localidade:São Carlos - SP/Brasil
  • Interesses:Programação Web e minha namorada (Maria Camila).

Posted 15/10/2003, 23:41

Nossa... ainda bem que um membro me lembrou... hehehe

Tá na hora de postar mais coisa aqui, certo???

Nível 5:

<script LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
al="`1234567890-=~!@#$%^&*()_+qwer"
+"tyuiop[]QWERTYUIOP{}|hyeifwryt;A"
+"ASYENDKQ:ajheusj,./ZXCVBNM<>?";
ab1="";
bctr=0;
count=0;
function ckPwd(){
 tst=document.isn.username.value
 +"y"+document.isn.passwrd.value+"u";
 ls=document.pd.pe.value;
 a=eval(ls.substring(0,2))-91;
 ls=ls.substring(2,ls.length);
 nls="";
 flg=0;
 while (ls.length>12){
  ab=eval(ls.substring(0,2))-89;
  ab1=(ab1==""?""+ab:ab1);
  oab1=ab1;
  ls=ls.substring(2,ls.length);
  for (var i=0;i<ab;i++){
   nr=eval(ls.substring(0,2))-a;
   ls=ls.substring(2,ls.length);
   nls+=al.charAt(nr);
   }
  nls+=al.charAt(count+31);
	count++;


  if (nls.indexOf(tst)>-1){
   ls="";
   flg=1;
   }
  }
 if (flg==1){
  tstOk();
  }
 else{
  bctr++;
  if (bctr>3){
   location.href="8therror.htm";
   }
  else{
   alert("Sorry. Bad Username or Password."
   +" Failed Attempt #"+bctr+".");
   }
  }
 }

function tstOk(){
 ab1=ab1+""+a;
  alert("Access Granted");
  location.href=tst.substring(5,13)+".htm";
 }

function srand() {
 today=new Date();
 rand=today.getTime();
 picker=""+rand
 picker=picker.charAt((picker.length-4));
 rec=eval(picker);
 }
// End Hiding -->
</SCRIPT>


WOW... nervoso esse hein?!!?!?
Só parece... eu até demorei um pokinho nesse... mas eu percebi que tudo o que ele faz é juntar o username com a letra "y" e adicionar no final a letra "u".

Para checar como era o sistema, adicionei dois alerts pra obter "a senha criptografada"... Foi assim:
Onde tinha:
if (flg==1){
  tstOk();
  }

Coloquei:
alert("tst: "+ tst);
alert("nls: "+ nls);
if (flg==1){
  tstOk();
  }

Aí, ficou fácil... testei uma entrada qualquer
User: guilhermeblanco
Pass:eusoudemais

E ele me deu os seguintes alerts:
tst: guilhermeblancoyeusoudemaisu
nls: hwriytihsyhthyyihhtu

Assim.... ficou fácil:
Username: hwriytihs
Password: hthyyihht

[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq