관리자님, 그누보드 보안 위험 문제에 대하여 어떻게 생각하시는지요? 정보
관리자님, 그누보드 보안 위험 문제에 대하여 어떻게 생각하시는지요?본문
@extract($_GET);
@extract($_POST);
@extract($_SERVER);
에 대한 보안 위험 문제입니다.
아래 블로그 참조해 보세요.
http://swbae.egloos.com/1860954
php 공식 사이트에서도 사용을 금하고 있는데요.
http://us2.php.net/manual/en/function.extract.php
이 문제에 대하여 어떻게 생각하시는지요?
PS: 아니 질문답변에 글올리는데 포인트를 걸다니... 포인트 없는 사람은 질문도 못하는 건가요?
@extract($_POST);
@extract($_SERVER);
에 대한 보안 위험 문제입니다.
아래 블로그 참조해 보세요.
http://swbae.egloos.com/1860954
php 공식 사이트에서도 사용을 금하고 있는데요.
http://us2.php.net/manual/en/function.extract.php
이 문제에 대하여 어떻게 생각하시는지요?
PS: 아니 질문답변에 글올리는데 포인트를 걸다니... 포인트 없는 사람은 질문도 못하는 건가요?
추천
0
0
댓글 5개

궁금하네여 extract를 사용했을때 어떤 방식으로 해킹을 사용하는지,,
extract 에 대한 보안패치가 초반기에 있었습니다.
개인적으로 get, post 는 사용의 편의상 어쩔 수 없다고 생각하고,
그 외(server 등) 수퍼 글로벌 변수는 풀어쓰지 않는게 좋지 않을까? 생각합니다.
또한 꼭 post,get,server,env 등.. 으로 구분해야 하는 중요키에 해당하는 값은 $_POST['변수'] 와 같이 잡아주면 됩니다.
(개인적으로 제가 작업시에는 이렇게 사용하고 있습니다.)
* 그누보드는 수퍼글로벌도 보안상 이유로 따로 처리하고 있으므로 현재상태에서 굳이 수정할 필요는 없다고 생각됩니다.
아래 코드고, 패치가 작년 10월이군요. ;;
ext_arr = array ('PHP_SELF', '_ENV', '_GET', '_POST', '_FILES', '_SERVER', '_COOKIE', '_SESSION', '_REQUEST',
'HTTP_ENV_VARS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS',
'HTTP_COOKIE_VARS', 'HTTP_SESSION_VARS', 'GLOBALS');
$ext_cnt = count($ext_arr);
for ($i=0; $i<$ext_cnt; $i++) {
// GET 으로 선언된 전역변수가 있다면 unset() 시킴
if (isset($_GET[$ext_arr[$i]])) unset($_GET[$ext_arr[$i]]);
}
개인적으로 get, post 는 사용의 편의상 어쩔 수 없다고 생각하고,
그 외(server 등) 수퍼 글로벌 변수는 풀어쓰지 않는게 좋지 않을까? 생각합니다.
또한 꼭 post,get,server,env 등.. 으로 구분해야 하는 중요키에 해당하는 값은 $_POST['변수'] 와 같이 잡아주면 됩니다.
(개인적으로 제가 작업시에는 이렇게 사용하고 있습니다.)
* 그누보드는 수퍼글로벌도 보안상 이유로 따로 처리하고 있으므로 현재상태에서 굳이 수정할 필요는 없다고 생각됩니다.
아래 코드고, 패치가 작년 10월이군요. ;;
ext_arr = array ('PHP_SELF', '_ENV', '_GET', '_POST', '_FILES', '_SERVER', '_COOKIE', '_SESSION', '_REQUEST',
'HTTP_ENV_VARS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS',
'HTTP_COOKIE_VARS', 'HTTP_SESSION_VARS', 'GLOBALS');
$ext_cnt = count($ext_arr);
for ($i=0; $i<$ext_cnt; $i++) {
// GET 으로 선언된 전역변수가 있다면 unset() 시킴
if (isset($_GET[$ext_arr[$i]])) unset($_GET[$ext_arr[$i]]);
}

http://www.milw0rm.com/exploits/7792
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=65848
질답게시판에 포인트제도가 없으면 게시판이 죽습니다.
포인트를 걸어야 답변을 해주는.. ㅡ_
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=65848
질답게시판에 포인트제도가 없으면 게시판이 죽습니다.
포인트를 걸어야 답변을 해주는.. ㅡ_
extract($_ENV);
extract($_GET);
extract($_POST);
extract($_COOKIE);
extract($_SERVER);
그누에는 $_ENV, $_COOKIE가 빠졌는데...
extract($_GET);
extract($_POST);
extract($_COOKIE);
extract($_SERVER);
그누에는 $_ENV, $_COOKIE가 빠졌는데...

흑흑 아직도 모르겟네요 extract가 어떻게 해킹을 할수 있는건지 ㅜㅠ