전체 글 299

IDA 및 pwndbg 명령어 꿀팁

[pwndbg] - brva 0x1460 PIE 적용된 파일에 대해 이미지 베이스 기준으로 bp 걸 수 있다 단 'start' 명령어 등을 통해 프로그램이 run 상태여야 한다. rva는 IDA로 분석하면서 파악 가능 [IDA] - 디컴파일 화면에서 TAB 해당 디컴파일 코드에 대응되는 어셈블리어를 보여준다 - alt + t 후 find all occurences 현재 코드에서 특정 문자열을 찾아주는 역할을 한다 디컴파일 화면에서 ctrl+f가 안 되는 단점 보완 - 'j_' 같이 특정 패턴 드래그 후 alt + 화살표 위/아래 디컴파일 코드 내에서 특정 패턴의 발생 위치로 이동시켜준다

security/가디언 2023.09.02

[HSpace CTF] HSpace Notepad

UAF 취약점 발생 => 해제된 chunk에 접근하여 값을 조작하거나 값을 읽어올 수 있다 보호기법 풀 적용 => 두 가지 방법으로 해결 가능 : exit handler 혹은 libc GOT overwrite Step 1. heap leak - 항상 malloc(0x84) 이루어지므로 0x90 크기의 chunk가 할당된다 => 0x20 ~ 0x410 범위의 chunk는 tcache bins - single-linked 형태의 tcache bin은 총 64개가 있으며, 각 bin에는 최대 7개의 chunk가 저장된다 - next ptr은 safe-linking 되어있다 = (heap chunk addr >> 12) 값과 xor 되어있다 from pwn import * from bitstring import..

security/CTF 2023.09.02

lab 09 - Heap: uaf & tcache poisoning in latest libc

https://minseosavestheworld.tistory.com/180 [pwnable cs6265] lab 09 - Heap: double free bug in old libc(= 1); return atoi(buf); } typedef struct { char minseosavestheworld.tistory.com 문제 코드 및 분석은 여기 참고하면 된다 Double Free Detection 우회 최신 libc에서는 double free 우회가 조금 까다로워졌다. tcache 기준으로 설명해보겠다 typedef struct tcache_entry { struct tcache_entry *next; /* This field exists to detect double frees. */ uint..

security/가디언 2023.08.26