공지사항

공지사항
NAYANA의 소식과 안내 사항을 확인하세요.
공지사항 테이블
공지

[안내] 제로보드4 보안 패치하세요.!!

2007-10-04 17:00:40
안녕하십니까? (주)인터넷나야나입니다.

다름이 아니라 금주 서버 점검때 게시판 취약점에 대해 중점적으로 모니터링을 하였습니다.
일부 고객님들의 게시판에서 아래와 같은 파일들이 검출이 되었습니다.
/UserID/html/게시판/폴더/폴더/.htaccess /UserID/html/게시판/폴더/폴더/index.php /UserID/html/게시판/폴더/폴더/send.php이 파일들을 테스트해보니 제로보드 게시판을 통해서 스펨메일을 발송하는 기능이 확인이
되어 긴급하게 패치를 했습니다.

저희가 일괄 적용을 하려했으나 일부 고객님들께서는 제로보드를 수정하여 이용하고
계시기 때문에 아래와 같이 패치 안내를 드립니다.

『제로보드 4.1 pl8 - 2007. 5. 23일 보안 버그까지 적용』

   http://www.zeroboard.com/zb4_download/803874 [새창 이동]


『제로보드를 수정하여 사용하시는 분들을 아래 방법과 같이 패치하시기 바랍니다.』

  - htaccess파일 업로드 금지 패치(원문)
   -http://www.zeroboard.com/zb4_download/803852 [새창 이동]


제로보드에서 .htaccess 파일 업로드를 통한 보안버그에 대해 패치를 하였습니다. KISA에서 예전에 알려주신 것이였는데 제가 이미 패치를 한 줄 알고 있다가 다시 연락을 받고 부랴 부랴 패치하게 되었습니다. 버그 관리 소홀에 대해서 진심으로 죄송하다는 말씀드리겠습니다. write_ok.php 파일에서 첨부파일 1, 2에 대해 파일이름의 제일 앞에 . (점, dot)이 있는지에 대해서만 체크하였기에 별도의 패치레벨을 올리지 않았습니다. === write_ok.php === 211번째줄 if(substr($s_file_name1,0,1)=='.'||eregi(".inc",$s_file_name1)|| eregi(".phtm",$s_file_name1)||eregi(".htm",$s_file_name1)|| eregi(".shtm",$s_file_name1)||eregi(".ztx",$s_file_name1)|| eregi(".php",$s_file_name1)||eregi(".dot",$s_file_name1)|| eregi(".asp",$s_file_name1)||eregi(".cgi",$s_file_name1)|| eregi(".pl",$s_file_name1)) Error("Html, PHP 관련파일은 업로드할수 없습니다"); 252번째줄 if(substr($s_file_name2,0,1)=='.'||eregi(".inc",$s_file_name2)|| eregi(".pht",$s_file_name2)||eregi(".htm",$s_file_name2)|| eregi(".shtml",$s_file_name2)||eregi(".ztx",$s_file_name2)|| eregi(".php",$s_file_name2)||eregi(".dot",$s_file_name1)|| eregi(".asp",$s_file_name2)||eregi(".cgi",$s_file_name2)|| eregi(".pl",$s_file_name2)) 와 같이 211, 252번째라인의 제일 앞에 파일이름을 검사하여 . 으로 시작하는 일반적이지 않은 모든 파일에 대해서 업로드 금지를 하도록 하였습니다. 기존에 사용하시던 분은 첨부된 write_ok.zip 파일을 다운로드 받아서 덮어쓰시거나 위 211, 252번째 줄을 수정하시면 됩니다.   - 관리자 메일 발송에서 SQL Injection 발생 보안 버그 수정(원문)
   -http://www.zeroboard.com/zb4_download/803893 [새창 이동]


관리자 메일 발송 코드에서 $s_que 변수를 이용한 SQL Injection을 일으킬 수 있는 코드가 발견되어 패치합니다. 첨부된 admin_sendmail_ok.zip 파일의 압축을 풀면 나오는 admin_sendmail_ok.php파일 을 사용하시는 제로보드4의 디렉토리에 덮어쓰시면 됩니다. 수정된 부분은 다음과 같습니다. = admin_sendmail_ok.php ====================================================== @@ -28,16 +28,18 @@ if(!$true) $true = 0; if(!$nomailing) $nomailing = 0; if(!$sendnum) $sendnum = 100; + $group_no = (int)$group_no; + $s_que = ''; if(!$total_member_num) { $temp=mysql_fetch_array(mysql_query("select count(*) from $member_table where group_no='$group_no'",$connect)); $total_member_num=$temp[0]; } if($cart) { - $temp=explode("||",$cart); - $s_que=" and ( no='$temp[1]' "; - for($i=2;$i<count($temp);$i++) $s_que.=" or no='$temp[$i]' "; - $s_que.=" )"; + $temp = explode("||",$cart); + for($i=0;$i<count($temp);$i++) $target_srls[] = (int)$temp[$i]; + $s_que = sprintf(' and ( no in (%s) )', "'".implode("','", $target_srls)."'"); } else { ============================================================================== 위에서 - 가 붙은 줄은 삭제된 것을 의미하며 +가 붙은 줄은 추가된 것을 의미합니다. 구 버전의 게시판을 이용하시는 고객님께서는 보안 패치를 하시어 서비스 이용에 불편이 없으시길 바랍니다.

앞으로도 고객 여러분께 보다 나은 서비스 제공을 위해 최선을 다할 것을 약속드립니다.
감사합니다.