security (43) 썸네일형 리스트형 [pwn] gef, peda, pwndbg 동시에 사용하기 오랜만에 gdb를 사용하다가 gef에서는 디버깅 도중 표준 출력이 보이지 않는데 peda에서는 표준 출력이 보인다고 하여 peda를 설치해서 변경하기로 했다. ( gef에 빠져서 gef만 사용하고 있었다. ) git clone https://github.com/longld/peda.git ~/peda 먼저 peda를 설치해줬다. ( 사용자의 home directory에 설치해줬다. ~은 home directory, /은 root directory이다. ) 설치하면 위와 같이 peda 디렉토리가 생성된 것을 확인할 수 있다.이제 우리가 gdb를 실행할 때 명령어나 확장 설정들을 자동으로 로드해주는 .gdbinit 파일을 변경해줘야 한다.이 파일은 홈 디렉토리에 존재한다. 숨김처리를 한 파일이라 -al .. [pwn_clip] process와 signal handling https://velog.io/@rlwjddl234/Process-and-signal-handling Process and Signal handling(14)Exit(): 프로세스 종료Zombie process and Orphan processWait(): 자식의 exit state를 받음.Waitpid(): 특정 자식의 exit state를 받음Execution optionsSignal프로세스가 종료되는 세 가지 이유는velog.io process와 handling에 관해서 정리된 글 https://velog.io/@nnnyeong/OS-Context-Switching-PCB-Process-Control-Block [OS] Context Switching, PCB (Process Control Bl.. [pwn] pwntools cyclic 활용 pwn bof문제를 풀다가 보면 입력 buffer로부터 ret의 거리를 구하는 경우처럼 offset을 구해야 하는 경우가 있다. 보통 stack frame을 살펴야 하는데 이때 pwntools의 cyclic을 활용하면 보다 쉽게 구할 수 있다. pwntools의 cyclic의 원리는 고유한 순환 패턴 문자열을 생성한다. 이후 특정 문자열의 offset 값을 알려주는 원리로 offset을 구할 수 있다. 명령어는 python exploit code에서 쓸 수도 있고 cli 명령어 프롬프트에서 사용할 수도 있다. 아래는 gdb가 아닌 cli 명령어 프롬프트에서 사용하는 명령어이다. pwn cyclic pwn cyclic -l 이외에도 gef gdb에서 지원해주는 pattern도 같은 상황에서 많이 쓰이니 .. [Dreamhack] rop 풀이 보호되어 있는 글입니다. [Dreamhack] basic_rop_x86 풀이 보호되어 있는 글입니다. [Dreamhack] basic_rop_x64 풀이 보호되어 있는 글입니다. [pwn] 로되리안 해결하기 항상 pwnalble 문제를 풀 때 고질적인 문제 중 하나였다. 로컬에서는 분명 쉘이 따지는데 remote로 서버에 보냈을 때 쉘이 따지지 않는 상황들이 있다. 이럴 때 대부분은 libc 파일의 버전 문제이다. Q. libc의 버전이 다른게 왜 libc 속 함수의 offset에 영향을 주는가?A. libc 파일을 업데이트하면서 코드가 길어지거나 짧아지면서 offset에 변화가 생긴다고 한다. 최근 ctf나 워게임에서 왠만하면 libc버전 문제 때문에 Dockerfile만 주거나 바이너리와 함께 준다. 이전까지는 pwnable 한 문제를 풀 때마다 Docker를 하나 빌드해서 안에서 또 쓸 도구들 설치하는게 말이 안된다고 생각했는데 그냥 Dockerfile에 필요한 도구들 명령어로 박아놓으면 된다. .. [Dreamhack] command-injection-chatgpt 풀이 보호되어 있는 글입니다. [Dreamhack] csrf-2 풀이 보호되어 있는 글입니다. [Dreamhack] csrf-1 풀이 보호되어 있는 글입니다. 이전 1 2 3 4 5 다음