vendredi 23 juillet 2010

Simple buffer overflow : NDH2010 Level 1

Une autre astuce qui peut s'avérer utile.

Ok vous pensiez réellement qu'on avait besoin de GDB pour own le level1?
Vous avez tout faux :]

Il s'avère que lorsque vous provoquez un segfault, cette information est retranscrite autre part.

level1@srv-public:~$ dmesg | grep level1
[???????????????] level1[????]: segfault at 37614136 ip 37614136 sp bffff804 error 4 

Eh oui, vous aurez remarquer qu'on a l'EIP et l'ESP sans avoir toucher à GDB ;).

Si vous avez des astuces du genre, faites tourner :].

Have phun,

m_101

2 commentaires :

  1. Après avoir vu le premier long article, je dirais que ce sont des méthodes, mais après dans l'utilisation telle qu'elle est présente, c'est quant même bien bourrin =P.
    Sont présents:
    --------------------------------
    dummy() is at: 0x08048504
    before: SEBP=0xbffff818
    SEIP=0x080485fd
    after: SEBP=0x41414141
    SEIP=0x08048504
    ----------------------------
    Pour le décalage, un bash en loop avec un grep "Segfault" ça peut être plus propre dans le but d'éviter au plus possible la DésassemblatationduPoney (sub $0x4,%esp).

    RépondreSupprimer
  2. Hehe, oui bourrin mais le but était surtout d'illustrer la méthode. Un challenge facile s'y prête bien car on perd pas le lecteur dans des détails inutilement compliqué pour la méthode visant à être illustrée ;).

    RépondreSupprimer