미역줄기의 이모저모

[ Dreamhack ] Out of Bounds 본문

Hacking/DreamHack 시스템 해킹 강의

[ Dreamhack ] Out of Bounds

미역줄기줄기 2024. 2. 20. 16:10
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