[보안패치] 그누보드 4.22.03 정보
[보안패치] 그누보드 4.22.03첨부파일
본문
4.22.03 (08.03.31)
: 아이디/패스워드 찾기 페이지 로봇에 의한 접근 차단 (GD Lib 사용자만 사용 가능)
skin/member/basic/password_forget2.skin.php
bbs/password_forget2.php
bbs/password_forget3.php
반드시 패치 하시기 바랍니다.
: 아이디/패스워드 찾기 페이지 로봇에 의한 접근 차단 (GD Lib 사용자만 사용 가능)
skin/member/basic/password_forget2.skin.php
bbs/password_forget2.php
bbs/password_forget3.php
반드시 패치 하시기 바랍니다.
댓글 전체
앗~ 1등이다... ㅋㅋ
이렇게 하면 대략 끼어들기 2등 ㅋㅋ
3등이 어려워졌네... ;;
본문중에 bbs/norobot_image.php 이거도 추가해야겠네요.
훗 -_-v
난 끼어들기 5등
이러면 몇등?
2등~~ 근데 파일이..
수고하십니다.
이젠 별별곳까지 로봇이 기승을 부리는군요..
이젠 별별곳까지 로봇이 기승을 부리는군요..
4등~ 아~ 또 패치할려면 고생이 ㅠ.ㅠ;;
빠른 패치 감사 합니다.
정말 수고많으십니다^^ (__)
수고하셨습니다..감사합니다..
감사합니다. ^^
수고 하셨습니다.
그런데 손본데가 많은데 ㅜ.ㅜ 어흙
그런데 손본데가 많은데 ㅜ.ㅜ 어흙
리자님~ 통합 패치 한번만..........-ㅅ-
^^
수고하셨습니다.
감사합니다.
수고하셨습니다.
감사합니다.
고수님들 이걸 어떻게 패치해야 하는지 구체적으로 말좀해주세요.
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
이 세개 파일을 패치 해야된다는건데..
이걸 어떻게 패치해야 하는지용
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
이 세개 파일을 패치 해야된다는건데..
이걸 어떻게 패치해야 하는지용
수정한 것이 없다면 그냥 엎어 씌우면 됩니다.
감사 합니다
고맙습니다.
로봇 꼼짝마!!
utf-8버전 압축해제시 에러나는데 확인 부탁드립니다.
고맙습니다.
감사합니다...^^
감사
늘 감사합니다.
감사합니다. 동일글
GD Lib 사용자가 아니라면 패치불가? 근데, GD Lib 사용자 인지 아닌지는 어떻게 알 수 있나요??
php파일하나만드시고 안에 내용은 아래걸넣어주시고 web상으로 만드신php파일을봐보세요.
<?
phpinfo();
?>
<?
phpinfo();
?>
결과 중 아래와 같은 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
---------------------------------------------------------------------------------------------
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
네. 가능합니다.
좋은자료 감사합니다.
수고하셨씁니다.
잘쓰겠습니다.
감사감사~~~
감사합니다~
음...
아직도 로봇이 들락날락해요;ㅠㅠ 로봇은 뭔가요;
감사합니다.
감사합니다..수고하셨습니다.
감사합니다. 잘 쓰도록 하겠습니다.
감사합니다. 잘쓸게요~~
저만그런가요..파일 다운로드가 온전하게 안되네요..
감사합니다.
고생하셨습니다~
잘 사용할께요~
잘 사용할께요~
좋은 자료 잘 쓰겠습니다.. 감사드립니다..
수고하셨습니다.... 감사
수고하셨습니다. 감사합니다.
즐거운 하루 되세요!!
즐거운 하루 되세요!!
4.22.02 을 받은뒤에 이거 다시 덮어씌워야 하나보군요. -_- ;;
이것 그대로 사용해도 됩니다.
[질문] 그런데 skin/member/basic/password_forget2.skin.php 파일은 바로 전 버전 대비 어디가 수정된것 인가요? 기존 버전 파일과 똑같은것 같은데요? 제가 못찾은 건가요? ^^;;
항상 감사합니다.
수고하셨습니다~
감사합니다. 잘 쓸게요 ^^
감사합니다 :)
잘받아가요^
Thank you!
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("정상적인 접근이 아닌것 같습니다.");
}
파일: 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;
}
그누보드를 사용하고 있는 유저입니다.
다름이 아니라 파일업로드 취약성이 있는거 같아서
쪽지를 보낼려니 안보네지네요 -ㅁ-
원래 그냥 저도 쓰고 있었는대 보안관련 취약성에 대해서 지침에 내려와서
확인하다보니 발견하게 되었네요 ^^
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);
말씀하신 부분은 이미 막혀있습니다.
// 아래의 문자열이 들어간 파일은 -x 를 붙여서 웹경로를 알더라도 실행을 하지 못하도록 함
$filename = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $filename);
[보안패치] 그누보드 4.22.03 --->패치함
패치 완료~~~
감사합니다.