결국 패치가 나왔습니다.

우선 문제는 lib.php파일에 있었나봅니다.

제로보드4 원격실행 취약 버그 패치해주세요. 제로보드 4.1 pl8 - 2007. 11. 1일 보안 버그까지 적용

수동 해결 방안도 함께 이렇게 제시하고 있습니다.

  1. lib.php 파일을 에디터 등으로 연다
  2. $REMOTE_ADDR 이라는 글자를 모두 $_SERVER['REMOTE_ADDR'] 로 변경
  3. 이 때 global $HTTP_SESSION_VARS, $member_table, $REMOTE_ADDR, $member, $connect; 이라는 부분에서는
    global $HTTP_SESSION_VARS, $member_table, $member, $connect; 로 변경을 한다.

하지만 편집 프로그램의 찾아 바꾸기 기능으로 마구 바꾸시면 곤란하구요.

혹시 php의 문법을 (아니라 C의 문법이라도 ) 아시는 분이시라면

lib.php에서 REMOTE_ADDR을 찾아보면


두종류가 있습니다.

하나는 선언 부분인데

global $HTTP_SESSION_VARS, $member_table, $REMOTE_ADDR, $member, $connect;
global $HTTP_SESSION_VARS, $member_table, $member, $connect;

이렇게 선언문, 그러니까 앞에 global이 있는 문장에서는

$REMOTE_ADDR 은 삭제하시고,

$zb_logged_ip=$REMOTE_ADDR;
$zb_logged_ip=$_SERVER['REMOTE_ADDR'];

이렇게 실제로 쓰이는 부분에서는, 그러니까 앞에 global이 없을 때는

$REMOTE_ADDR 을 $_SERVER['REMOTE_ADDR']로 바꾸시면 됩니다.

Posted by Parker Falcon