Ninth
10-17-10, 10:19 PM
I have a program.
The program uses a selection of stdlib functions, not including system.
I cannot modify this program in any way.
My stack is non executable; and was compiled with a canary.
I would like to utilize a return to glibc attack to circumvent these limitations. Normally I would utilize system@plt, but as that it was not compiled in, I cannot use it. There SHOULD be system present, however, the system I obtained by using print &system in gdb seems to function differently from the one I'm used to. What is this "new" system I've found, how does it work, and how can I get at the system stdlib function that I'm used to? Assume for this case that I have full control over modifying the stack starting at a buffer far lower than the set of return addresses/pushed ebp's that one would wish to modify for this exploit.
As an appendum; yes, this is a vulnerability exploitation technique, No, this is not in relation to anything illegal, this is an exercise for personal enrichment.
Thanks for any help;
Best,
-me
The program uses a selection of stdlib functions, not including system.
I cannot modify this program in any way.
My stack is non executable; and was compiled with a canary.
I would like to utilize a return to glibc attack to circumvent these limitations. Normally I would utilize system@plt, but as that it was not compiled in, I cannot use it. There SHOULD be system present, however, the system I obtained by using print &system in gdb seems to function differently from the one I'm used to. What is this "new" system I've found, how does it work, and how can I get at the system stdlib function that I'm used to? Assume for this case that I have full control over modifying the stack starting at a buffer far lower than the set of return addresses/pushed ebp's that one would wish to modify for this exploit.
As an appendum; yes, this is a vulnerability exploitation technique, No, this is not in relation to anything illegal, this is an exercise for personal enrichment.
Thanks for any help;
Best,
-me