미역줄기의 이모저모
[ Dreamhack ] Out of Bounds 본문
728x90
배열의 속성
배열이 점유하는 공간의 크기는 요소의 개수와 요소 자료형의 크기를 곱한 값이다. 배열이 포함하는 요소의 개수를 배열의 길이라고도 한다.
Out of Bounds
OOB는 요소를 참조할 때, 인덱스 값이 음수이거나 배열의 길이를 벗어날 때 발생한다.
사용자가 배열 참조에 사용되는 인덱스를 임의 값으로 설정할 수 있다면, 배열의 주소로부터 특정 오프셋에 있는 메모리의 값을 참조할 수 있다. 이를 Out of Bounds 라고 한다.
임의 주소 읽기
OOB로 임의 주소 값을 읽으려면, 읽으려는 변수와 배열의 오프셋을 알아야 한다. 배열과 변수가 같은 세그먼트에 할당되어 있다면, 둘 사이의 오프셋을 항상 일정하므로 디버깅을 통해 쉽게 알아낼 수 있다. 같은 세그먼트가 아니라면, 다른 취약점을 통해 두 변수의 주소를 구하고, 차이를 계산해야 한다.
'Hacking > DreamHack 시스템 해킹 강의' 카테고리의 다른 글
[ Dreamhack ] 포맷 스트링 버그(FSB) (0) | 2024.02.24 |
---|---|
[ Dreamhack ] Hook Overwrite (0) | 2024.02.17 |
[ Dreamhack ] link (0) | 2024.02.09 |
[ Dreamhack ] NX & ASLR (0) | 2024.02.08 |
[ Dreamhack ] Stack Canary (1) | 2024.02.08 |