0x.STORY_TELLER/MakingFilm
-
CHAPTER 3.Viva_La_Vida MakingFilm0x.STORY_TELLER/MakingFilm 2018. 9. 3. 18:49
CHAPTER 3.Viva_La_Vida MakingFilm BoB7기 내부 CTF 문제로 제작한 heap overflow 문제이다. 워낙 잘하는 사람이 많기 때문에 어떤 방식으로 제작할까를 고민해보다가 여러 구조체를 겹쳐 할당하여 포인터 형식으로 참조하도록 설계하였고, 그 과정에서 unsorted bin과 fastbin을 활용하여 prev_inuse flag를 해제하는 것과, double free를 통한 consolidate, overflow를 통한 prev_size 오버라이트, uaf를 통한 fake chunk 생성을 통한 unlink로 구조체를 덮어서 got_overwring를 통하여 릭 및 익스가 가능하다. 글로벌 변수는 다음과 같이 구성되어있다. cavalry는 기사의 name, salary, ..
-
CHAPTER 2.HalloweenDay MakingFilm0x.STORY_TELLER/MakingFilm 2018. 4. 11. 11:44
CHAPTER 2.HalloweenDay MakingFilm 문제 링크 : https://github.com/pwnwiz/STORY_TELLER/tree/master/STORY_0x01 Fastbin과 관련된 여러 문제들을 풀어보기도 하였고, 이해도 잘 된 것 같아 마무리 차원에서 문제를 만들어보게 되었다. 처음에는 엄청 어렵게 만들어볼까 생각했었지만, 푸는 사람들을 고려하여 문제 난이도를 하향하였기에 익스에 쓸모가 없어진 메뉴가 생기기도 하였지만, 어쨌든 익스는 정상적으로 진행이 된다. 패스트빈과 관련된 문제의 핵심은 fake_chunk를 할당할 수 있는가이다. fd의 값이 조작이 되는 상황속에서 특정한 장소에 fake_chunk를 할당하여 그 곳의 값들을 오버라이팅하는 것이 정석인데, 그 장소가 스택..
-
CHAPTER 1. Nymph's_fault MakingFilm0x.STORY_TELLER/MakingFilm 2018. 2. 28. 16:27
CHAPTER 1. Nymph's_fault MakingFilm 문제 링크 : https://github.com/pwnwiz/STORY_TELLER/tree/master/STORY_0x00 이 문제를 기획하게 된 계기는 가장 먼저 동아리 내부 CTF 문제를 만들어라는 특명에서 비롯되었다. 풀어본 문제라고는 몇 가지 오버플로우 문제와 간단한 리버싱 문제가 전부였기에, 그나마 풀어본 버퍼 오버플로우 문제를 만들어보는 것이 어떨가라는 생각에서 제작하기 시작하였다. ropasaurusrex가 32bit 버퍼오버플로우 문제였다면, 가장 최근에 출제된 CODEGATE 2018의 baskinrobins31이 64bit 오버플로우 문제였는데, 페이로드가 많이 달라져서 상당히 당황했었다. 그래서 이 참에 64bit 체제..