Keresés

Aktív témák

  • faster

    nagyúr

    válasz rog #49 üzenetére

    Szerintem itt nem processzek közötti oda-vissza ugrálásról van szó, hanem egy processzen belüli függvényhívás-visszatérésről. A függvény a visszatérési értéket a stacken tárolja, ami felülíródik, és a saját kódra mutat. Csak az nem világos, hogy ez a kód is a stacken van-e (bár gondolom, csak ott, hiszen a puffer túlcsordulás csak a stacken képes írása), és vajon a kód írója honnan tudja, hogy milyen címre kerül az ő programkódja.

  • WN31RD

    addikt

    válasz rog #49 üzenetére

    Na, értem végre, hogy mit nem értesz. :D
    Nincsen szó processzek közötti váltásról.
    Az A processz elindítja B processzt adott jogokkal. Innentől kezdve elfelejthetjük az A processzt.
    B processznek a stackjét elbassza egy támadó, ezáltal átveszi B processz felett az irányítást, és a támadó kód B processz részeként fut, természetesen a B processz jogaival.
    B processz (illetve a benne levő kód) garázdálkodik...
    Természetesen a B processz (illetve a benne levő kód), elindíthat egy C processzt, amibe bemásolhatja a gonosz kódot, de ez csak a garázdálkodás része... azaz részletkérdés.
    Ennyi.
    Világos?

    [Szerkesztve]

Aktív témák