This is an old revision of the document!
Pentru parcurgerea demo-urilor, folosiți arhiva aferentă.
1-setuid/
.setuid-test.c
.make
.ls -l
pentru a obține informații complete despre executabilul setuid-test
.root
și că are bitul de set-user-ID activat../setuid-test
root
) (temporary privilege drop).2-shellcode/
.shellcode-samples.c
.binary-shellcodes
.objdump
pentru a dezasambla fișierul:objdump -D -b binary -mi386 binary-shellcodes
nop
între cele trei shellcode-uri.int $0x80
, reprezentând trap pentru acces în kernel space (apel de sistem).shellcode_write
realizează un apel write
, iar shellcode-urile din variabilele shellcode_exec
, respectiv shellcode_exec_sh
deschid o sesiune de shell.make
../shellcode-samples
main
, variabila shellcode_exec
cu shellcode_exec_sh
și, respectiv, shellcode_write
, recompilați si rulați, din nou, fișierul obținut.