IT/LOB
[LOB] goblin
JKIminE
2016. 7. 17. 14:39
코드를 보면 조건이 꽤 많다.
egghunter라는 것이 있어 환경변수 사용을 막고,
argv[1][47]의 값이 \xbf가 아니라면 종료시킨다.
권한 문제로 인해서 새로운 c파일을 만들어 gdb로 까보았다.
i와 배열 총 44바이트를 주고있다. 따라서 dummy는 없다고 볼 수 있고,
| i(4) | buffer(40) | sfp(4) | ret(4) |
가 된다고 볼 수있다.
버퍼의 주소를 알기 위해서 코드 한줄을 추가후 실행시켜 보니
0xbffffae0 이라는 주소가 나왔다.
그러므로 ./orc `python -c 'print "A"*44+"\xe0\xfa\xff\xbf" + "\x90"*200+"SHELLCODE"'`
의 형식으로 짤 수있다.
Flag : cantata