본문 바로가기

카테고리 없음

TokyoWesternsCTF neighbour Write up

여기를 보면 rbp-0x8에서 stream 을 꺼내서 쓰고있는 이걸 while문에서 항상 이것을 사용한다.

즉 우리는 stream쪽을 우리가 원하는 값으로 바꿀수 있게 되는데, 이제 이걸 어케하냐?

 

일단 들어가기전에 stderr이걸 알아야되는데 fprintf에서 stream 을 stderr이것으로 받고 있어서서버에 접속하게 되면 Leak 이 되지 않게 된다.

 

stderr 은 __iO_file 넘버에서 가져오게되는데 결국 write(stderr->_fileno, buf, size); 이런식으로 받는다는거다

 

그럼 _FILENO넘버를 stdout으로 바꿔주면 출력이 될것이다

 

대충 부르트포싱 섞어주면 풀리는 문제다