정보보안/시스템 해킹3 Stack Buffer Overflow 리눅스 환경에서 - pwndbg 설치터미널에 다음과 같이 입력하면 설치된다. 버전은 최신 pwndbg 버전을 입력하면 된다.$apt install ./pwndbg_2023.07.17_amd64.deb 하지만 이렇게 에러가 뜬다면 github clone 바로 사용하기 위해 다음과 같이 입력하면 된다.git clone https://github.com/pwndbg/pwndbg - pwntools 설치 $apt-get update$apt-get install python3 python3-pip python-dev git libssl-dev libffl-dev build-essential$python3 -m pip install --upgrade pip$python3 -m pip install --upgra.. 2024. 11. 25. Dreamhack_Assembly Quiz Q1. 레지스터, 메모리 및 코드가 다음과 같다. Code를 1까지 실행했을 때, rax에 저장된 값은?[Register]rbx = 0x401A40=================================[Memory]0x401a40 | 0x00000000123456780x401a48 | 0x0000000000C0FFEE0x401a50 | 0x00000000DEADBEEF0x401a58 | 0x00000000CAFEBABE0x401a60 | 0x0000000087654321=================================[Code]1: mov rax, [rbx+8]2: lea rax, [rbx+8] mov: 데이터 복사 명령어 rax = 0x401A40+0x8 = 0x401A48=> 0xCO.. 2024. 11. 25. Stack Canary 여태까지는 단순 stack buffer overflow를 다뤘다면이제는 canary가 추가됐을 때를 볼 거다. 런타임일 때마다 canary 검사 실행 TLS란 그냥 TLS 주소는 fs register가 가지고 있다.fs가 가리키고 있는 주소값을 알면, TLS 주소를 알 수 있다.TLS에서 0x28만큼 떨어진 주소에 canary가 위치한다.따라서 TLS 주소만 알고 있다면, canary 값을 획득하고 변조할 수도 있다. RSI: fs가 가리키게 될 값RDI: ARCH_SET_ Stack Canary 우회 방법 Brute Force: 무차별 대입 TLS 접근: TLS에 저장된 카나리값 변조 Stack Canary Leak: 카나리를 유출시켜: Return to Shellcode 문제 코드 canar.. 2024. 11. 25. 이전 1 다음