17 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
Il n'y avait aucun fichier dans le home du level14, et find / -user flag14 ne trouvait rien non plus,
 | 
						|
le seul fichier qu'il restait a explorer etait le binaire de getflag,
 | 
						|
on lance un strings dessus et on remarque plein de chaine de caracteres randoms
 | 
						|
si on regarde l'exe du level13 on se rend compte que il y a aussi une string aleatoire
 | 
						|
et que celle si existe aussi dans getflag, on en deduis donc qu'on pourrait se servir de l'exe
 | 
						|
du level13 pour decoder les strings du binaire getflag.
 | 
						|
 | 
						|
On modifie le binaire du level13 pour y mettre la premiere chaine de caractere et on voit que
 | 
						|
cela donne le flag du level00, c'est donc une bonne piste.
 | 
						|
On voit que la derniere chaine de caractere fait 39 caracteres au lieu de 25, on ne peut pas
 | 
						|
la mettre dans l'executable, ca segfault. Il faut trouver un moyen de la decouper en 2.
 | 
						|
 | 
						|
En entrant aaaaaaaaaaaaaaaaaaaaaaaaa comme chaine, on se rend compte que l'algo de decodage
 | 
						|
boucle tout les 6 caracteres, alors on rentre les 25 premier caracteres de la chaine de 39
 | 
						|
puis les 14 derniers decales de 1(pour etre aligne aux 6 caracteres) et on concat les resultats.
 | 
						|
 | 
						|
Cela marche et nous donne le mot de passe de flag14, qui est egalement le flag. |