32bit 기준 TEB(Thread Environment Block) 현재 실행되고 있는 쓰레드에 대한 정보를 담고 있는 구조체. FS 레지스터에 TEB의 주소(FS[30])가 저장되어 있으며, 프로세스 내부적으로 TEB에 접근하고자 할 때 FS 레지스터를 사용할 수 있다. TEB+0x30 에는 PEB의 주소가 들어있다. PEB(Process Environment Block) 실행 중인 프로세스에 대한 정보를 담아두는 구조체. 프로세스에 로드된 PE Image(EXE, DLL 등)에 대한 정보가 기록되어 있다. PEB+0xC에 존재하는 Ldr이라는 값을 통해 현재 프로세스에서 로드한 모듈들에 대한 정보를 담고 있는 _PEB_LDR_DATA에 접근 할 수 있다. _PEB_LDR_DATA 구조체 안에 포함된..
Image_DOS_Header e_magic 해당 파일이 PE 파일임을 나타내는 첫 두바이트. EX) MZ(5A4D) MZ가 아니면 로더는 해당 파일을 PE로 인식하지 않음. e_Ifanew NT_Header가 시작되는 위치의 오프셋을 나타냄. Image_NT_Headers MACHINE 파일의 실행 대상 플랫폼을 나타냄. EX) I386, R300(MIPS), ARM, IA64(Intel 64) NumberOfSections 파일에 존재하는 섹션의 수를 나타냄. SizeOfOptionalHeader Optional Header의 크기를 알려줌. Characteristics 해당 PE 파일의 특성을 알려줌. EX) DLL(0x2000) or EXE(0x0002), 32bit(0x0100) Image_Op..
지금까지 CTF를 참여하면서 취약점은 보이는데 릭벡터를 찾지 못해서 못 푼 문제들이 많아 실제로 해봤었던 릭벡터들을 정리해보려고한다. printf의 %s 형식 지정자로 null byte까지 출력을 하게 해서 canary라던지, 다른 유용한 주소들을 릭. eip를 printf로 돌린다음 인자로 %x 등을 줘서 포맷스트링 버그로 릭. 배열을 참조해서 값을 출력해주는데, 배열의 인덱스를 입력을 받고 입력에 대한 검증이 없을 경우에 OOB로 릭. heap에서 small bin size의 chunk를 할당할 수 있고, free를 할 때 chunk안의 값을 nullify하지 않고, 이 chunk의 값을 출력할 수 있을 때main_arena+88의 주소를 릭. heap에서 fastbin_duplicate_into_s..
- Total
- Today
- Yesterday
- 비교 연산자
- Python
- ftz
- 리버싱
- Golem
- 포너블
- protostar
- 클래스
- Nightmare
- babyheap
- C언어
- 0ctf
- bugbear
- TAMUCTF
- HarekazeCTF
- zombie_assassin
- babypwn
- picoctf
- Codegate
- 올리디버거
- darkknight
- 파이썬
- OllyDbg
- luckyzzang
- orge
- BaskinRobins31
- angry_doraemon
- succubus
- Pwnable.kr
- lob
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |