>> Read No. 23075 article  
overflow에 대해서(chroot를 사용해 overflow를 방지한 경
우)

등록 2001-03-07 15:23:00     조회 2
이름 kim sangchan    

		현재 overflow에 대해서 공부하고 있습니다. 공부를 하다보니 이해가 가지 않는
부분이 있어서 질문드립니다.
vulnerability를 갖는 소스 파일이 다음과 같습니다.
 #incldue <string.h>
#include <unistd.h>
 int main(int argc, char **argv)
{
char buffer[1024];
chroot("/home/ftp");
chdir("/");
if(argc > 1)
 strcpy(buffer, argv[1]);
}
 이 소스코드에서는 overflow를 시도해 성공해서 루트권한의 쉘을 얻었더라도 진
짜 루트 디렉토리에 접근하지 못하도록 하기 위해서 chroot()를 써서 루트 디렉
토리를 바꾸었습니다.
이를 overflow하기 위해서는 shellcode내에 진짜 루트 디렉토리에 접근할 수 있
도록 shellcode를 삽입해야되는데 이를 위해 다음과 같은 소스파일을 컴파일해
서 shellcode를 얻어 냅니다.
 
main()
{
mkdir("sh", 0755);
chroot("sh");
chroot("../../../../../../../../../../../../../../../");
}
 제가 궁금한 점은 위의 소스 코드에서 mkdir("sh", 0755)와 chroot("sh")라는
부분입니다.
구지 sh라는 디렉토리를 만들고 그 디렉토리를 root디렉토리로 만든 다음
chroot()를 써서 루트 디렉토리로 이동할 필요없이 바로 chroot()를 써서 루트
로 이동하면 될 것같은데 그렇게 하지않고 위와 같이 하는 이유가 따로 있는지
궁금합니다..
 아직 초보라 많은 것이 부족합니다..
아시는 분들의 답변 좀 부탁드립니다..
 그럼 ...
이름
암호
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 1.34 초 ] 작업시간: [ 1.05 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1789609275
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.