[PWN] relro2
relro1과 마찬가지로 Full relro와 NX만 켜져있다. ida로 까봤다. main함수에서는 r2(내가 이름 정해줌) 함수만 호출하고 있고, r2 함수 내부에는 buf를 […]
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를
C코드이다. check 때문에 main 함수를 여러번 실행하기는 힘들어보인다. (사실 sfp와 ret를 잘 고려하여 if문 뒤로 jmp하면 main함수를 다시 실행할
이번 문제는 Canary가 있다! Canary가 뭔지 구글링해보았다. Stack Canary는 보호기법 중 하나인데, 간단히 말하여 버퍼와 sfp 사이에 특정 값을