Being safe on the internet (was Re: Here we go again - ISP DPI, but is it interception?)
lists at internetpolicyagency.com
Tue Aug 10 13:27:52 BST 2010
In article <20100810115549.GG29810 at snowy.squish.net>, Jon Ribbens
<jon+ukcrypto at unequivocal.co.uk> writes
>>> The problem is not something below the stack rising to bite it. It's
>>> from something "newer" on the stack (i.e. low in memory) overflowing its
>>> reserved space on the stack to rise up and bite something "older" on the
>>> stack (i.e. higher in memory).
>> But if stacks grow downwards, how can a newer item rise upwards?
>The code thinks it's going to write, say, a string of 20 bytes, so the
>stack pointer is reduced by 20 bytes to provide this space. The code
>is then persuaded to write a string, started at the lowest address of
>that space and continuing upwards, of more than 20 bytes, thus
>overwriting the older/higher part of the stack.
Ah, so you are using standard write operations to put stuff into the
stack area. Not a PUSH or a CALL (both of which would automatically grow
the stack downwards only). That explains it.
More information about the ukcrypto