find candy
·
Wargame/Dreamhack
보호되어 있는 글입니다.
[lob] 들어가기 전에 - shellcode 제작.
·
Wargame/Hackerchool
1. intro 문제를 풀기 전에 shellcode 제작부터 조금 알아보자. 물론 이미 인터넷에는 많은 shellcode가 올라와있고, pwntools에서는 무려 자동으로 만들어주기까지 한다. 하지만 이를 이해하면 어셈블리어 공부와 더불어 다른 shellcode 작성을 위한 기초가 된다. 이 글에서는 lob만을 위한 shellcode를 작성할 예정이다. 2. shellcode란 보통 shell을 실행시켜주기 위한 기계어의 집합을 이야기한다고 생각할 수 있는데, 단순히 shell만 실행시켜주는 것이 아닌 특정 동작을 하기 위한 모든 code라고 이해하는 것이 좋다. 그 이유는 간혹 문제에서 shell을 따는 것이 아닌 flag를 바로 읽어야하거나, 바인드 / 리모트 셀과 같이 포트를 열어주는 동작 등을 해..
shell_basic
·
Wargame/Dreamhack
recture와 연계된, open, read, write 함수를 사용한 shellcode를 만드는 문제이다. 사실 lecture를 참고하면 flag file 경로만 hex 값으로 수정하여 사용할 수 있도록 예제가 잘 만들어져 있다. 다만 참고할만한 사항은 system call 부분인데, 간단히 이야기하자면 system call의 경우 특정 함수가 실행될 때 매번 특정 파일에서 해당 함수를 직접 찾기에는 다소 시간이 오래 걸릴 수 있고 비 효율적이기에 번호로 함수를 정의해두어 이를 해결하는 것이다. 원본 파일은 unistd.h이며 header 파일마다 조금씩 다르기에 사용된 header 파일을 정확히 알아야 한다. ┌──(kali㉿kali)-[~] └─$ cat /usr/include/x86_64-linu..