국내에서 게시판으로 널리 사용되고 있는 제로보드와 그누보드, 테크노트 등에서 다수의 취약점이 발견되고 있습니다.
고객님들께서는 아래의 내용을 숙지하시어 반드시 보안 패치를 하시기 바라며 언제나 최신 버전으로 유지해 주시기 바랍니다.
1. 영향 : 원격의 해커가 웹서버 시스템 내 임의의 파일을 읽거나 악성프로그램을 넣어 실행하는 등 해당
취약점을 이용한 홈페이지의 대량 변조 등이 일어날 수 있습니다.
2. 해당 시스템
- 제로보드 4.1 pl5 이전 버전
-
그누(GNU)보드 3.41 이전 버전
- phpBB 2.0.11 이전 버전
- KorWeblog
1.6.2-cvs 및 이전 버전
- 테크노트 CGI 프로그램
3. 해결책 : 아래의 사항을 참조하여 게시판을 최신 버전으로 업그레이드하시기 바랍니다.
(1) 제로보드
▶ 취약점 1 : 외부 PHP 소스 실행 취약점
- 변경파일 :
outlogin.php
outlogin.php의 59행에 다음과 같은 내용 추가
if(eregi("://",$_zb_path)) $_zb_path="./";
▶ 취약점 2 : 외부 PHP 소스 실행 취약점
- 변경파일 :
include/write.php
include/write.php의 15행에 다음과 같은 내용 추가
if(eregi("://",$dir)) $dir=".";
include/write.php 맨 아래 위쪽에
if(eregi("://",$dir)) $dir=".";
▶ 취약점 3 : 크로스사이트스크립팅(XSS) 취약점
- 변경파일 :
check_user_id.php
check_user_id.php의 3행을 다음과 같이 수정
$user_id = htmlspecialchars(trim($user_id));
(2) 그누보드
▶ 취약점 1 : 외부 PHP 소스 실행 취약점 (버전 3.40 이하)
- 변경파일 :
index.php
index.php 에 다음과 같은 내용
추가
if (!$doc || ereg("://", $doc)) {
$doc =
'./main.php';
}
▶ 취약점 2 : 폼메일을 이용한 스팸 메일 발송 (버전 3.38 이하)
-
변경파일 : bbs/formmail.php
bbs/formmailsend.php
formmail.php
내에 다음의 내용 추가
// 회원에게 메일을 보내는 경우 메일이 같은지를 검사
if
($mb[mb_email] != $email) {
echo "";
exit;
}
formmailsend.php 내에 다음의 내용 추가 (3.38
이하 버전)
// 이전 폼 전송이 같은 도메인에서 온것이 아니라면 차단
if
(!preg_match("/^(http|https)://{$_SERVER[HTTP_HOST]}/i",
strtolower($_SERVER[HTTP_REFERER]))) {
echo "";
exit;
}
(3) 테크노트
▶ 취약점 : 업로드 다운로드 취약점 이용 메인 페이지 삭제 (2004.10.14 이전
버전)
technote/library/Lib-5.cgi 소스를 편집기로
열고 소스 상단 부분의 빈줄 아무데다가 아래 코드 추가
exit
if($FORM{'filename'}=~/;|%|\|..|||//);
technote/print.cgi 소스를 편집기로 열고 소스 상단 29~30 번 정도의 라인(버전마다 라인
다름)에 있는
&parse;
위 코드의 바로 아래 라인에다가 아래 코드를
추가
exit
if($FORM{'img'}=~/;|%|\|..|||//);
4. 참조 사이트