안녕하세요! 이번에는 HackCTF의 Basic_bof #2의 풀이를 해드리겠습니다. 이것도 buffer overflow를 이용한 문제라고 하네요? 이것도 마찬가지로 file과 checksec을 이용해 분석해보겠습니다. 보시면, Basic_bof #1 이랑 비슷하게 32비트에다, 리눅스기반 그리고 스트립되어있지 않아요 그리고 NX가 걸려있어 셸코드를 사용하지 못해요. 그럼 ida로 한번 분석해볼까요? 이렇게 v5에 sup이라는 함수의 주소를 넣고, fgets를 이용해 s에 입력받고, v5안에 저장된 sup 함수를 실행하게 되네요! 흠… 그럼 이걸 어쩌지..? 하던 찰나에 왼쪽을 보았더니 수상한 이름의 함수가 떡하니 보였습니다. 오호라.. shell이라고??? 저는 호기심을 참지 못하고 한번 확인해 봤습니..