답변 2개
채택된 답변
+20 포인트
11년 전
if (isset($sst)) {
$sst = mysql_real_escape_string($sst);
$qstr .= '&sst=' . urlencode($sst); // search sort (검색 정렬 필드)
}
이부분을
if (isset($sst)) {
$sst = mysql_real_escape_string($sst);
$sst = preg_replace("/[\<\>\'\"\%\=\(\)\s]/", "", $sst); // 보안패치 2014-03-25
$qstr .= '&sst=' . urlencode($sst); // search sort (검색 정렬 필드)
}
이렇게 고치셔야 해요
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
둘째삼식
11년 전
�
둘째삼식
11년 전
맞을꺼야 님,,,하나만 더 묻겟습니다.
아래꺼는 어떻게 패치하면 되는지요...
이건 추가를 해야 하나요?
lib/common.lib.php 의 sql_query() 함수에서 union 사용 및 information_schema DB 로의 접근을 허락하지 않습니다.
// Blind SQL Injection 취약점 해결
$sql = trim($sql);
// union의 사용을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*union.*#i", "select 1", $sql);
// `information_schema` DB로의 접근을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*where.*`?information_schema`?.*#i", "select 1", $sql);
아래꺼는 어떻게 패치하면 되는지요...
이건 추가를 해야 하나요?
lib/common.lib.php 의 sql_query() 함수에서 union 사용 및 information_schema DB 로의 접근을 허락하지 않습니다.
// Blind SQL Injection 취약점 해결
$sql = trim($sql);
// union의 사용을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*union.*#i", "select 1", $sql);
// `information_schema` DB로의 접근을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*where.*`?information_schema`?.*#i", "select 1", $sql);
댓글을 작성하려면 로그인이 필요합니다.
11년 전
// mysql_query 와 mysql_error 를 한꺼번에 처리
function sql_query($sql, $error=TRUE)
{
if ($error)
$result = @mysql_query($sql) or die("
$sql
" . mysql_errno() . " : " . mysql_error() . "
error file : $_SERVER[PHP_SELF]");
else
$result = @mysql_query($sql);
return $result;
}
위부분을 아래와 같이 수정하세요
// mysql_query 와 mysql_error 를 한꺼번에 처리
function sql_query($sql, $error=TRUE)
{
// Blind SQL Injection 취약점 해결
$sql = trim($sql);
// union의 사용을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*union.*#i", "select 1", $sql);
// `information_schema` DB로의 접근을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*where.*`?information_schema`?.*#i", "select 1", $sql);
if ($error)
$result = @mysql_query($sql) or die("
$sql
" . mysql_errno() . " : " . mysql_error() . "
error file : $_SERVER[PHP_SELF]");
else
$result = @mysql_query($sql);
return $result;
}
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
둘째삼식
11년 전
맞을꺼야 님,,
정말로 감사합니다......
덕분에 패치 완료 하였습니다....^^
감사합니다!!
정말로 감사합니다......
덕분에 패치 완료 하였습니다....^^
감사합니다!!
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
제가 초보자라서 몰랐습니다. 그냥 추가를 하면 되는가 해서....
리자님에게는,
저같은 초보자도 많을텐데, 패치에 관해 어느 부분에 추가를 하라던가 수정을 하라던가 식으로
설명을 해주셨으면 고맙겠습니다.