System/LOB
[LOB] 8. orge -> troll
BadSchool
2019. 4. 26. 18:43


▲ LOB 8번 문제. orge -> troll 문제이다. troll.c와 troll파일이 존재한다.

▲ 이번에는 이전 문제와 달리 argc가 2인지 체크한다. 그리고 memset으로 argv[1]를 비워준다.


▲ 따라서 우리는 argv[2]를 사용할 수 없다. argv[2]를 사용하게 될 시 argc의 값이 3이 되기 때문이다. 우리는 다른 방법을 찾아보아야 한다.

▲ 답은 심볼릭 링크를 이용해 argv[0]을 내가 원하는 쉘코드로 바꾸어 주는 것이다. 이 작업을 하면 argv[0]에 우리의 쉘 코드가 존재하게 된다. 이를 이용해 공격을 할 수 있다.

▲ 위에서 알아낸 주소로 공격을 성공한다.