▲ LOB 8번 문제. orge -> troll 문제이다. troll.c와 troll파일이 존재한다.
▲ 이번에는 이전 문제와 달리 argc가 2인지 체크한다. 그리고 memset으로 argv[1]를 비워준다.
▲ 따라서 우리는 argv[2]를 사용할 수 없다. argv[2]를 사용하게 될 시 argc의 값이 3이 되기 때문이다. 우리는 다른 방법을 찾아보아야 한다.
▲ 답은 심볼릭 링크를 이용해 argv[0]을 내가 원하는 쉘코드로 바꾸어 주는 것이다. 이 작업을 하면 argv[0]에 우리의 쉘 코드가 존재하게 된다. 이를 이용해 공격을 할 수 있다.
▲ 위에서 알아낸 주소로 공격을 성공한다.
'System > LOB' 카테고리의 다른 글
[LOB] 10. vampire -> skeleton (0) | 2019.04.26 |
---|---|
[LOB] 9. troll -> vampire (0) | 2019.04.26 |
[LOB] 7. darkelf -> orge (0) | 2019.04.26 |
6. wolfman -> darkelf (0) | 2019.04.26 |
[LOB] 5. orc -> wolfman (0) | 2019.04.26 |