heap 2

main_arena offset 구하기

main_arena는 heap영역에서 해제된 청크가 Unsorted bin에 처음 등록될때 FD와 BK가 가리키고 있는 영역이다. Use After Free와 같은 취약점을 이용해서 일부러 해제시킨 청크를 그대로 다시 할당하면 FD와 BK가 적힌채로 돌아오는데, 이때 FD와 BK가 main_arena+xx 위치를 가리키고있다. 이때 main_arena의 offset을 이용해 libc_base 주소를 구할 수 있다. 그럼 main_arena의 offset을 편하게 구해주는 도구를 알아보자. 설치 git clone https://github.com/bash-c/main_arena_offset 사용법 #main_arena 폴더 들어간 후 ./main_arena [libc 파일경로] ./main_arena ....

Process와 Process Concept

Process란 실행중인 프로그램 프로그램 실행을 위해선 반드시 메인메모리에 적재되어야한다. 하나의 프로세스내에 여러일이 동시에 일어난다 ⇒ 멀티 쓰레드 is a unit of work Process Concept process의 4요소 ~ 메모리에 로드된 프로그램 text section (program code) stack : current activity (return 주소, 지역변수) data section (전역변수) heap : for dynamic 할당 of memory during 프로세스 실행중 stack & heap ⇒ 프로그램의 현재상태 저장 process가 active하다 ⇒ 하나의 프로그램에서 생긴 프로세스라도 heap, stack의 모습이 다르다 ⇒ 현재 상태가 다르다. 레지스터,..

728x90