[긴급보안패치] 그누보드 4.33.00 > 그누4 다운로드

처음으로

그누4 다운로드

여러분께서 보고 계시는 이 사이트는 그누보드4 최신버전으로 제작, 운영되고 있습니다.
SIR은 그누보드를 만들 뿐 프로그램의 설치, 운영방법, 설정문제에 관한 도움을 드리지는 않습니다.

[긴급보안패치] 그누보드 4.33.00 정보

[긴급보안패치] 그누보드 4.33.00

첨부파일

첨부파일 gnuboard4.tgz (1.8M) 926회 다운로드 2011-01-06 14:13:34
첨부파일 gnuboard4.utf8.tgz (1.9M) 440회 다운로드 2011-01-06 14:13:34

본문

4.33.00 (11.01.06)
    :  [보안패치] XSS / CSRF
        FLASH 파일의 ACTION SCRIPT로 관리자의 세션값을 알아내고 공유하여 결국에는 관리자권한을 모두 갖게 되는
        치명적인 오류가 발견 되었습니다. (간단하게 말해서 플래시를 보는것만으로 세션값이 노출됩니다.)
        이것은 해커가 관리권한을 공유하는 것으로 관리자의 패스워드가 노출된것은 아닙니다.
        패치의 주된 내용은 게시판의 다른 회원이 올린 embed 태그는 관리자에게 보여지지 않게 하는 것입니다.
        또한, 세션키가 공개되더라도 관리자 페이지에서 직접 로그인한 관리자인지를 이중으로 체크합니다.
        기본환경설정, 관리권한설정, 회원관리, 포인트관리에는 관리자 패스워드를 다시 물어서 관리권한을 완전히 넘겨주지 않도록 하였습니다.
        이것과 관련된 자세한 내용은 보안뉴스의 내용을 참고하십시오.
        http://www.boannews.com/media/view.asp?idx=24280&kind=1
        (i2Sec 교육팀 강성호님께서 알려주신 내용입니다.)

        아래 패치를 모두 적용하기 힘든 사이트는 중요라고 되어 있는 파일만 수정해 주시기 바랍니다.

        === 중요 ===
        lib/common.lib.php
            의 bad_tag_convert(), view_file_link() 함수 코드 수정
        skin/board/basic/view_comment.skin.php
            의 $str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp)\:\/\/([^[:space:]]+)\.(swf)\".*\<\/a\>\]/i", "<script>doc_write(flash_movie('$1://$2.$3'));</script>", $str);
            위 코드 제거 또는 주석처리
        bbs/login_check.php
            에 ss_mb_key 세션키 추가
        adm/admin.lib.php
            에서 ss_mb_key 비교
        === /중요 ===

        adm/config_form.php
        adm/config_form_update.php
        adm/auth_list.php
        adm/auth_update.php
        adm/member_form.php
        adm/member_form_update.php
        adm/point_list.php
        adm/point_update.php

댓글 전체

좀 번거럽더라도 모든 form들에 특정토큰을 사용해 체크하는건 어떨까요? 예를들어서 유저가 form을 볼때마다 임의의 랜덤한 토큰을 생성하고 유저가 form을 submit 할때 해당 토큰값을 체크하는 식으로... 예를 들어

<?
session_start();
$token = md5(microtime() . mt_rand(0, 1000) . mt_rand(0, 1000) . mt_rand(0, 1000));
$_SESSION['token'] = $token;
?>
<form action="form.php" method="post">
<input type="hidden" name="token" value="<? echo $token; ?>" />
</form>

하고 update.php 에서

<?
if ($_POST['token'] != $_SESSION['token']) {
die('잘못된 토큰값');
}
?>

뭐 대충 이런식으로 말이죠. 임시적인 토큰값은 DB에다 생성하면 더 좋고요.
하악....
술도 안깼는데 관련글을 보니 머리가 지끈하군요.
패치 생각하니 두배로 아프네요.
이러허언!!.. 영카트로 작업한 곳들도 패치를 해야 하는군요!!.. 우힝... ㅡ,.ㅜ 훌쩍.. 콧물찍 눈물찍..
곧 서버도 구매할건데 보안 공부가 많이 허접해서 걱정이 큽니다.
어쨌건 긴급 패치 감사합니다. 다음 패치도 기대해야겠군요.
그누보드 항상 감사♥하며 사랑♡합니다.
회원가입하니깐 그런페이지 없다고.....그러고선 홈으로가니 로그인되어 있넹. 헐~~
그리고, 업데이트 때문인지는 몰라도 관리자 권한에 문제가 있어요.
게시판 관리에서 수정이 안된다는....ㅠㅠ
나만 그런감?
이 버그는 로그인한 ip만 비교하면 해결되는거 아닌가요?

세션키가 노출되어 인증세션을 빼앗기더라도 ip가 같을 확률은 매우 낮습니다.

로그인시에 ip를 담아뒀다가 비교하면 될텐데요.

인증된 세션에 처음 로그인한 ip를 담고있다가 common.php에서 매번 접속ip와 비교해서 다르면 인증세션키를 삭제하면 해결될 것 같은데..

저는 이미 오래전부터 아래처럼 그누보드를 수정해서 사용하고있는데 문제점을 발견하지 못했습니다. 다른 문제가 있을까요?

if(!isset($_SESSION['login_ip']) || $_SESSION['loign_ip'] != $_SERVER['REMOTE_ADDR']) {
    session_unset();
    session_destroy();
  $is_member = false;
  $is_admin = false;
  $is_guest = true;
}
전체 221 |RSS
그누4 다운로드 내용 검색

회원로그인

(주)에스아이알소프트 (06253) 서울 강남구 강남대로 310, 1312호 (역삼동, 유니온센터)
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보관리책임자:장성호

© SIR Soft Inc.