버퍼[16] stp[4] ret[4]
버퍼가 16bite 이기때문에 버퍼에 쉘코드를 넣을수가없다 (쉘코드가 25바이트이기때문)
환경변수를 이용하여 풀어야한다.
환경변수를 등록하는 방법은
export [환경변수명]=[내용] 이다
export 로 환경변수를 확인해볼수있다.
test로 잘들어간것을 확인할수있다.
환경변수의 주소값을 구하기위해서 getenv 함수를 사용한다
getenv 함수를 이용하여 cat.c 파일을 만들었다
gcc -o cat cat.c
gcc로 컴파일을 해준다
-o 옵션은 파일이름 지정이다
gcc -o [실행파일] [소스파일]
환경변수 test의 주소는 bffffc7b 이다
페이로드는 ./cobolt `python -c 'print "\x90"*20+"\x7b\xfc\xff\xbf"'` 이다
다음문제는 gremlin 비밀번호는 hacking exposed 이다
// 2016.11.06
argv[2]에 nop+ 쉘코드를 넣고 ret주소를 argv[2]로 돌리는 방법도 있다.
'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 |
Buffer Overflow 기초 (0) | 2015.07.16 |
HackerSchool LOB Level 1 (0) | 2015.07.16 |