level19
-
Level19 (nightmare -> xavius)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:47
이번 문제의 키워드는 arg 입니다. stack영역 사용 불가능, binary 영역 사용 불가능 leave 와 ret로 끝나는 libc 함수도 사용 불가능 합니다. stack도 RET를 제외하고 모두 초기화를 시킵니다. 또한 취약한함수로 fgets 를 사용하고 stdin 을 사용합니다. \xbf , \x08 로 시작하는 값은 이용할 수 없기 때문에 stdin 영역이 사용하는 주소가 \xbf, \x08이 아니라면 쉽게 해결할 수 있을 것 같습니다. 먼저 stdin 부분에 break를 걸어서 stdin 중에서 어디에 데이터가 들어가는지 알려가보겠습다. 3번째 push 된 값인 ds:0x08049a3c가 stdin 이라는 것을 알 수 있습니다. fgets 전과 후를 break 해서 비교해 보도록하겠습니다. 먼..