no image
gdb로 main 함수 찾기
이 글은 워게임을 풀 때 파일이 stripped 되어 있어 main 함수 심볼을 disass 할 수 없을 때 main 주소를 찾는 방법이다. 보호기법도 다 걸려있는 문제일 땐 유용하게 쓰일 거 같아 글로 남겨본다..예제 문제예제 문제는 pwnable.xyz의 welcome 문제이다. 이 문제의 보호기법과 파일 정보는 이러하다.64bit elf 파일로 동적 라이브러리를 사용하고, stripped 되어있는 파일이라 함수의 심볼 정보가 없다.stripped란?보통 ELF 실행파일 형식은 stripped 이거나 not stripped 일 수 있다. strip은 실행파일에서 실행에 필요한 부분을 제외한 다른부분들을 지우는 것이다.symbol table과 section, 컴파일러/링커 관련 내용 등 여러가지 실행에..
2024.07.15
no image
main 함수 호출, 종료되는 과정
elf 파일을 보통 디버깅 할 때 main문부터 확인하는게 일반적이다. 그러나 pwnable.xyz의 Dirty_Turtle이란 문제를 보면 main함수가 호출되기까지, 종료된 후의 과정을 알아야한다.1. ELF 헤더 확인우선 readelf -h 명령어로 현재 challenge라는 바이너리를 확인한 결과이다. 엔트리 포인트 주소를 보면 0x4006c0을 가리키고 있는데 해당 주소가 무엇인지 IDA로 확인해보자.해당 주소는 _start 함수이다. 따라서 _start 함수가 처음에 호출된다.2. _start()void __fastcall __noreturn start(__int64 a1, __int64 a2, void (*a3)(void)){ __int64 v3; // rax int v4; // esi ..
2024.07.05
[Dreamhack] Memory Corruption: Format String Bug
보호되어 있는 글입니다.
2024.04.26
[Dreamhack] Return Oriented Programming
보호되어 있는 글입니다.
2024.04.19
[Dreamhack] Return to Library
보호되어 있는 글입니다.
2024.04.19
[Dreamhack] Stack Canary
보호되어 있는 글입니다.
2024.02.29
Stack Buffer Overflow(Dreamhack)
보호되어 있는 글입니다.
2024.02.05
Background: Calling Conversation(Dreamhack)
보호되어 있는 글입니다.
2024.02.03
[Dreamhack] Shellcode
보호되어 있는 글입니다.
2024.02.01