--- 디지털 인쇄로 책을...

     ---리룩스서버컴퓨터 백업

  공개 자료실 

 文學위의 文學 출판사입니다. PDF로 전환하여 복사기로 책을 만듭니다. 자세한 내용은, '디지털 인쇄'에서 확인해 보세요!

리눅스(Linux) 서버

현재 제로보드의 일부 보안버그가 발표되었습니다.
문제는 include() 사용시에 선언된 변수를 GET 방식으로 전달이 가능하게 되었기 때문입니다.

이미 nzeo.com 공지에 뜬 이상 수 많은 사람들이 이 문제점을 발견했을 것이고,
마음만 먹는다면 제로보드가 설치된 홈페이지에 다음과 같은 일들을 할 수 있습니다.

1. 제로보드 자료실 첨부파일 모두 삭제가능(호스팅서버일 경우 타계정 사용자의 자료까지 삭제가능)
2. 제로보드가 설치된 디비내용 모두 삭제가능.
3. 디비계정 정보 유출(대부분 디비계정과 텔넷계정을 동일하게 사용하시죠?)

이제 남은 방법은 빠른 시간안에 패치하는 방법밖엔 없습니다.

패치방법)
        login.php

        68 line)
                include $file;
        =>
                if($id) include $file;

이 패치는 간단하므로 호스팅서버처럼 여러 사용자가 사용할때 다음 명령을 통해 한번에 모두 패치할 수 있습니다.

먼저 제로보드가 설치된 디렉토리로 이동하거나 호스팅서버라면 root 권한을 얻은뒤 /home (사용자 홈디렉토리)로 이동합니다.
        cd /home

다음은 문제가 되는 소스를 찾아서 출력하는 것으로 제로보드 이외의 소스가 있는지 패치하기전에 확인해야 합니다.
        grep -r "include \$file;" `find ./ -name login.php`

        문제의 소스) ./XXXXX1/public_html/zboard/login.php:    include $file;
        패치된 소스) ./XXXXX1/public_html/zboard/login.php:    if($id) include $file;

만약, 검색결과중 제로보드 이외의 다른 소스가 있다면 다음 처럼 파일하나씩 수작업으로 패치해야 합니다.
        perl -pi -e 's,\tinclude \$file;,\tif\(\$id) include \$file\;,g' ./XXXXX1/public_html/zboard/login.php

검색결과가 모두 제로보드 소스라면 다음 명령을 통해 현재 디렉토리 하위에 설치된 모든 소스를 자동패치하면 됩니다.
이때, 이미 패치된 소스와는 include 구문앞에 탭의 유무로 구분하기때문에 두번 패치되는 일은 없습니다.
하지만 사용자가 임의로 수정해서 탭이 없어진 경우라면 수정이 안될겁니다.
        grep -rl "include \$file;" `find ./ -name login.php`|xargs -n1 perl -pi -e 's,\tinclude \$file;,\tif\(\$id) include \$file\;,g'

마지막으로 처음 실행했던 검색명령을 통해 패치된 내역을 확인하면 됩니다.
        grep -r "include \$file;" `find ./ -name login.php`

        패치된 소스) ./XXXXX1/public_html/zboard/login.php:  if($id) include $file;
        패치된 소스) ./XXXXX2/public_html/bbs/login.php:   if($id) include $file;

추신) 위 스크립트를 통해 변환했을 경우 만약 잘못되더라도 되돌릴 방법이 없습니다.
따라서 미리 패치할 파일을 백업받아놓으시거나 하나의 파일만 테스트해본뒤 사용하시기 바랍니다.
추신2) 서버에 perl 이 설치되어 있어야 하며 RedHat Linux 7.1, 8.0 에서 테스트되었습니다.
번호 제목 글쓴이 날짜 조회 수
70 메가패스 "공유기 리셋(재부팅)/펌웨어 업그레이드 요청"2( 리눅스 17) file 문학 2007.04.15 3261
69 Zend Optimizer 설치하기 file 문학 2004.06.14 3221
68 한컴 리눅스 센드메일( 리눅스 18) file 문학 2007.04.15 3215
67 불루웹 windows EC 호스팅 문학 2004.04.29 3106
66 제로보드에 대하여... (4) ( 리눅스 29) file 문학 2007.04.15 3069
65 센드메일 -SMTP 인증 문학 2005.04.09 3044
64 웹호스팅 신청과 연관하여...( 리눅스 22) file 문학 2007.04.15 3027
63 대원대학교 컴퓨터정보 처리과 게시판에... file 문학 2004.06.02 3000
62 제로보드에 대하여... (4) ( 리눅스 31) file 문학 2007.04.15 2990
61 웹호스팅 신청과 연관하여...( 리눅스 21) file 문학 2007.04.15 2954
60 자이언트 서버( 불루웹- http://www.blueweb.co.kr ) 문학 2004.04.28 2937
59 PHP활용하기...( http://kr.hancom.com/ )에서 배우고저 옮겨 옮 문학 2004.09.30 2912
58 한컴 리눅스 센드메일( 리눅스 19) file 문학 2007.04.15 2903
57 제로보드에 대하여...( 리눅스 23) file 문학 2007.04.15 2897
56 메일서버를 새로 구축하다. 문학 2004.05.16 2897
55 제로보드에 대하여... (4) ( 리눅스 32) file 문학 2007.04.15 2881
» 제로보드 4.1 보안버그 패치스크립트(서버관리자용) 문학 2005.03.18 2879
53 제로보드에 대하여... (2) ( 리눅스 25) file 문학 2007.04.15 2854
52 [re] FTP 서버 구축하기에서 보내기가 안됩니다. 문학 2004.05.15 2853
51 한컴 리눅스 센드메일( 리눅스 20) file 문학 2007.04.15 2844