Summary

CMU 15-213: Introduction to Computer Systems

Lab : http://csapp.cs.cmu.edu/3e/labs.html

Attack Lab

BOF 공격을 해보라는 문제임

Phase 1

Phase 1~3은 ASLR이 적용되어있지 않고 stack이 executable함.

BOF로 retaddr을 원하는 목적지 함수로 덮어쓰면 끝.

Phase 2

Touch2 함수를 호출하는데

인자로 쿠키값을 넣어줘야함.

스택에 rdi를 쿠키값으로 설정하는 코드를 넣은다음

(mov rdi cookie, push touch2, ret)

Retaddr을 rsp 주소로 변조.(aslr 안켜져있어 가능)

스택에 작성한 코드를 실행 후 touch2 실행.

Phase 3

이번엔 인자로 구조체에 대한 포인터를 넣어줘야 함.

운이 안 좋게 스택이 모자람.