sprintf에서 진짜 생각도 못한 bof 가 터지기도 한다ㅋㅋ..
예를 들면
char buf[40];
int cnt = 1;
while(1){
sprintf(buf,"%d Hello Is good day! You can see bof????", cnt);
cnt ++;
}
같은 코드가 있다.
이러면 cnt 가 한자리 수면 정상적으로 실행된다.
하지만 cnt 가 2자리수 이상이면...?
2자리 일 경우 ? 하나가
3자리 일 경우 ? 2개가
...
5자리 일 경우 f???? 가
오버플로우 나게 된다.
이런식으로 오버플로우를 유발시킬 수 있다.
'Today' 카테고리의 다른 글
Gadget (0) | 2018.02.08 |
---|---|
Environ, atexit (0) | 2018.02.07 |
got ptr (0) | 2018.01.29 |
shellcode execute (0) | 2018.01.24 |
PHP Session (0) | 2018.01.21 |