HACKCTF - 내 버퍼가 흘러넘친다!!!
뻔한 BOF문제로 유추가 되니 일단 실행시켜보겠습니다. 별다른 출력없이 입력만 받고 끝나는걸 확인할 수 있습니다. main함수를 보면 9번째에서 gets에서 입력값에 제한을 두지 않으니 bof가 일어나는것을 확인할 수 있습니다. 그리고 여기서 함수 목록을 보면 별다른 직접 shell을 가져다 주는 함수를 발견할 수 없는데 어떻게 풀이를 할까 고민하다가 직접 쉘코드를 넣는게 가능할까 생각을 해봤더니 NX가 가능하니 쉘코드를 직접 넣으면 될거같네요. 즉 메인함수를 다시 확인하면 1. name에 쉘코드를 넣고 2. s를 bof시켜서 리턴을 name변수로 가게끔 하면 쉘을 얻을 수 있을 것 같네요. S의 크기는 보이는것처럼 0x14이고 SFP까지 고려해주면 아래와같이 페이로드를 작성할 수 있겠네요. 1 2 3 ..
2020.07.09