int win()
{ return system("cat /flag"); } |
플래그를 주는 win
함수가 있다.
if ( (unsigned int)__isoc99_scanf("%ld %ld %ld", &a, &b, &n) != 3 )
break; buf[n] = a + b; |
입력값 2개를 저장할 때 OOB write로 return address가 조작될 수 있다. buf
가 rbp-0x60
에 위치하므로 buf[13]
에 win
의 주소 0x400822를 쓰면 win
을 실행할 수 있다.
![](https://blog.kakaocdn.net/dn/b4v2xR/btqA9CJlBXR/XnPoA0uonwbCwhSxtVycFk/img.png)
Last update: 10/22/2020
'Wargame > pwnable.xyz' 카테고리의 다른 글
pwnable.xyz / note (0) | 2020.01.13 |
---|---|
pwnable.xyz / GrownUp (0) | 2020.01.13 |
pwnable.xyz / misalignment (0) | 2020.01.13 |
pwnable.xyz / sub (0) | 2020.01.13 |
pwnable.xyz / Welcome (0) | 2020.01.13 |