Profile

머리정리하는곳

c2w2m2

sprintf bof

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