반응형
Off-by-one 취약점은 경계 검사에서 하나의 오차가 있을 때 발생하는 취약점.
버퍼의 경계 계산 혹은 반복문의 횟수 계산 시 < 대신 <= 을 쓰거나, 0부터 시작하는 인덱스 고려하지 못하는 경우 발생.
#include <stdio.h>
void copy_buf(char *buf, int sz) {
char temp[16];
for(i = 0; i <= sz; i++)
temp[i] = buf[i];
}
int main(void) {
char buf[16];
read(0, buf, 16);
copy_buf(buf, sizeof(buf));
}
size + 1 만큼 반복이 돌면서 off-by-one 발생.
반응형
'Security' 카테고리의 다른 글
[systemhacking] Memory corruption (0) | 2021.11.18 |
---|---|
[systemhacking] format string bug (0) | 2021.11.17 |
[systemhacking] Out of Boundary (0) | 2021.11.11 |
[systemhacking] 버퍼 오버플로우 (0) | 2021.11.10 |
[Webhacking] [client-side advanced] Exploit Techniques - CSS Injection (0) | 2021.11.03 |