본문 바로가기

pwnable3

메모리 접근 시간을 이용한 메모리 릭 안녕하세요. 오랜만에 게시글을 쓰는 것 같습니다. 오늘은 최근에 풀었던 AmateursCTF 2024 - baby-sandbox 문제에서 몰랐던 사실을 알게 되어 관련 글을 포스팅하려 합니다. 해당 문제는 유저 입력 값을 쉘코드로 사용하는 문제입니다. 하지만, 그냥 실행해주지는 않습니다. 보시는 바와 같이 몇 가지 제약 사항들이 존재합니다. 1. 해당 바이너리는 PIE가 설정되어 있습니다. (메모리 주소 랜덤) 2. 쉘코드 영역 주소는 0x1337000로 고정되며 r-x 권한을 가지고 있습니다. 3. 유저 입력 값 중 시스템 콜 명령어가 포함되어 있으면 안 됩니다. - int 0x80 "CD 80" - syscall "0F 05" 4. fs, gs 사용 불가능. (fs, gs로 메모리 주소 계산 방지) .. 2024. 4. 10.
syscall socket x86, x86-x64 가끔 문제들을 보면 file descriptor를 싹 닫는 경우가 있다. 이런 경우 socket을 통해 새로운 file descriptor를 생성해주면 된다. sys_mprotect를 사용해 실행 권한을 할당 해 reverse shellcode를 실행 시키는게 대표적이며, sys_socket, sys_connect를 사용한 srop로 직접 리버스 커넥트를 맺을 수 있다. Reverse Connect를 맺게 되면 dup2 처리를 해 stdin / stdout을 제공해준다. x86-x64 기준 sys_socket : rax - 0x29 rdx - 0x0 rsi - 0x1 rdi - 0x2 sys_connect : rax - 0x2a rdx - 0x10 rsi - ptr (ip/port) rdi - fd (s.. 2018. 9. 30.
Heap Exploitation 번역 영어 공부 겸 Heap 공부.틀린 점이 있다면 지적 감사히 받겠습니다 Original : https://heap-exploitation.dhavalkapil.com/ 2017-06-08. Preface. 이 짧은 책은 'heap memory' 내부 구조, glibc의 'malloc'과 'free'의 특별한 실행 절차 그리고 'heap exploitation'을 공부하게 되는 보안 연구원들의 이해를 돕기 위해 쓰였다. 첫 번째 Section은 상세하면서도 간결한 Heap 내부 구조의 설명으로 구성되어 있고, 두 번째 Section은 유명한 공격들로 구성되어 있다. 이 주제는 독자들에게 친숙하지 않을 것으로 추정된다. 경험을 해본 독자들이라면 빠르게 검토 가능할 것이다. 이것은 최종 버전이 아니며 지속적으로.. 2017. 6. 8.