App - Système

vendredi 15 novembre 2019, 01:22  #1
App - Système ELF x86 - Stack buffer overflow basic 2
kgtrey1
  • 3 posts

Bonjour,

J’ai compris la manière de compromettre le binaire. Le soucis, c’est que quand je veux craft mon payload, je n’arrive pas à stocker la bonne taille d’address.

Je m’explique, si l’address était 0xdeadbeef = \xef\xbe\xad\xde // ok
Mais si l’addr est 0xdeadbee alors là je ne sais pas comment donner print un caractère avec python en lui donnant une valeur sans le zéro.

Des idées d’où je pourrais creuser ?

vendredi 15 novembre 2019, 10:05  #2
App - Système ELF x86 - Stack buffer overflow basic 2
Th1b4ud
  • 1636 posts

Petit trick de mort pour obtenir rapidement une écriture en little endian

  1. [th1b4ud@th1b4ud-pc ~]$ python
  2. Python 3.7.4 (default, Oct  4 2019, 06:57:26)
  3. [GCC 9.2.0] on linux
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> from struct import pack
  6. >>> pack("<I", 0xdeadbee)
  7. b'\xee\xdb\xea\r'

Télécharger

Aussi simple que ça ;)