Keresés

Aktív témák

  • WN31RD

    addikt

    válasz rog #36 üzenetére

    ''szóval az ip-t nem lehet olyan címre küldeni, ami a stack-en van?''
    Pontosan. (De nem csak a veremről van szó, hanem az adatszegmensről is.)

    ''de mivan ha a gonoszság nem a veremben van? vagy olyan nem lehet?''
    Elvileg olyannak nem kellene lenni, hogy kifejezetten gonosz programrész máshol legyen, de előfordulhat az, hogy egy teljesen normális rutin gonosz paraméterekkel meghívva gonosz dolgot csinál. A verem átírásával (a verembe írást semmi nem akadályozza meg) ilyen módon továbbra is támadható marad a gép.
    ''az ellen nem véd'' :D

    ''hogy működik egészen pontosan ez a túlcsordításos történet?''
    Pl. így működhet:
    A memóriában (veremben) a következők vannak:
    ... valamilyen puffer ... visszatérési cím ...
    A program beolvas a pufferbe, de hibás a beolvasó kód, és nem ellenőrzi a beolvasandó adat méretét, és ha túl sokat kap, akkor felülírja a puffer utáni területet is, beleértve a visszatérési címet.
    A támadó felülírja a visszatérési címet pl. a puffer bizonyos helyére mutató pointerrel, oda pedig berakja a kódot, és kész.

  • kisfurko

    senior tag

    válasz rog #36 üzenetére

    Nem olvastam még el, de én úgy tudom elképzelni, hogy csak az futhat (lap), aminek be van állítva az execute flag-je. A rendszer pedig csak a kód lapjainak állítja be. A kód lapjait meg nem lehet módosítani, mert read-only. Tehát nincs gonosz kód. Vagy valamit kifelejtettem?

Aktív témák