Newbie CTF_babypwn 풀이_정세인

CTF 중점 스터디

2019. 11. 3. 21:15

먼저 babypwn 프로그램을 다운 받았다.

babypwn 프로그램 다운

gdb로 한 번 스윽 까봤다.

 

gdb로 main을 분석한 결과

총 1024만큼 스택이 할당되어있다.  64비트이기 때문에 sfp와 ret이 각각 8바이트이다.

main을 분석했는데 system 함수 같은 쉘과 관련된 함수가 보이지 않아서 메모리에 올려져있는 함수들의 정보를

출력해봤다.

 

info function 이라는 뜻으로, 현재 메모리에 올라가 있는 함수들의 각종 정보를 출력해준다.

 

이렇게 보니 저쪽에 flag1 과 flag2 라는 함수들이 있다. 딱 봐도 플래그를 주는 함수이다.

두 개 중에 한 개의 시작 주소를 ret에 집어넣으면 쉘이 따질거라고 예상이 간다.

 

flag1 함수와 flag2 함수를 분석한 결과

flag1과 flag2 함수를 분석한 결과, flag2에 system함수가 있으므로 flag2 함수의 시작주소를 ret에 넣어준다면 쉘이 따질것이다.

flag 출력

로컬에서 exploit을 할려니까 안돼서 nc로 접속해서 exploit했다. 접속해서

ls를 하고 home에 들어가서 babypwn을 들어가니 flag가 있었다. 끝