목록LOB (3)
Bace

이전 문제인 gremlin에서 구한 cobolt와 PW인 hacking exposed를 이용해 로그인한다. ID : cobolt PW : hacking exposed 파일 목록을 보면 코드를 보면 버퍼가 16바이트이고 이번엔 strcpy가 아니라 gets로 buffer에 입력 받아서 출력한다. 여기서도 buffer 크기 + SFP 크기인 20글자를 입력하면 segmentation fault 가 뜬다. 파이썬으로 문자열을 보내봤다. python -c 'print "a"*100' | ./goblin a가 100개가 들어가도 segmentation fault가 뜨진 않지만 실제로는 fault가 났다. core 파일이 생겼다. 다음 명령어로 gets에 인자를 주고 argv 에 쉘코드를 넣는다. python -c '..

이전 문제인 gate에서 구한 gremlin과 PW인 hello bof world를 통해 들어간다. ID : gremlin PW : hello bof world 파일 목록을 보면 cobolt와 cobolt의 소스가 들어있다. gate와 전체적인 내용은 같지만 이번엔 buffer 크기가 16 byte이다. mkdir tmp cp cobolt tmp/ 명령어를 통해 일단 파일을 복사한다. buffer의 크기는 16 byte SFP 크기는 4 byte이므로 ./cobolt `python -c 'print "\x90"*20+"\x61\x61\x61\x61"'` 을 해주면 segmentation fault가 뜬다. gdb -c core 명령어를 통해 들어가본다. RET 에 들어간 0x61616161 가 뭐냐고 물어..

문제를 들어간다. ID : gate PW : gate로 접속한다. vi gremlin.c 위의 프로그램은 ./실행파일, 인자 를 넣어서 실행하는 파일로, 인자를 넣지 않는다면 error, 인자를 넣는다면 인자를 그대로 출력해 주는 프로그램이다. 하지만, strcpy를 통해 buffer의 크기인 256을 넘어가면 문제가 생기게 된다. - GDB 처음 gdb로 확인하려면 자신의 권한으로 까야하기 때문에 main 페이지에 있던 gremlin 파일을 디렉터 리를 새로 만들어서 복사한다. mkdir tmp cp gremlin tmp/ 복사를 하고 나면 소유자와 그룹이 gremlin 이었던 파일이 자신의 이름인 gate와 gate로 바뀐 것을 볼 수 있다. 이제 gdb를 실행할 수 있다. gdb gremlin gdb..