-
[HackCTF] x64 Simple_size_BOF Write-up표튜터와 함께하는 Pwnable/HackCTF Write-up 2019. 4. 18. 21:48
이번 문제는 x64 Simple_size_BOF이다~~
문제를 실행시켜보았다!
버퍼의 주소로 보이는 것이 출력되고 있고
사용자가 값을 입력할 수 있게되어있다~
소스를 보도록 하자
버퍼의 크기는 0x6D30 => 27952이다. 프로그램을 실행해보면 알겠지만
버퍼의 주소는 항상 바뀐다. 하지만 버퍼의 주소를 출력해주기 때문에
우리는 버퍼의 주소를 알 수 있다. 그렇다면 일단 ret위치를 확인해보자
rsp에서 27960떨어진 부분이 바로 ret값이다. 그러므로 우리는
다음과 같은 Payload를 구성할 수 있다.
Payload는 다음과 같다~
우선 출력되는 버퍼의 주소값을 인자로 받아온다. 받아온 이 버퍼의 주소는
ret에 덮어쓸 것이다. 그 다음 64bit용 Shellcode(31)을 넣고 나머지 27929만큼을
dummy(27929)값으로 채운다. 그렇게 되면 ret의 위치가 되기 때문에 아까 찾아놓은
버퍼의 주소값을 넣어서 Payload를 완성하면 된다.
깔꼼하게 FLAG를 딸 수 있었다.
반응형'표튜터와 함께하는 Pwnable > HackCTF Write-up' 카테고리의 다른 글
[HackCTF] Offset Write-up (0) 2019.04.19 [HackCTF] Simple_Overflow_ver_2 Write-up (0) 2019.04.19 [HackCTF] x64 Buffer Overflow Write-up (0) 2019.04.18 [HackCTF] 내 버퍼가 흘러넘친다!!! Write-up (0) 2019.04.18 [HackCTF] Basic_BOF#2 Write-up (0) 2019.04.17 댓글