도와주십셔......

bof벡터까지는 찾았고(카나리값 덮이는거 확인.) 문제는 leak인데 아무리 생각해봐도 libc나 canary같은 스택에 있는 값을 그대로 가져오는건 불가능할것 같습니다. 그래서 bmp파일 파싱 과정에서 bmp파일 데이터 뿐만 아니라 그 뒤에 있는 스택까지 같이 딸려들어가서 파싱되게끔 할 수 있다면 어떨까? 하는 생각까지 갔습니다. 아직 bmp파일을 유니코드로 변환하는 루틴을 자세히 분석하진 않아서 될지는 모르겠고 만약 이 생각이 올바른 접근방식이라면 이미 만들어진 유니코드를 다시 원본 값으로 역연산을 해야하고 이게 가능한 일일까요? 그렇다고 canary나 libc주소 같은 값들이 그대로 화면에 출력되게 하는건 아무리 생각해도 프로그램 구조상 말이 안되는것같고요... memory leak관련해서 힌트 요청합니다...

#pwnable
작성자 정보
답변 1
2dedce
워게임 고인물

메모리에 있는 값을 출력 기능을 이용해서 그대로 출력하기는 어려울 것 같습니다. 생각하신 대로 점자 유니코드로 뜨는 결과물을 보고 역연산을 해야 합니다. 입력이 점자 유니코드로 출력되는 과정을 분석해서 생각한 방법을 시도해 보세요.
점자 한 칸에 집중하면 한 칸이 색칠되거나 색칠되지 않거나 하는 것은 어떤 질문(입력)에 대한 yes or no라고 생각하실 수 있습니다. 원하는 의미를 가진 질문(입력)을 어떻게 프로그램에 줘야 할지 고민해 보세요. 여러 번 입력을 주어서, 여러 번 대답을 받고, 그 대답을 통해 메모리 값을 역연산해야 합니다.

2021.12.06. 16:49
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기