[보안패치] 그누보드 4.22.03 > 그누4 다운로드

그누4 다운로드

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

[보안패치] 그누보드 4.22.03 정보

[보안패치] 그누보드 4.22.03

첨부파일

gnuboard4.zip (1.5M) 7212회 다운로드 2008-06-11 10:38:53
gnuboard4.utf8.zip (1.5M) 1753회 다운로드 2008-06-11 10:38:53

본문

4.22.03 (08.03.31)
    :  아이디/패스워드 찾기 페이지 로봇에 의한 접근 차단 (GD Lib 사용자만 사용 가능)

        skin/member/basic/password_forget2.skin.php
        bbs/password_forget2.php
        bbs/password_forget3.php


반드시 패치 하시기 바랍니다.

댓글 전체

고수님들 이걸 어떻게 패치해야 하는지 구체적으로 말좀해주세요.
        skin/member/basic/password_forget2.skin.php
        bbs/password_forget2.php
        bbs/password_forget3.php
이 경로에 있는 password_forget2.skin.php ,password_forget2.php  , password_forget3.php
이 세개 파일을 패치 해야된다는건데..
이걸 어떻게 패치해야 하는지용
결과 중 아래와 같은 gd 결과가 나오던데 그럼, 저 계정은 gd lib 가능한거 아닌가요?

---------------------------------------------------------------------------------------------

gd
GD Support |  enabled 
GD Version |  2.0 or higher 

FreeType Support | enabled 
FreeType Linkage  | with freetype 

GIF Read Support  |  enabled 
GIF Create Support  |  enabled 

JPG Support  | enabled 
PNG Support  | enabled 
WBMP Support  | enabled 


gettext
GetText Support | enabled
[질문] 그런데 skin/member/basic/password_forget2.skin.php  파일은 바로 전 버전 대비 어디가 수정된것 인가요? 기존 버전 파일과 똑같은것 같은데요? 제가 못찾은 건가요? ^^;;
4.22.00 → 4.22.02 → 4.22.03 업데이트 변경된거만 정리해봤습니다.
파일: http://happyjung.com/gnuboard/bbs/board.php?bo_table=data&wr_id=93


js/common.js

### 변경전
    // 폼메일 창
    function win_formmail(mb_id, name, email)
    {
        win_open(g4_path+"/" + g4_bbs + "/formmail.php?mb_id="+mb_id+"&name="+name+"&email="+email, "winFormmail", "left=50, top=50, width=600, height=480, scrollbars=0");
    }

### 변경후
    // 폼메일 창
    function win_formmail(mb_id, name, email)
    {
if (g4_charset.toLowerCase() == 'euc-kr')
        win_open(g4_path+"/" + g4_bbs + "/formmail.php?mb_id="+mb_id+"&name="+name+"&email="+email, "winFormmail", "left=50, top=50, width=600, height=480, scrollbars=0");
else
        win_open(g4_path+"/" + g4_bbs + "/formmail.php?mb_id="+mb_id+"&name="+encodeURIComponent(name)+"&email="+email, "winFormmail", "left=50, top=50, width=600, height=480, scrollbars=0");
    }



skin/board/basic/write.skin.php

### 변경전
    echo "<img src='$g4[bbs_path]/norobot_image.php' border='0'>";

### 변경후
    echo "<img src='$g4[bbs_path]/norobot_image.php?{$g4['server_time']}' border='0'>";



skin/member/basic/register_form.skin.php

### 변경전
    echo "<img src='$g4[bbs_path]/norobot_image.php' border='0'>";

### 변경후
    echo "<img src='$g4[bbs_path]/norobot_image.php?{$g4['server_time']}' border='0'>";



skin/member/basic/password_forget2.skin.php

### 변경전
                <tr>
                    <td height="30"></td>
                    <td colspan="2" valign="top">
                        <input type=text name='mb_password_a' size=55 required itemname='패스워드 분실시 답변' value=''>
                    </td>
                </tr>
### 변경후
                <tr>
                    <td height="30"></td>
                    <td colspan="2" valign="top">
                        <input type=text name='mb_password_a' size=55 required itemname='패스워드 분실시 답변' value=''>
                    </td>
                </tr>
                <tr>
                    <td height="40" align="center"><img src="<?=$member_skin_path?>/img/icon_02.gif" width="6" height="6"></td>
                    <td colspan="2">
                        <?="<img src='$g4[bbs_path]/norobot_image.php?".time()."' border='0' align='absmiddle'>";?>
                        <input type=text name='wr_key' size=10 required itemname='자동등록방지 코드'> 자동등록방지 코드를 입력하세요.
                    </td>
                </tr>



skin/member/basic/password_forget2.skin.php

### 변경전
<script language='JavaScript'>
function fpasswordforget2_submit(f)
{
    f.action = "./password_forget3.php";
    f.submit();
}

document.fpasswordforget2.mb_password_a.focus();
</script>

### 변경후
<script language="javascript" src="<?=$g4['path']?>/js/md5.js"></script>
<script language='javascript'> var md5_norobot_key = '<?=md5($norobot_key)?>'; </script>
<script language='JavaScript'>
function fpasswordforget2_submit(f)
{
    if (hex_md5(f.wr_key.value) != md5_norobot_key) {
        alert('자동등록방지용 코드가 순서대로 입력되지 않았습니다.');
        f.wr_key.focus();
        return;
    }

    f.action = "./password_forget3.php";
    f.submit();
}

document.fpasswordforget2.mb_password_a.focus();
</script>



bbs/password_forget2.php

### 변경전
include_once("./_common.php");

### 변경후
include_once("./_common.php");

// 토큰 생성
$token = md5(uniqid(rand(), true));
set_session("ss_token", $token);
$norobot_key = substr($token, 0, rand(4,6));
set_session("ss_norobot_key", $norobot_key);



bbs/password_forget3.php

### 변경전
include_once("./_common.php");

### 변경후
include_once("./_common.php");

$wr_key = trim($_POST[wr_key]);
if (!($wr_key && $wr_key == get_session('ss_norobot_key'))) {
    alert("정상적인 접근이 아닌것 같습니다.");
}
안녕하세요
그누보드를 사용하고 있는 유저입니다.
다름이 아니라 파일업로드 취약성이 있는거 같아서
쪽지를 보낼려니 안보네지네요 -ㅁ-
원래 그냥 저도 쓰고 있었는대 보안관련 취약성에 대해서 지침에 내려와서
확인하다보니 발견하게 되었네요 ^^
bbs/write_update.php
159번째 줄 바로 밑에 아래와 같이 추가했습니다.
별건 아니구 php,php3,inc,htm,html 파일 확장자 업로드를 못하게 체크하는거구요
맞게 썼는지는 모르겠네요 ^^
좋은 하루 보내세요

// 파일업로드 취약점 보안 확장자 체크
$exp=substr(strrchr($filename,"."),1);
$exp=strtolower($exp);
if($exp=="php" || $exp=="php3" || $exp=="inc" || $exp=="htm" || $exp=="html"){
$file_upload_msg = "\'{$filename}\' 파일이 정상적으로 업로드 되지 않았습니다.\\n";
continue;
}
다른분들 오해하실까봐 댓글 작성합니다.
말씀하신 부분은 이미 막혀있습니다.

// 아래의 문자열이 들어간 파일은 -x 를 붙여서 웹경로를 알더라도 실행을 하지 못하도록 함
$filename = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $filename);
전체 220 |RSS
그누4 다운로드 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT