본문 바로가기

WARGAME/hackerschool ftz,lob

[BOF 원정대] Level 1 ~ 3



bof 원정대 : 2014. 07. 14 ~ 2014. 07. 28


1번 문제

1번 문제는 단순히 buf[256]에 사용자로부터 문자열을 입력받고 복사하여 출력하는 것이 전부다.

에그쉘을 이용하여 풀이하였고, 공격 코드는 다음과 같다.


2번 문제

level1 에서 올려놓은 환경변수가 있기 때문에 이를 이용해서 바로 풀이하면 되는데, 이전 문제와의 차이는 buf의 크기가 16으로 줄어든 것 뿐이다.

따라서 우리가 할 일은 ret에 올려놓은 환경변수 주소를 써주면 된다. 공격 코드는 다음과 같다.



3번 문제

이전 두 문제와는 다르게 표준 입력으로 입력을 받는다.

buf[16]으로 변수의 크기는 같다. 따라서, 이전에 올려놓은 환경 변수를 그대로 사용하고 입력하는 방식만 표준입력에 맞춰 입력해 준다.

ret에 쉘 코드를 올려놓은 환경 변수 주소를 적어주면 된다. 공격 코드는 다음과 같다.