0x.STORY_TELLER/HowToSolve
-
CHAPTER 3.Viva_La_Vida HowToSolve0x.STORY_TELLER/HowToSolve 2018. 9. 3. 18:52
CHAPTER 3.Viva_La_Vida HowToSolve 파일 & 소스 : https://github.com/pwnwiz/STORY_TELLER/tree/master/STORY_0x02 글로벌 포인터로 청크들을 관리하는 청크의 주소를 보면 0x603100인데, root_cavalry청크에 대한 정보가 차례대로 저장되어 있음을 알 수 있다. 0x603130의 주소는 global_cavalry 청크인데 들어가보면 첫 번째 root와 knight1 등에 대한 구조체의 주소를 관리해주는 청크이다. root_cavalry의 첫번째 포인터를 참조해보면 name에 대한 정보가 들어가있고, 그 다음에 salary에 입력한 값이 들어가있으며, smallbin(0x100)을 할당한 영역이 차례대로 들어가있다. 이곳을 ..
-
CHAPTER 2.HalloweenDay HowToSolve0x.STORY_TELLER/HowToSolve 2018. 4. 11. 11:50
CHAPTER 2.HalloweenDay HowToSolve 문제 링크 : https://github.com/pwnwiz/STORY_TELLER/tree/master/STORY_0x01 이 문제는 fastbin_dup_into_stack 취약점이 존재하는 문제로, fake_chunk를 생성한 다음 값을 오버라이팅하여 풀 수 있는 문제이다.이 문제를 풀기 위해서는 다음의 개념들에 대한 이해가 필요하다. fastbin의 개념(64bit fastbin size)fastbin_dup_into_stack(fake_chunk)smallbin to unsorted binmalloc hook or free hook 해당 바이너리를 실행시켜보면 다음과 같이 뜬다. 오늘은 할로윈데이이며 누군가가 캔디를 받으로 집을 방문할..
-
CHAPTER 1. Nymph's_fault HowToSolve0x.STORY_TELLER/HowToSolve 2018. 2. 28. 16:27
CHAPTER 1. Nymph's_fault HowToSolve 문제 링크 : https://github.com/pwnwiz/STORY_TELLER/blob/master/STORY_0x00/Nymph's_fault_basic 이 문제는 64bit ROP + 간단한 Anti-Hexrays가 적용된 문제이다. 아주 쉬운 문제라고 할 수 있는게 카나리가 전혀 적용되어 있지 않고, Partial-Relro이기에 bss 또는 dynamic 영역등을 사용하여 /bin/sh;를 떄려넣고 익스를 할 수가 있다. BSS에 대해서 잠깐 설명하자면 변수의 선언이 되는 과정에서 초기화 되지 않은 프로그램의 메모리에 대한 정보를 담고 있는데, 프로그램이 시작될 때 0으로 초기화 시켜주는 역할을 한다. 익스플로잇 과정에서는 굳이..