전체 글 314

[fiesta 2023] letter service

python Flask + Nginx + MariaDB 조합 * utilites/__init__.py 보면 read_letter()에서 FLAG가 담긴 쿠키와 함께 특정 url에 접속 => XSS trigger 필요 def read_letter(url): try: FLAG = os.environ.get('FLAG') except: FLAG = 'fiesta{**redact**}' cookie = {"name": "FLAG", "value": f"{FLAG}"} cookie.update({"domain": "127.0.0.1", "path": "/"}) chrome_options = ChromeOptions() CREDENTIALS = { "email": "ef9a2d554146d1799d11d829827..

security/웹해킹 2023.09.11

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