728x90
반응형
1. intro
2. code 및 분석
2.1. code
생략
2.2. 분석
바이너리를 실행하면 소켓을 생성해서 입력을 받으며, 한번 실행된 바이너리에 여러번 접속할 수 있다.
3. 취약점 확인 및 공격 준비
3.1. 취약점
buffer overflow
3.2. 공격 준비
레벨 14와 유사하지만 레벨 14에서는 메인 함수로 돌아갔다면 레벨 15에서는 libc start main으로 리턴한다.
그러므로 libc 내의 특정 위치로 리턴해야한다.
BROP은 기본적으로 stop gadget을 찾아야하는데, 여기서는 특정 가젯을 타겟으로 리턴하면 바이너리가 무한루프에 빠진건지 다시 접속이 불가한 것을 볼 수 있었다.
그러므로 특정 가젯이 아닌 적당한 함수를 찾아서 이를 기준으로 나머지 주소를 브루트포스 할 수 있다.
여기서 적합한 함수는 리턴 시 레지스터 상태에 따라 결정할 수 있는데
이 문제의 경우 rdi가 적당한 주소였기에 puts 함수를 콜하여 그 내용을 출력하는지 검증하며 주소를 확인했다.
4. exploit
별도 작성
728x90
반응형
'Wargame > pwn.college' 카테고리의 다른 글
file struct exploits - level 7 (0) | 2023.07.30 |
---|---|
Shellcode - level 14 (0) | 2023.07.28 |
File struct exploit - level 4 (0) | 2023.07.22 |
format string bug - level10, 11, 12 (0) | 2023.07.22 |
intro (0) | 2023.07.20 |