사탄의인형      2004/12/28 12:11:31     7762     0   
   제로보드 보안 패치하세용..
http://lists.netsys.com/pipermail/full-disclosure/2004-December/030224.html

영문 문서을 참조하세요..

현제 http://www.nzeo.com/에 패치된 파일이 올라와있습니다.


--------------------phpschool에 올라온 글 -------------------------------


글쓴이:ibin 제로보드 4.1 보안버그 패치스크립트(서버관리자용) 조회수:2096

ibin
http://www.nzeo.com

현재 제로보드의 일부 보안버그가 발표되었습니다.
문제는 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 에서 테스트되었습니다.

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

   
코멘트를 작성하시면 2 포인트가 지급됩니다.

       

4973 미안하다... 못듣겠다.. 사탄의인형 01/18 7140
4972 저작권법 개정과 시행에 따른 파장... [4] 01/11 6420 01/16(13:20)
4971 오늘이~ [4] 싸뤼 01/09 5977 01/12(20:48)
4970 날씨가 엄청 추버요. [2] 01/05 6405 01/06(09:40)
4969 잠 안오네요.. 사탄의인형 01/05 6480
4968 출근 2일째! [3] 싸뤼 01/04 6545 01/05(13:02)
4967 나른나른한 오후 입니다. ;; [2] 01/04 6304 01/05(02:39)
4966 주온 미국판..grudge 보기전에 권고... [2] 사탄의인형 01/03 6693 01/04(16:46)
4965 새해엔 답글 많이 올립시당.. 사탄의인형 01/03 6790
4964 7호선 불났나면요.. [1] 사탄의인형 01/03 7017 01/03(14:50)
4963 새해 복 많이 받으세요♡ 01/03 6741
4962 1월 1일 첫글~~~ [1] 01/01 6875 01/03(09:54)
4961 새해 복 많이 받으세요~~~ 12/30 6681
4959 츄카해주세요>0< [5] 싸뤼 12/29 7019 12/31(17:23)
>> 제로보드 보안 패치하세용.. 사탄의인형 12/28 7762
FIRST576465666768697077LAST