hackctf wishlist

    [HackCTF] wishlist (500p) 풀이 및 알게 된 점

    풀이 canary는 없고 Partial RELRO만 걸려있다. (stripped binary) input 함수에서 값을 입력받고 add_wish, view_wish, delete_wish 함수를 실행한다. input 함수에서는 BOF가 발생한다. buf는 0x10칸이지만 0x20칸을 입력받으므로 SFP와 RET를 덮을 수 있다. 새로 알게 된 기법 - Stack Pivoting Stack Pivoting은 SFP와 RET를 덮을 수 있을 때 사용할 수 있는 공격 기법이다. Stack Pivoting은 크게 2단계로 나뉜다. stage #1 - RBP Control 보통 read 함수와 같은 입력 함수는 RBP를 기준으로 입력을 받는다. BOF에서 SFP를 임의 주소로 덮고 RET를 입력 함수의 인자가 세..