Wargame/FTZ
FTZ 19번 level19
cgy12306
2019. 7. 6. 19:54
ID : level19
PW : swimming in pink
gets의 취약점을 이용한 버퍼오버플로우이다. 디버깅 ㄱㄱ
40byte+ SFP(4byte)= 44byte이다. 44byte만큼 A를 넣어주고, ret에 쉘코드가 들어있는 환경변수의 주소를 넣어주면 된다.
기존의 있던 쉘코드를 그대로 이용해봤지만 uid가 level19이다. 여태 이용했던 쉘코드의 내용은 /bin//sh로 쉘을 획득하는 거지만 이번 attackme의 c 코드를 확인해보면 setreuid로 uid를 얻는 것이 없다. 그러면 level20의 uid를 확인하고 쉘 코드에 level20의 uid를 얻어주는 코드를 넣어주면 된다. (RDH님의 도움)
level20의 uid는 3100이다. setreuid(3100,3100)을 포함하는 쉘코드를 만들어서 환경변수에 저장 후 실행 해보자.
(쉘 코드는 https://ezbeat.tistory.com/233 참고했다. 후에 쉘 코드를 작성하는 법 공부하기)
비밀번호는 we are just regular guys이다