1. 풀이

- 20byte의 buf 배열 생성 후 gets()로 사용자 입력을 받음

- 기존의 level과 달리 setreuid, system("/bin/sh") 구문 등이 확인되지 않음

 

- 40byte 만큼의 공간을 할당하여 buf(20byte)+dummy(20byte) 만큼이 있음을 알 수 있음

 

- 쉘코드를 환경변수로 등록하여 attackme를 실행하여 보았지만 변화없음 

- 그 이유는 hint에서 보았듣이 setreuid가 설정되어 있지 않아 BOF가 발생했다 하더라도 level20의 권한을 탈취할 수 없기 때문임

 

- 따라서, setreuid 및 /bin/sh이 포함된 쉘코드를 환경변수에 저장 후 환경변수의 주소를 RET에 덮어써 쉘코드를 실행

'문제풀이 > FTZ' 카테고리의 다른 글

FTZ Level20 풀이  (0) 2022.11.08
FTZ Level18 풀이  (0) 2022.11.07
FTZ Level17 풀이  (0) 2022.11.07
FTZ Level16 풀이  (0) 2022.11.05
FTZ Level15 풀이  (0) 2022.11.05

+ Recent posts