힌트가 필요합니다... ㅠㅠ

바이너리 분석 결과 원하는 주소의 원하는 값을 1 바이트 만큼 쓸 수 있어서 fini_array Overwrite로 원하는 만큼 메모리 쓰기를 하려고 했는데 카나리를 삽입하는 부분까지 이동하지 못해서 __stack_chk_fail 이 터지더군요.. 그래서 fini_array Overwrite 이동한 후 바로 __stack_chk_fail의 got를 덮어씌워서 main+0으로 이동하게 만들었습니다. 문제는 이렇게 해도 stack 데이터가 뒤죽박죽 되버려서 main 함수가 끝나면 이상한 곳으로 RET 되버리네요...

뭔가 이렇게 하는 건 아닌거 같은데... 힌트를 받고 싶습니다. ㅠㅠ

만약 제대로 main 함수가 loop되는 상황을 만들었다고 해도 ROP 공격을 할 수 있는 상황이 나오지 않아서 브루트 포스밖에 생각나지 않네요..

혹시 해당 문제를 풀기 위해서 꼭 알아야 하는 공격 기법 같은 것이 있는 것인지..? ㅠㅠ

#pwnable
작성자 정보
답변 1
avatar
김진우
대표 업적 없음

풀었습니당!

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