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

+ Recent posts