본문 바로가기

3. Pwnable (포너블)/1) Write UP

(2)
[2020.04.14] pw.Sly - pwnable.kr의 bof(2) 출석 : 모두들 정시출석 perfect, 과제 제출 perfect 학습내용 : pwnable.kr 3번 bof문제 코드 심층분석 [pwnable.kr 3번문제] Q1. 스택은 높은주소에서 낮은 주소로 쌓이는 거 아닌가? overflowme 시작 주소가 ebp-0x2c일 때 왜 위로 자라나지 않고 아래로 자라난다고 많은 write up에서 풀이되어 있는지 모르겠음. (여기서 왜 1번이 아니고2번인가?) ​ A. 수많은 글을 찾아봤으나 정확한 결론이 나지 않음. 높은 주소부터 낮은 주소로 스택이 확장되는것은 맞는것 같음. 자세한 문의는 교수님께 드려봐야 할 듯. Q2. func함수에서 mov eax, gs:0x14부터 3번째 줄까지는 무슨 일을 하는 것인가? 카나리라는 이야기를 듣긴했는데 정확히 모르겠다. ..
[2020.04.07] pw.Sly - pwnable.kr의 bof(1) 0407 pw.Sly - 달고나 문서와 이어짐. [pwnable.kr 3번문제] Q1. 박슬리 ppt를 보면 9슬라이드에서 왜 func함수가 시작되는 곳이 ebp-0x2c인가? 그 위에가 printf함수인데 그러면 이미 func이 시작된것이 아닌가? ebp-0x2c가 gets 입력받는 곳이라고 생각하면 (ebp+0x8)-(ebp-0x2c)가 이해되는데 왜 func의 시작지점인지 모르겠다. A. ppt 오타이다. 함수가 아니라 배열의 시작지점이다. 배열 overflowme의 시작부분이 ebp-0x2c 이다. func 함수의 시작은 0x0000062c이다. Q1. gdb로 뜯은 코드에서 char 배열의 시작점은 어디이며, 왜 overflowme의 시작주소가 0x2c인가? printf 이전에 선언하였는데 왜 ..