버퍼오버플로우 문제다. 일단 스택의 구조는 먼저 선언된 변수가 스택의 아래, 다시말해 스택의 높은 주소에 위치하게 된다.


buf[10]

buf2[10]


구조는 이렇다.

소스를 보면 buf2의 2바이트가 go면 setreuid를 level10으로 설정하고 bash 쉘을 실행한다.

일단 소스대로 10바이트까지 무작위로 buf에 넣고 나머지 2바이트를 go로 하고 푸니 안됐다.


아마 더미값이 있는 것 같다.


더미값이 얼마나 있는지 추측이 어려워 go라는 문자열을 20바이트를 보냈고 쉘을 얻었다.



'Wargame > FTZ' 카테고리의 다른 글

[FTZ] level11@ftz  (0) 2017.11.10
[FTZ] level10@ftz  (0) 2017.11.10
[FTZ] level8@ftz  (0) 2017.11.09
[FTZ] level7@ftz  (0) 2017.11.09
[FTZ] level6@ftz  (0) 2017.11.09

+ Recent posts