g++_pwn

    [Pwnable] g++ pwn

    오늘은 g++ pwn 문제에 대해서 정리를 해보려한다. 32bit ELF파일이며 다이나믹 링킹되어 있다. NX만 enabled 되어 있으므로 쉘 코드 사용은 힘들어 보인다. 바로 아이다로 열어보자. 메인 함수에는 별게 없으니 넘기자 HackCTF에서는 처음 C++ 바이너리를 보는거 같다. 하나하나 분석을 해보자 우선 fgets로 입력을 받을 때 length check를 해주니 BOF는 힘들거 같다. 코드를 유심히 보면 replace 함수가 있다. 맞다. "I"라는 문자를 입력하게 되면 "you"라는 문자열로 변환을 해준다. 그럼 우리는 strcpy 함수를 이용해서 BOF를 터트릴 수 있다. 익스를 구상해보자면 1. "I"를 이용해서 buffer 0x3C만큼 채우기 2. Dummy 값으로 SFP 채우기 3..