Ich versuche, sys_execve (X86_64) auszulösen.Nasm-Assembly sys_execve/bin/sh
section .data
file db "/bin/sh",0
section .text
global _start
_start:
mov rax, 59
mov rdi, file
lea rsi, [file]
mov rdx, 0
syscall
Es gibt Segmentation fault
Was mache ich falsch?
Ich habe sogar versucht, es in einer C-Quelle zu setzen:
int main(void)
{
char shellcode[] =
"\xb8\x3b\x00\x00\x00"
"\x48\xbf\xd0\x00\x60\x00\x00"
"\x00\x00\x00"
"\x48\x8d\x34\x25\xd0\x00\x60"
"\x00"
"\xba\x00\x00\x00\x00"
"\x0f\x05";
(*(void (*)()) shellcode)();
return 0;
}
Das gibt mir auch einen Segmentation fault ...
'lea rsi, [file]' ist falsch. – Jester
Wie wäre es mit Spamming noch mehr Tags? – Olaf
@Jester: Ich dachte, dass Execve als zweiten Parameter den Zeiger der Zeichenfolge benötigt? – int80