개인공부/pwnable
[protostar] stack3 문제풀이
5ddish
2018. 11. 19. 20:59
stack3번 풀이쓰
peda 와 pwntool 이용쓰
설치법은 구글에 잘 나와이쓰
문제임
소쓰 코드임
보면 buffer 뒤에 (fp에) win_addr address 를 덮어 씌우면 될 거 같음
그냥 실행시켜보면 그냥 끝남 ㅎ
일단 보면 ebp - 0xc 의 주소값과 비교를 해주고 이씀
그게 아마 나중에 win_addr 의 값으로 쓰일 것임
일단 페다로 보면 offset 위치가 64로 확인되고 0xbfff
페다 말고 실제로 메모리 까봐도 ebp - 0x c 의 주소가 0xbffff34c로 확인되고 거기에 0x41414141(aaaa)가 들어가있음을 확인
그럼 64 바이트 만큼 버퍼 넣고 ebp-0xc 주소에 현재 0x41414141 이 들어가 있지만 win 함수 address가 들어가면 될거같음
win function의 address는 아래에서 확인
나온 내용을 종합해보면
1. ebp - 0xc 의 주소값이랑 비교해서 점프문 수행함
2. 그 주소값이 근데 win 함수가 들어 가면 됨
3. win 함수 주소는 0x080491a2 임
이 내용을 가지고 스크립트를 짜보면 다음과 같음
짠
이렇게 끝