파일 삭제 취약점 수정( adm1nkyj@UpRoot님이 알려주심 )
This commit is contained in:
@ -5,11 +5,12 @@ if (!$is_member) {
|
|||||||
alert_close("상품문의는 회원만 작성이 가능합니다.");
|
alert_close("상품문의는 회원만 작성이 가능합니다.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$iq_id = trim($_REQUEST['iq_id']);
|
$iq_id = (int) trim($_REQUEST['iq_id']);
|
||||||
$iq_subject = trim($_POST['iq_subject']);
|
$iq_subject = trim($_POST['iq_subject']);
|
||||||
$iq_question = trim($_POST['iq_question']);
|
$iq_question = trim($_POST['iq_question']);
|
||||||
$iq_answer = trim($_POST['iq_answer']);
|
$iq_answer = trim($_POST['iq_answer']);
|
||||||
$hash = trim($_REQUEST['hash']);
|
$hash = trim($_REQUEST['hash']);
|
||||||
|
$get_editor_img_mode = $config['cf_editor'] ? false : true;
|
||||||
|
|
||||||
if ($w == "" || $w == "u") {
|
if ($w == "" || $w == "u") {
|
||||||
$iq_name = addslashes(strip_tags($member['mb_name']));
|
$iq_name = addslashes(strip_tags($member['mb_name']));
|
||||||
@ -80,7 +81,7 @@ else if ($w == "d")
|
|||||||
$sql = " select iq_question, iq_answer from {$g5['g5_shop_item_qa_table']} where iq_id = '$iq_id' and md5(concat(iq_id,iq_time,iq_ip)) = '{$hash}' ";
|
$sql = " select iq_question, iq_answer from {$g5['g5_shop_item_qa_table']} where iq_id = '$iq_id' and md5(concat(iq_id,iq_time,iq_ip)) = '{$hash}' ";
|
||||||
$row = sql_fetch($sql);
|
$row = sql_fetch($sql);
|
||||||
|
|
||||||
$imgs = get_editor_image($row['iq_question']);
|
$imgs = get_editor_image($row['iq_question'], $get_editor_img_mode);
|
||||||
|
|
||||||
for($i=0;$i<count($imgs[1]);$i++) {
|
for($i=0;$i<count($imgs[1]);$i++) {
|
||||||
$p = parse_url($imgs[1][$i]);
|
$p = parse_url($imgs[1][$i]);
|
||||||
@ -89,13 +90,17 @@ else if ($w == "d")
|
|||||||
else
|
else
|
||||||
$data_path = $p['path'];
|
$data_path = $p['path'];
|
||||||
|
|
||||||
|
if( end(explode('.', $data_path)) === 'php' ){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$destfile = G5_PATH.$data_path;
|
$destfile = G5_PATH.$data_path;
|
||||||
|
|
||||||
if(is_file($destfile))
|
if(preg_match('/\/data\/editor\/[A-Za-z0-9_]{1,20}\//', $destfile) && is_file($destfile))
|
||||||
@unlink($destfile);
|
@unlink($destfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
$imgs = get_editor_image($row['iq_answer']);
|
$imgs = get_editor_image($row['iq_answer'], $get_editor_img_mode);
|
||||||
|
|
||||||
for($i=0;$i<count($imgs[1]);$i++) {
|
for($i=0;$i<count($imgs[1]);$i++) {
|
||||||
$p = parse_url($imgs[1][$i]);
|
$p = parse_url($imgs[1][$i]);
|
||||||
@ -104,9 +109,13 @@ else if ($w == "d")
|
|||||||
else
|
else
|
||||||
$data_path = $p['path'];
|
$data_path = $p['path'];
|
||||||
|
|
||||||
|
if( end(explode('.', $data_path)) === 'php' ){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$destfile = G5_PATH.$data_path;
|
$destfile = G5_PATH.$data_path;
|
||||||
|
|
||||||
if(is_file($destfile))
|
if(preg_match('/\/data\/editor\/[A-Za-z0-9_]{1,20}\//', $destfile) && is_file($destfile))
|
||||||
@unlink($destfile);
|
@unlink($destfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -11,6 +11,8 @@ $is_content = trim($_POST['is_content']);
|
|||||||
$is_name = trim($_POST['is_name']);
|
$is_name = trim($_POST['is_name']);
|
||||||
$is_password = trim($_POST['is_password']);
|
$is_password = trim($_POST['is_password']);
|
||||||
$is_score = (int)$_POST['is_score'] > 5 ? 0 : (int)$_POST['is_score'];
|
$is_score = (int)$_POST['is_score'] > 5 ? 0 : (int)$_POST['is_score'];
|
||||||
|
$get_editor_img_mode = $config['cf_editor'] ? false : true;
|
||||||
|
$is_id = (int) trim($_REQUEST['is_id']);
|
||||||
|
|
||||||
// 사용후기 작성 설정에 따른 체크
|
// 사용후기 작성 설정에 따른 체크
|
||||||
check_itemuse_write($it_id, $member['mb_id']);
|
check_itemuse_write($it_id, $member['mb_id']);
|
||||||
@ -64,6 +66,7 @@ if ($w == "")
|
|||||||
else if ($w == "u")
|
else if ($w == "u")
|
||||||
{
|
{
|
||||||
$sql = " select is_password from {$g5['g5_shop_item_use_table']} where is_id = '$is_id' ";
|
$sql = " select is_password from {$g5['g5_shop_item_use_table']} where is_id = '$is_id' ";
|
||||||
|
|
||||||
$row = sql_fetch($sql);
|
$row = sql_fetch($sql);
|
||||||
if ($row['is_password'] != $is_password)
|
if ($row['is_password'] != $is_password)
|
||||||
alert("비밀번호가 틀리므로 수정하실 수 없습니다.");
|
alert("비밀번호가 틀리므로 수정하실 수 없습니다.");
|
||||||
@ -91,7 +94,7 @@ else if ($w == "d")
|
|||||||
$sql = " select is_content from {$g5['g5_shop_item_use_table']} where is_id = '$is_id' and md5(concat(is_id,is_time,is_ip)) = '{$hash}' ";
|
$sql = " select is_content from {$g5['g5_shop_item_use_table']} where is_id = '$is_id' and md5(concat(is_id,is_time,is_ip)) = '{$hash}' ";
|
||||||
$row = sql_fetch($sql);
|
$row = sql_fetch($sql);
|
||||||
|
|
||||||
$imgs = get_editor_image($row['is_content']);
|
$imgs = get_editor_image($row['is_content'], $get_editor_img_mode);
|
||||||
|
|
||||||
for($i=0;$i<count($imgs[1]);$i++) {
|
for($i=0;$i<count($imgs[1]);$i++) {
|
||||||
$p = parse_url($imgs[1][$i]);
|
$p = parse_url($imgs[1][$i]);
|
||||||
@ -100,9 +103,13 @@ else if ($w == "d")
|
|||||||
else
|
else
|
||||||
$data_path = $p['path'];
|
$data_path = $p['path'];
|
||||||
|
|
||||||
|
if( end(explode('.', $data_path)) === 'php' ){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$destfile = G5_PATH.$data_path;
|
$destfile = G5_PATH.$data_path;
|
||||||
|
|
||||||
if(is_file($destfile))
|
if(preg_match('/\/data\/editor\/[A-Za-z0-9_]{1,20}\//', $destfile) && is_file($destfile))
|
||||||
@unlink($destfile);
|
@unlink($destfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user