'Troll'에 해당되는 글 2건

  1. 2019.04.26 [LOB] 9. troll -> vampire
  2. 2019.04.26 [LOB] 8. orge -> troll
System/LOB2019. 4. 26. 18:47

troll.c, troll 아님 vampire, vampire.c 임

▲ LOB 9번 문제. troll -> vampire 문제이다. vampire.c와 vampire 문제가 존재한다.

갑자기 많이 간단해 졌다. argv[1]의 47번째와 48번째를 검사한다. 근데 47번째가 0xff이면 안된다.

 

▲ 따라서 우리는 shellcode를 아주 멀리 넣어서 0xff가 아니게 하면 된다.

▲ 공격 페이로드는 nop를 70000개 넣고 그 뒤에 shellcode를 넣어주면 된다.

'System > LOB' 카테고리의 다른 글

[LOB] 11. skeleton -> golem  (0) 2019.04.26
[LOB] 10. vampire -> skeleton  (0) 2019.04.26
[LOB] 8. orge -> troll  (0) 2019.04.26
[LOB] 7. darkelf -> orge  (0) 2019.04.26
6. wolfman -> darkelf  (0) 2019.04.26
Posted by BadSchool
System/LOB2019. 4. 26. 18:43

 

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

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

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

gcc 말고 gdb 임

▲ 답은 심볼릭 링크를 이용해 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
Posted by BadSchool