Write-Up/FTZ

FTZ: Level17

NONE_31D 2019. 11. 20. 20:45

 

setreuid 함수가 level18로 권한을 올려주는 함수. 이 뒤에 call이 호출되므로 미리 buf에 쉘코드를 넣어놓고 call에 buf의 주소를 넣으면 될 줄 알았으나..! FTZ 상태가 이상한건지 내가 주소를 읽는 눈치가 이상한건지 한번도 맞아떨어지지 않으므로 마음 편하게 쉘코드를 환경변수로 저장하기로 했다. 

 

다음과 같이 환경변수를 만들고, getenv라는 $SHELLCODE 전용 주소 알아내기 코드를 짠다.

다음과 같이 코드를 찾을 수 있다.

 

다음과 같이 nop sled를 40바이트 넘기고, call이 가리키는 위치에 환경변수의 주소를 넣어주면 바로 익스플로잇 되어 비밀번호를 탈취할 수 있다. 

 

쉘코드 출처

'Write-Up > FTZ' 카테고리의 다른 글

FTZ:Level 19  (0) 2019.11.28
FTZ: Level15  (0) 2019.11.20
FTZ: Level11  (0) 2019.11.13
FTZ: Level 10 - writeup 수정중 (해결완료)  (0) 2019.11.12
FTZ: Level 9  (0) 2019.11.12