Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I am fairly certain that this is impossible on 11.10, at least in the ways you mention. Have a look: </p> <p><a href="https://wiki.ubuntu.com/Security/Features" rel="nofollow">https://wiki.ubuntu.com/Security/Features</a></p> <p>In detail, and just picking some problems with your ideas:</p> <p>(1) because of canary values and for other reasons, buffer Overflow into esp+4 will raise a Segmentation fault exception</p> <p>(2) you probably mean to extract the address of the environmental variable, which traditionally would have been at ESP (main) + a certain number of bytes. However, as even logical memory addresses these days are scrambled/randomized after compile, you will instead get a different mememory address for your $HOME variable for each run, probably somewhere on the other side of the main stack</p> <p>(3) to the best of my knowledge, there are other ways in which return from library attacks these days are thwarted. I am less familiar with those. This should be why you see x00 for the address </p> <p>Hacking these days on a ubunti system is hard. If you just need to do this for a class that doesn't insist on current distros, install instead the first ubunti distro in virtualbox. Magically, all you try will work. There is no more "standard overflow attack" that you also reference - even if you cleverly bypass canary valued etc, setting the nx bit makes this impossible. And similarly, while I'm less perfectly certain about how return from libc attacks are addressed, don't rely on believing this will be possible on a current distro. Good luck!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload