[PWN] prob2
카나리 말고는 다 있다. prob2는 함수가 참 많다. 그래서 처음엔 약간 복잡해 보였지만, 정리해보니 다음과 같았다. case1에서는 s라는 배열에 […]
카나리 말고는 다 있다. prob2는 함수가 참 많다. 그래서 처음엔 약간 복잡해 보였지만, 정리해보니 다음과 같았다. case1에서는 s라는 배열에 […]
PIE가 없고, Partial RELRO이다. got overwrite를 이용해야 할 것 같은 느낌이 든다. ida로 까본 메인 함수이다. read와 add 옵션
relro1과 마찬가지로 Full relro와 NX만 켜져있다. ida로 까봤다. main함수에서는 r2(내가 이름 정해줌) 함수만 호출하고 있고, r2 함수 내부에는 buf를
NX와 full relro만 켜져있다. ida로 까봤다. buf의 크기는 정확히 모르겠지만(0x30이라고 생각했는데, ida로 보니 아닌 거 같기도 하고..?), 일단 buf의
다 켜져있다. ida로 까봤다. 흐름은 대충 bof가 한번 일어나고, 특정 주소에 8byte를 덮어쓸 수 있고, 마지막에 특정 주소를 free할 수
이번 문제는 Full Relro, NX, 그리고 PIE까지 켜져있다. 코드 영역의 주소까지 랜덤화된다는 것을 인지하고 시작하자. ida로 까봤을 때 메인
ida로 까봤다. thread를 생성할 수 있고, 입력을 받을 수 있다. 그리고 마지막에 read로 0x400만큼 입력 받을 수 있기에 bof가
canary, nx, pie, full relro 다 켜져있다. 메인 함수이다. 처음엔 약간 복잡해 보였지만 그렇게 복잡하지 않다. 예전 주차에 풀어봤던
C코드를 보자. main 함수 내부에는 긴 설명이 적혀있다. 간단히 요약해보면 name을 입력 받고(크기는 10byte로 제한) 이를 출력해주며, vuln 함수를
C코드이다. main 함수 내부에는 note라는 2차원 배열(100 x 8)이 선언되어 있고, name에 입력을 받은 후 while 내부에서 input_note, print_note를