728x90
소스를 보니 level11문제와 동일하다. 다만 11번은 프로그램인자로 str의 값을 입력받았다면
이번에는 stdin(표준 입력)으로 부터 값을 받고 출력을 해 준다.
똑같이 환경변수를 이용해서 쉘 코드를 등록한 뒤 공격코드를 넣었다.
##
cat을 붙이는 이유:
완전히 이해하지는 않았지만 cat을 붙이지 않을 경우 gets가 쉘 코드를 읽고 쉘 코드가 실행되어 쉘이 실행 될때
사용자의 입력을 대기해야하는데 바로 종료시키게 되어 원하는 명령을 할 수 없게 된다. 그래서 cat을 붙이게 되는데
괄호로 묶어주지 않을 경우 "python ....."실행 후 "cat | ./attackme"으로 실행되기때문에 괄호로 묶어서
위와 같이 쓰게 된다.
-- 참조 : http://cosyp.tistory.com/208
728x90
'ctf + wargame > 해커스쿨ftz' 카테고리의 다른 글
[ftz] level14 (0) | 2015.09.20 |
---|---|
[ftz] level13 (0) | 2015.09.20 |
[ftz] level11 (0) | 2015.09.20 |
[ftz] level10 (0) | 2015.09.18 |
[ftz] level9 (0) | 2015.09.18 |