Return-to-Libc 기법의 이해 [SlaxCore].pdf
Return-to-Libc 기법의 이해 [SlaxCore].pdf
Return-to-Libc 기법의 이해 [SlaxCore].pdf
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
- 88 -<br />
수원대학교 보안동아리 FLAG<br />
실패다 . 뭔뫐가가 잘못몰 되었다 . 이리저리 원인을 찾죎아본묯 결과 execve() 가 실행된 후의<br />
./setid(argv[0]) 의 주졅소를 찾죎아야 한다는것을 알았다 . ( 좀젪더 연구 요망 )<br />
메인함수의 ebp를 기준졇으로 ebp+12의 위치에서 argv[0] 의 주졅소를 뫵견할 수 있다 . 그 주졅소를 따<br />
라가 포인터를 확인해보니 각각의 argument 를 가리키고 있는것을 확인 할 수 있다 .<br />
vul을 gdb를 사용하여 disassemble하여 확인해보아도 argument처죞리부뭂분뭄에서 ebp+12에<br />
위치한<br />
argument 를 레지스터에 넣는것을 확인 할 수 있다 .<br />
이제정 다시 테스트를 해보자 . argv[0] 은 0xbfffff14 이므뫝로 argv[0]-8은 0xbfffff0c 0xbfffff0c , execl()+3은<br />
0x400e0d07<br />
0x400e0d07이다 0x400e0d07<br />
0x400e0d07 . 공격코드는 아래와 같다 .<br />
[/home/slaxcore/Ret_<strong>to</strong>_libc]$cat exploit.c<br />
#include <br />
int main()<br />
{<br />
char *argv[]={