>> Edit article
이름
제목
패스워드
: 일반사용자가 자기의 패스워드를 변경하기 위해 "passwd"라는 명령어를 사용했을 때는 s라는 퍼미션(SetUID 퍼미션) 때문에 root권한으로 실행이 되는 것이잖아요.. 따라서 /etc/passwd파일이 root소유임에도 불구하고 일반사용자가 변경이 가능한줄로 알고 있는데요.. : : 해커들은 바로 이런 SetUID퍼미션이 설정되어 있으면서 root소유로 되어있는 명령어들을 해킹에 이용하게되며 가장 대표적인 명령어가 passwd라는 명령어로 알고 있습니다. : : 구체적으로 setuid 권한이 설정된 passwd 명령어를 일반사용자가 실행 시켰을경우 그 사용자는 프로그램이 수행되는 동안 root의 권한을 획득하여 시스템의 주인이 바뀌는 상황이 발생하게 되는지 설명을 부탁드립니다. : : 실제 시스템에서 어떻게 구현되는가를 예를 들어서 설명해 주시면 감사하겠네요....느낌이 잘 오지 않아서요... passwd 명령어는 정상적인 동작만 하고 나오도록 되어있죠 ... 그런데 만약 argument를 일부러 이상하게 주어 그 프로그램이 비정상적인 동작(내가 원하는)을 하도록 하는 방법입니다. 예를 들어 그 프로그램이 system()을 수행한다면 parameter에 내가 원하는 명령얼르 넣는다든지 아니면 stack overflow를 이용하여 내가 집어 넣은 shell code를 수행하게 하는 것입니다. 질문에 대한 답변이 맞나요? ^^
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved