shellcode
예전에 풀었던 문제이지만 복습하면서 다시 정리해보려 한다
어셈으로 쉘코드를 작성해서 익스플로잇 하는 문제다
flag는 /home/shell_basic/flag_name_is_loooooong에 있다고 한다
flag경로를 찾아 내용을 읽고 stdout으로 출력하도록 작성한 어셈블리언어다
주의할 점은 입력한 경로 끝에 null을 넣어주어야 된다
이제 이 코드를 바이트 코드로 바꿔주어야 한다
$ nasm -f elf64 flag.asm
$ objcopy --dump-section .text=flag.bin flag.o
해당 명령어로 어셈블리언어를 o파일로 바꾼 후 내용을 확인했다
획득한 쉘 코드를 이용해서 pwntool을 짜서 보냈더니 flag를 획득했다