로딩
요청 처리 중입니다...

[pwnable.kr] 「unlink」 풀이

 [pwnable.kr] 「unlink」 풀이

미리 알아둘 것 heap에서의 unlink 과정 이해 이중 연결 리스트(doubly-linked list) 이해 (자료구조) 이번에는 pwnable.kr 에 올라가 있는 시스템 해킹 문제 중, 비교적 최근에 소개한 heap에서의 unlink 하는 과정에서 검증을 제대로 하지 않으면 발생할 수 있는 (glibc 기준 버전 2.23. 이하) 부분을 실제로 실습해 볼 수 있는 라는 문제를 한번 풀어보겠습니다.

개인적으로는 이해하는데 시간이 좀 많이 걸렸던 것 같습니다. 한번 살펴봅시다.

문제에서 주어진 C언어 소스코드는 아래와 같습니다. #include #include #include typedef struct tagOBJ{ struct tagOBJ* fd; struct tagOBJ* bk; char buf[8]; }OBJ; void shell(){ system("/bin/sh"); } void unlink(OBJ*...

# Assembly # writeup # 구조 # 뉴비임 # 메모리 # 어렵다 # 워게임 # 이중연결리스트 # 취약점 # 풀이 # 해설 # wargame # unlink # pwntool # C # Clang # doubly_linked_list # exploitation # glibc # heap # ptmalloc2 # pwn # pwnable # pwnable_kr # 힙