그누보드 영카트 다중 취약점(17-1029, 17-1047) 수정
This commit is contained in:
@ -77,7 +77,7 @@ if (isset($wr_id) && $wr_id) {
|
||||
}
|
||||
|
||||
// 자신의 글이거나 관리자라면 통과
|
||||
if (($write['mb_id'] && $write['mb_id'] == $member['mb_id']) || $is_admin) {
|
||||
if (($write['mb_id'] && $write['mb_id'] === $member['mb_id']) || $is_admin) {
|
||||
;
|
||||
} else {
|
||||
// 비밀글이라면
|
||||
@ -93,7 +93,7 @@ if (isset($wr_id) && $wr_id) {
|
||||
and wr_reply = ''
|
||||
and wr_is_comment = 0 ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['mb_id'] == $member['mb_id'])
|
||||
if ($row['mb_id'] === $member['mb_id'])
|
||||
$is_owner = true;
|
||||
}
|
||||
|
||||
@ -120,7 +120,7 @@ if (isset($wr_id) && $wr_id) {
|
||||
sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
|
||||
|
||||
// 자신의 글이면 통과
|
||||
if ($write['mb_id'] && $write['mb_id'] == $member['mb_id']) {
|
||||
if ($write['mb_id'] && $write['mb_id'] === $member['mb_id']) {
|
||||
;
|
||||
} else if ($is_guest && $board['bo_read_level'] == 1 && $write['wr_ip'] == $_SERVER['REMOTE_ADDR']) {
|
||||
// 비회원이면서 읽기레벨이 1이고 등록된 아이피가 같다면 자신의 글이므로 통과
|
||||
@ -219,7 +219,7 @@ if ($board['bo_use_nogood'])
|
||||
|
||||
$admin_href = "";
|
||||
// 최고관리자 또는 그룹관리자라면
|
||||
if ($member['mb_id'] && ($is_admin == 'super' || $group['gr_admin'] == $member['mb_id']))
|
||||
if ($member['mb_id'] && ($is_admin === 'super' || $group['gr_admin'] === $member['mb_id']))
|
||||
$admin_href = G5_ADMIN_URL.'/board_form.php?w=u&bo_table='.$bo_table;
|
||||
|
||||
include_once(G5_BBS_PATH.'/board_head.php');
|
||||
|
||||
@ -26,7 +26,7 @@ else if ($is_admin == 'group') { // 그룹관리자
|
||||
else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
|
||||
alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.');
|
||||
} else if ($member['mb_id']) {
|
||||
if ($member['mb_id'] != $write['mb_id'])
|
||||
if ($member['mb_id'] !== $write['mb_id'])
|
||||
alert('자신의 글이 아니므로 삭제할 수 없습니다.');
|
||||
} else {
|
||||
if ($write['mb_id'])
|
||||
|
||||
@ -20,16 +20,16 @@ if ($is_admin == 'super') // 최고관리자 통과
|
||||
;
|
||||
else if ($is_admin == 'group') { // 그룹관리자
|
||||
$mb = get_member($write['mb_id']);
|
||||
if ($member['mb_id'] == $group['gr_admin']) { // 자신이 관리하는 그룹인가?
|
||||
if ($member['mb_id'] === $group['gr_admin']) { // 자신이 관리하는 그룹인가?
|
||||
if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
|
||||
;
|
||||
else
|
||||
alert('그룹관리자의 권한보다 높은 회원의 코멘트이므로 삭제할 수 없습니다.');
|
||||
} else
|
||||
alert('자신이 관리하는 그룹의 게시판이 아니므로 코멘트를 삭제할 수 없습니다.');
|
||||
} else if ($is_admin == 'board') { // 게시판관리자이면
|
||||
} else if ($is_admin === 'board') { // 게시판관리자이면
|
||||
$mb = get_member($write['mb_id']);
|
||||
if ($member['mb_id'] == $board['bo_admin']) { // 자신이 관리하는 게시판인가?
|
||||
if ($member['mb_id'] === $board['bo_admin']) { // 자신이 관리하는 게시판인가?
|
||||
if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
|
||||
;
|
||||
else
|
||||
@ -37,7 +37,7 @@ else if ($is_admin == 'group') { // 그룹관리자
|
||||
} else
|
||||
alert('자신이 관리하는 게시판이 아니므로 코멘트를 삭제할 수 없습니다.');
|
||||
} else if ($member['mb_id']) {
|
||||
if ($member['mb_id'] != $write['mb_id'])
|
||||
if ($member['mb_id'] !== $write['mb_id'])
|
||||
alert('자신의 글이 아니므로 삭제할 수 없습니다.');
|
||||
} else {
|
||||
if (!check_password($wr_password, $write['wr_password']))
|
||||
|
||||
@ -70,7 +70,7 @@ if ($member['mb_level'] >= $board['bo_reply_level'])
|
||||
// 수정, 삭제 링크
|
||||
$update_href = $delete_href = '';
|
||||
// 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능
|
||||
if (($member['mb_id'] && ($member['mb_id'] == $write['mb_id'])) || $is_admin) {
|
||||
if (($member['mb_id'] && ($member['mb_id'] === $write['mb_id'])) || $is_admin) {
|
||||
$update_href = './write.php?w=u&bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr;
|
||||
set_session('ss_delete_token', $token = uniqid(time()));
|
||||
$delete_href ='./delete.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&token='.$token.'&page='.$page.urldecode($qstr);
|
||||
|
||||
@ -39,8 +39,8 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
$list[$i]['content'] = $list[$i]['content1']= '비밀글 입니다.';
|
||||
if (!strstr($row['wr_option'], 'secret') ||
|
||||
$is_admin ||
|
||||
($write['mb_id']==$member['mb_id'] && $member['mb_id']) ||
|
||||
($row['mb_id']==$member['mb_id'] && $member['mb_id'])) {
|
||||
($write['mb_id']===$member['mb_id'] && $member['mb_id']) ||
|
||||
($row['mb_id']===$member['mb_id'] && $member['mb_id'])) {
|
||||
$list[$i]['content1'] = $row['wr_content'];
|
||||
$list[$i]['content'] = conv_content($row['wr_content'], 0, 'wr_content');
|
||||
$list[$i]['content'] = search_font($stx, $list[$i]['content']);
|
||||
@ -71,7 +71,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
|
||||
if ($member['mb_id'])
|
||||
{
|
||||
if ($row['mb_id'] == $member['mb_id'] || $is_admin)
|
||||
if ($row['mb_id'] === $member['mb_id'] || $is_admin)
|
||||
{
|
||||
set_session('ss_delete_comment_'.$row['wr_id'].'_token', $token = uniqid(time()));
|
||||
$list[$i]['del_link'] = './delete_comment.php?bo_table='.$bo_table.'&comment_id='.$row['wr_id'].'&token='.$token.'&page='.$page.$qstr;
|
||||
|
||||
@ -56,7 +56,7 @@ if ($w == '') {
|
||||
} else if ($w == 'u') {
|
||||
// 김선용 1.00 : 글쓰기 권한과 수정은 별도로 처리되어야 함
|
||||
//if ($member['mb_level'] < $board['bo_write_level']) {
|
||||
if($member['mb_id'] && $write['mb_id'] == $member['mb_id']) {
|
||||
if($member['mb_id'] && $write['mb_id'] === $member['mb_id']) {
|
||||
;
|
||||
} else if ($member['mb_level'] < $board['bo_write_level']) {
|
||||
if ($member['mb_id']) {
|
||||
@ -116,7 +116,7 @@ if ($w == '') {
|
||||
if (strstr($write['wr_option'], 'secret')) {
|
||||
if ($write['mb_id']) {
|
||||
// 회원의 경우는 해당 글쓴 회원 및 관리자
|
||||
if (!($write['mb_id'] == $member['mb_id'] || $is_admin))
|
||||
if (!($write['mb_id'] === $member['mb_id'] || $is_admin))
|
||||
alert('비밀글에는 자신 또는 관리자만 답변이 가능합니다.');
|
||||
} else {
|
||||
// 비회원의 경우는 비밀글에 답변이 불가함
|
||||
@ -168,7 +168,7 @@ if (!empty($group['gr_use_access'])) {
|
||||
alert("접근 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", 'login.php?'.$qstr.'&url='.urlencode($_SERVER['SCRIPT_NAME'].'?bo_table='.$bo_table));
|
||||
}
|
||||
|
||||
if ($is_admin == 'super' || $group['gr_admin'] == $member['mb_id'] || $board['bo_admin'] == $member['mb_id']) {
|
||||
if ($is_admin == 'super' || $group['gr_admin'] === $member['mb_id'] || $board['bo_admin'] === $member['mb_id']) {
|
||||
; // 통과
|
||||
} else {
|
||||
// 그룹접근
|
||||
@ -251,7 +251,7 @@ $is_name = false;
|
||||
$is_password = false;
|
||||
$is_email = false;
|
||||
$is_homepage = false;
|
||||
if ($is_guest || ($is_admin && $w == 'u' && $member['mb_id'] != $write['mb_id'])) {
|
||||
if ($is_guest || ($is_admin && $w == 'u' && $member['mb_id'] !== $write['mb_id'])) {
|
||||
$is_name = true;
|
||||
$is_password = true;
|
||||
$is_email = true;
|
||||
@ -308,7 +308,7 @@ if ($w == '') {
|
||||
$password_required = '';
|
||||
|
||||
if (!$is_admin) {
|
||||
if (!($is_member && $member['mb_id'] == $write['mb_id'])) {
|
||||
if (!($is_member && $member['mb_id'] === $write['mb_id'])) {
|
||||
if (!check_password($wr_password, $write['wr_password'])) {
|
||||
alert('비밀번호가 틀립니다.');
|
||||
}
|
||||
|
||||
@ -269,7 +269,7 @@ else if ($w == 'cu') // 댓글 수정
|
||||
;
|
||||
else if ($is_admin == 'group') { // 그룹관리자
|
||||
$mb = get_member($comment['mb_id']);
|
||||
if ($member['mb_id'] == $group['gr_admin']) { // 자신이 관리하는 그룹인가?
|
||||
if ($member['mb_id'] === $group['gr_admin']) { // 자신이 관리하는 그룹인가?
|
||||
if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
|
||||
;
|
||||
else
|
||||
@ -278,7 +278,7 @@ else if ($w == 'cu') // 댓글 수정
|
||||
alert('자신이 관리하는 그룹의 게시판이 아니므로 댓글을 수정할 수 없습니다.');
|
||||
} else if ($is_admin == 'board') { // 게시판관리자이면
|
||||
$mb = get_member($comment['mb_id']);
|
||||
if ($member['mb_id'] == $board['bo_admin']) { // 자신이 관리하는 게시판인가?
|
||||
if ($member['mb_id'] === $board['bo_admin']) { // 자신이 관리하는 게시판인가?
|
||||
if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
|
||||
;
|
||||
else
|
||||
@ -286,7 +286,7 @@ else if ($w == 'cu') // 댓글 수정
|
||||
} else
|
||||
alert('자신이 관리하는 게시판이 아니므로 댓글을 수정할 수 없습니다.');
|
||||
} else if ($member['mb_id']) {
|
||||
if ($member['mb_id'] != $comment['mb_id'])
|
||||
if ($member['mb_id'] !== $comment['mb_id'])
|
||||
alert('자신의 글이 아니므로 수정할 수 없습니다.');
|
||||
} else {
|
||||
if($comment['wr_password'] != $wr_password)
|
||||
|
||||
@ -140,7 +140,7 @@ if ($w == '' || $w == 'u') {
|
||||
}
|
||||
|
||||
// 김선용 1.00 : 글쓰기 권한과 수정은 별도로 처리되어야 함
|
||||
if($w =='u' && $member['mb_id'] && $wr['mb_id'] == $member['mb_id']) {
|
||||
if($w =='u' && $member['mb_id'] && $wr['mb_id'] === $member['mb_id']) {
|
||||
;
|
||||
} else if ($member['mb_level'] < $board['bo_write_level']) {
|
||||
alert('글을 쓸 권한이 없습니다.');
|
||||
@ -331,7 +331,7 @@ if ($w == '' || $w == 'r') {
|
||||
|
||||
if ($member['mb_id']) {
|
||||
// 자신의 글이라면
|
||||
if ($member['mb_id'] == $wr['mb_id']) {
|
||||
if ($member['mb_id'] === $wr['mb_id']) {
|
||||
$mb_id = $member['mb_id'];
|
||||
$wr_name = addslashes(clean_xss_tags($board['bo_use_name'] ? $member['mb_name'] : $member['mb_nick']));
|
||||
$wr_email = addslashes($member['mb_email']);
|
||||
|
||||
Reference in New Issue
Block a user