자동로그인 쿠키문제에 대하여 정보
그누보드 자동로그인 쿠키문제에 대하여본문
// 자동로그인 ---------------------------------------
// 회원아이디가 쿠키에 저장되어 있다면 (3.27)
if ($_COOKIE[zzzzzz_USER_ID]) //석대쿠키로 변경함
{
$tmp_mb_id = base64_decode($_COOKIE[zzzzzz_USER_ID]); //석대쿠키로 변경함
// 최고운영자는 자동로그인 금지
if ($tmp_mb_id != $default[de_admin])
{
$sql = " select mb_passwd, mb_intercept_date, mb_leave_date
from $cfg[table_member] where mb_id = '$tmp_mb_id' ";
$row = sql_fetch($sql);
$key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $row[mb_passwd]);
// 쿠키에 저장된 키와 같다면
// $tmp_auto = $_COOKIE[ck_auto];
// if ($tmp_auto = $key && $tmp_auto)
// {
// 차단 또는 탈퇴가 아니라면
if ($row[mb_intercept_date] == "" && $row[mb_leave_date] == "")
{
// 세션에 회원아이디를 저장하여 로그인으로 간주
session_register("ss_mb_id");
$ss_mb_id = $_SESSION["ss_mb_id"] = $tmp_mb_id;
// 페이지를 재실행
echo "<script> window.location.reload(); </script>";
exit;
}
// }
===================================================================================
상단의 파일은 index.php 파일의 자동로그인 부분입니다.
위 파일에서 만약에
// $key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $row[mb_passwd]);
// 쿠키에 저장된 키와 같다면
// $tmp_auto = $_COOKIE[ck_auto];
// if ($tmp_auto = $key && $tmp_auto)
이분을 주석처리해 버리고 자동로그인을 허용했다고 가정하면..발생할 수 있는 보안문제가
어떤 것이 있을까요?
혹시 쿠키 조작을 통하여 누구든지 웹사이트에 로그인이 가능하지 않을까요?
이 방법은 쿠키를 통하여 로그인을 통하는 어떤 A 게시판과 세션을 이용하는 B 그누에서
통일한 회원아이디로 로그인을 통합하려고 합니다.
즉, A게시판이 로그인 중일때 A의 쿠키를 받아서. B 그누보드에서 상단의 자동로그인 부분을
이용하여 자동로그인 처리하여 세선 방법을 로그인되게 한 편법입니다.
근데..위처럼 주석처리해서 보안에 문제가 발생할 것 같네요..
// 회원아이디가 쿠키에 저장되어 있다면 (3.27)
if ($_COOKIE[zzzzzz_USER_ID]) //석대쿠키로 변경함
{
$tmp_mb_id = base64_decode($_COOKIE[zzzzzz_USER_ID]); //석대쿠키로 변경함
// 최고운영자는 자동로그인 금지
if ($tmp_mb_id != $default[de_admin])
{
$sql = " select mb_passwd, mb_intercept_date, mb_leave_date
from $cfg[table_member] where mb_id = '$tmp_mb_id' ";
$row = sql_fetch($sql);
$key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $row[mb_passwd]);
// 쿠키에 저장된 키와 같다면
// $tmp_auto = $_COOKIE[ck_auto];
// if ($tmp_auto = $key && $tmp_auto)
// {
// 차단 또는 탈퇴가 아니라면
if ($row[mb_intercept_date] == "" && $row[mb_leave_date] == "")
{
// 세션에 회원아이디를 저장하여 로그인으로 간주
session_register("ss_mb_id");
$ss_mb_id = $_SESSION["ss_mb_id"] = $tmp_mb_id;
// 페이지를 재실행
echo "<script> window.location.reload(); </script>";
exit;
}
// }
===================================================================================
상단의 파일은 index.php 파일의 자동로그인 부분입니다.
위 파일에서 만약에
// $key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $row[mb_passwd]);
// 쿠키에 저장된 키와 같다면
// $tmp_auto = $_COOKIE[ck_auto];
// if ($tmp_auto = $key && $tmp_auto)
이분을 주석처리해 버리고 자동로그인을 허용했다고 가정하면..발생할 수 있는 보안문제가
어떤 것이 있을까요?
혹시 쿠키 조작을 통하여 누구든지 웹사이트에 로그인이 가능하지 않을까요?
이 방법은 쿠키를 통하여 로그인을 통하는 어떤 A 게시판과 세션을 이용하는 B 그누에서
통일한 회원아이디로 로그인을 통합하려고 합니다.
즉, A게시판이 로그인 중일때 A의 쿠키를 받아서. B 그누보드에서 상단의 자동로그인 부분을
이용하여 자동로그인 처리하여 세선 방법을 로그인되게 한 편법입니다.
근데..위처럼 주석처리해서 보안에 문제가 발생할 것 같네요..
댓글 전체