Python

ftz

[ftz] level12

문제분석 & 풀이○ 코드 분석1. str[256] 선언2. setreuid()를 통해 level13 권한으로 설정4. gets()로 사용자에게 값을 입력받는다.  level11번과 마찬가지로 입력값에 대한 검증을 진행하지 않고 있기 때문에, 버퍼오버플로우 문제라는 것을 직감할 수 있다. 그러나 level11과의 차이점은 level11의 경우 argv[1]을 통해 입력값을 받았지만 이번 문제는 프로그램 시작 후에 입력값을 받고 있다. 따라서 페이로드를 작성할 때 파이프를 사용해야 할 것 같다. 문제로 돌아와서, 페이로드 작성 시를 제외해서는 level11번 문제와 동일하므로 똑같이 진행해보도록 하겠다. 먼저, str[256] 부터 ret 까지의 거리를 알아내기 위해서 attackme를 디버깅해야한다. 따라..

keyme
'Python' 태그의 글 목록