본문 바로가기
정보보호 (Security)

국내 공개 웹 게시판(그누보드) 보안 업데이트 권고

by 날으는물고기 2011. 8. 11.

국내 공개 웹 게시판(그누보드) 보안 업데이트 권고

□ 개요
  o 국내 PHP기반의 공개 웹 게시판인 그누보드에서 SQL Injection 취약점이 발견됨[1]
  o 취약한 버전을 사용하고 있을 경우, DB정보 유출 등의 피해를 입을 수 있으므로 웹 관리자의
     적극적인 조치 필요

□ 해당시스템
  o 영향받는 소프트웨어[1]
     - 그누보드 4.34.09 및 이전 버전

□ 해결방안
  o 그누보드 4.34.09 및 이전버전 사용자는 4.34.10버전으로 업데이트[1]
    ※ 패치 작업 이전에 원본 파일은 백업 필요
  o 그누보드를 새로 설치하는 이용자
     - 반드시 보안패치가 적용된 최신버전(4.34.10)을 설치

□ 용어 정리
  o PHP : 동적인 웹사이트를 위한 서버 측 스크립트 언어
  o SQL Injection : 웹 응용 프로그램에 강제로 SQL구문을 삽입하여 내부 데이터베이스서버의
     데이터를 유출 및 변조하고 관리자 인증을 우회할 수 있는 공격
  o 그누보드 : PHP언어로 작성된 홈페이지용 게시판 소프트웨어 또는 프레임 워크

□ 기타 문의사항
  o 한국인터넷진흥원 인터넷침해대응센터: 국번없이 118

[참고사이트]
[1] http://sir.co.kr/bbs/board.php?bo_table=g4_pds&wr_id=6476

4.34.10 (11.08.10) 
    :  [보안패치] $_SERVER 배열변수 값의 변조를 이용한 SQL Injection 공격을 막는 코드입니다. 
        (SK Infosec 장경칩님께서 알려 주셨습니다.) 

        bbs/visit_insert.inc.php 의 

            $sql = " insert $g4[visit_table] ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '$vi_id', '$_SERVER[REMOTE_ADDR]', '$g4[time_ymd]', '$g4[time_his]', '$_SERVER[HTTP_REFERER]', '$_SERVER[HTTP_USER_AGENT]' ) "; 

            를 아래 코드로 대체합니다. 

            $remote_addr = mysql_real_escape_string($_SERVER['REMOTE_ADDR']); 
            $referer    = mysql_real_escape_string($_SERVER['HTTP_REFERER']); 
            $user_agent  = mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']); 
            $sql = " insert $g4[visit_table] ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '$vi_id', '$remote_addr', '$g4[time_ymd]', '$g4[time_his]', '$referer', '$user_agent' ) ";

728x90

댓글