회원가입메일  
   
자유게시판
공지사항
질문/답변
웹게임질문/답변
 
> QnA Board
이름 Level 0, 25 Point 코어 2011-06-24 03:11:28
제목 (자문자답)달고나님의 BOF기초문서에서 Return into libc부분에 대한 질문입니다.

그림 48 밑에 있는 글을 보면

 

『여기서 유의할 점은 system()함수가 실행되는 시점이다. 일반적으로 system()함수를 수행할 때는 system()함수를 호출하여 수행할 것이다. call instruction은 다음 수행할 instruction의 address 즉 return address를 스텍에 PUSH한 다음에 해당 함수의 시작점으로 이동한다. 하지만 여기서는 main()함수가 수행을 마치고 return할 때 return 지점이 system()함수의 시작 지점이 된다는 것을 염두해 두기 바란다.』

 

라고 되어 있습니다만, main함수가 종료된 시점에서야 main함수에서 호출했던 system이 수행된다는 말인 것 같은데 이게 잘 이해가 되질 않습니다.

 

그냥 'system함수의 동작 방식이 이렇다' 라고 한다면, 이러한 특성에 대해 알기 위해서는 어떠한 문서를 찾아보면 되는지 가르쳐주시면 감사하겠습니다.

-------------------------------------------------------------------------------------------------

몇번을 읽어보고나서 이해했습니다.

stack에 집어넣은 쉘코드를 무효화시키는 방어법을 우회하는 방법으로

쉘코드를 만드는데 사용되었던 함수(예를 들면 여기선 system()이나 execve())를 쉘코드로 만들어 stack에 집어넣는 대신에 이 함수들이 공유라이브러리에 로드되어 있다는 점을 이용한 것이로군요.

main함수가 끝난 뒤에 system함수가 실행된다는 것은 그저 main함수가 종료되고나서 되돌아가는 ret address를 사용하려 했기 때문일 뿐이고, main내부에서 다른 함수를 호출하고 그것이 종료된 다음 되돌아갈 ret address를 사용한다면 main함수가 종료된 다음에 수행하지 않아도 되는 것 같네요.

 

성급하게 질문을 올린 것이 부끄럽게 느껴져서 게시글을 바로 지울까 하다가

저와 같이 매우 초보인분들이 혹시나 같은 부분에서 헤멜지도 모른다고 생각되어

그대로 남겨둘까 합니다.

목록
1060 ftp접속에 관한 질문입니다 [1]  Level 0, 25 Point 무송 2011.08.08 3863
1059 질문이있습니다 중학생입니다 [1]  Level 0, 25 Point KWHS 2011.08.03 3899
1058 해외서버에 접근한 아이피기록을 알수 있나요?  Level 0, 20 Point 러시안 2011.07.17 5237
1057 와우해커 멤버님들 읽어주세요^^ [1]   Level 0, 25 Point pack 2011.07.07 25
1056 안녕하세요. 질문드립니다.  [1]   Level 0, 25 Point 라아 2011.07.05 12
1055 올 7/17일에 전역을 앞둔 육군 정보보호병 .. [5]  Level 0, 45 Point justwhatiam 2011.07.02 6263
1054 윈도우 관련 질문  Level 0, 20 Point spoon 2011.06.30 3448
1053 (자문자답)달고나님의 BOF기초문서에서 Ret..  Level 0, 25 Point 코어 2011.06.24 4554
1052 웹사이트 취약점에 관해서요 .. [1]  Level 0, 50 Point 홍재훈 2011.06.23 4306
1051 프로그램 크랙? [1]  Level 0, 25 Point 올리브 2011.06.21 5275
1050 질문 [1]  Level 0, 20 Point fig0 2011.05.21 4463
1049 web,wpa 식 보안해킹 [1]  Level 0, 45 Point 할렘은낙원 2011.05.10 9190
1048 안녕하세요 최근 해킹에 관심을 가진사람입니다. [1]  Level 0, 45 Point 할렘은낙원 2011.05.10 5331
1047 해킹 당하는거 확인방법좀요.. [1]  Level 2, 770 Point 십잡스 2011.05.08 5184
1046 해킹 당한거 알려면 어디서 확인하나요?? [1]  Level 2, 770 Point 십잡스 2011.04.25 4914
1045 www.javahacking.com 접속불가 [2]  Level 0, 60 Point cofgreen 2011.04.15 5531
1044 c언어 정수형 자료형의 크기 에 대한 질문입니.. [2]  Level 0, 60 Point sarver_000 2011.04.10 4942
1043 c언어 질문 [1]  Level 0, 60 Point sarver_000 2011.04.10 4784
1042 키로거... [1]  Level 0, 25 Point Devil Jin 2011.04.08 4849
1041 안티 디스어셈블러에 관련해 질문드립니다 [2]  Level 1, 215 Point 시군 2011.03.25 6927
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10