쿠키 및 세션 관리 이해를위한 초보자 가이드

(Tushar Verma ) (2020 년 8 월 3 일)

쿠키 란 ???

쿠키는 일반적으로 컴퓨터에 저장된 ID 태그가있는 작은 텍스트 파일입니다. 브라우저 디렉토리 또는 프로그램 데이터 하위 폴더. 쿠키는 브라우저를 사용하여 쿠키를 사용하는 웹 사이트를 방문하여 사이트 내에서 사용자의 움직임을 추적하고 중단 한 지점에서 다시 시작하도록 돕고 등록 된 로그인, 테마 선택, 환경 설정을 기억할 때 생성됩니다. 웹 사이트는 귀하의 브라우저에서 설정 한 것과 동일한 ID 태그가있는 해당 파일을 저장하며이 파일에는 사이트 내에서의 움직임에 대한 정보와 귀하가 자발적으로 제공 한 정보를 추적하고 유지할 수 있습니다. 이메일 주소와 같은 웹 사이트를 방문하는 동안.

예를 들어 Amazon.in을 방문하고 Samsung Mobile Phones를 검색하면 검색 기록에 기록되고 다음에 브라우저에서 Amazon.in을 열면 쿠키가 검색 기록을 읽고 Amazon 홈페이지에 Samsung Mobile phone이 표시됩니다.

쿠키의 기능은 무엇입니까 ???

보안 웹 사이트는 사용자가 페이지를 탐색 할 때 사용자의 신원을 확인하기 위해 쿠키를 사용합니다. 쿠키가 없으면 모든 제품이 장바구니에 추가되기 전에 로그인 자격 증명을 입력해야합니다. 쿠키 사용 및 개선 :

1- 고객 로그인
2- 영구 장바구니
3- 위시 목록
4- 제품 추천
5- 맞춤 사용자 인터페이스
6- 고객 주소 및 결제 정보 유지

쿠키에는 5 가지 유형이 있습니다 .-

1- 세션 쿠키-세션 쿠키 웹 사이트를 방문하는 동안 브라우저의 하위 폴더에 임시로 생성됩니다. 사이트를 나가면 세션 쿠키가 삭제됩니다.

2- 영구 쿠키-영구 쿠키 파일은 브라우저의 하위 폴더에 남아 있으며 특정 쿠키를 생성 한 웹 사이트를 방문하면 다시 활성화됩니다. 영구 쿠키 쿠키 파일에 설정된 기간 동안 브라우저의 하위 폴더에 남아 있습니다.

3- 타사 쿠키-브라우저 주소 표시 줄에 표시되는 도메인 이름이 아닌 도메인 이름으로 설정된 쿠키 이러한 쿠키 주로 사용자 브라우징 패턴을 추적하거나 사용자를위한 광고 권장 사항을 찾는 데 사용됩니다.

4- 보안 쿠키-보안 쿠키는 암호화 된 연결을 통해서만 전송 될 수 있습니다. 쿠키에 대한 보안 플래그. 보안 플래그를 지원하는 브라우저는 요청이 HTTPS 페이지로 이동할 때 보안 플래그가있는 쿠키 만 전송합니다.

5-HTTP 전용 쿠키-이 특정 쿠키는 다음 사용자 만 액세스해야 함을 브라우저에 알립니다. 클라이언트 스크립트에서 쿠키에 액세스하려는 모든 시도는 엄격히 금지됩니다. 이는 세션 쿠키에 대한 중요한 보안 보호입니다.

쿠키 생성 :-

setcookie () 함수는 나머지 HTTP 헤더와 함께 전송되는 쿠키 개발자가 setcookie 함수를 사용하여 쿠키를 생성하면 3 개 이상의 인수를 지정해야합니다. 이러한 인수는 setcookie ( name , value , 만료 )

쿠키 속성 :-

  1. 이름 : 쿠키의 이름을 지정합니다.
  2. 값 : 쿠키의 값을 지정합니다.
  3. 값 : li>
  4. Secure : 는 쿠키가 보안 HTTPS 연결을 통해서만 전송되어야하는지 여부를 지정합니다 .TRUE는 다음을 나타냅니다. 쿠키는 보안 연결이있는 경우에만 설정됩니다. 기본값은 FALSE입니다.
  5. 도메인 : 는 쿠키의 도메인 이름. example.com의 모든 하위 도메인에서 쿠키를 사용할 수 있도록하려면 도메인을 “xyz.com”으로 설정합니다. www.xyz.com 으로 설정하면 www 하위 도메인에서만 쿠키를 사용할 수 있습니다.
  6. Path : 는 쿠키의 서버 경로를 지정합니다. “/”로 설정하면 전체 도메인 내에서 쿠키를 사용할 수 있습니다.”/ php /”로 설정하면 쿠키는 php 디렉토리와 php의 모든 하위 디렉토리 내에서만 사용할 수 있습니다. 기본값은 쿠키가 설정되는 현재 디렉토리입니다.
  7. HTTPOnly : TRUE로 설정하면 HTTP 프로토콜을 통해서만 쿠키에 액세스 할 수 있습니다.이 설정은 XSS를 통한 ID 도용을 줄이는 데 도움이 될 수 있습니다. 공격. 기본값은 FALSE입니다.

세션 ID

세션 ID는 웹 사이트의 서버가 해당 사용자의 방문 기간 동안 특정 사용자에게 할당하는 고유 번호입니다. 세션 ID는 쿠키, 양식 필드 또는 URL로 저장할 수 있습니다.

설명 :

이미지 출처 : http : // nikolaisammut .blogspot.com / 2012 / 04 / php-sessions-cookies.html

이 그림에는 세 가지 구성 요소가 있습니다. HT TP 클라이언트 , HTTP 서버 데이터베이스 (세션 ID 보유).

1 단계 : 클라이언트는 POST 또는 GET을 통해 서버에 요청을 보냅니다.

2 단계 : 웹 서버에 생성 된 세션 ID입니다. 서버는 세션 ID를 데이터베이스에 저장하고 쿠키 설정 기능을 사용하여 & 세션 ID를 클라이언트 브라우저에 응답으로 보냅니다.

3 단계 : 클라이언트 브라우저에 저장된 세션 ID가있는 쿠키는 서버가 데이터베이스에서 일치하는 서버로 다시 전송되고 HTTP 200 OK로 응답을 보냅니다.

Session Fixation Attack

Session fixation은 공격자가 공격자가 제공 한 세션 식별자를 사용하여 애플리케이션에서 인증하도록 피해자를 속일 수있는 웹 애플리케이션 공격입니다. 세션 하이재킹과 달리 이미 인증 된 사용자의 세션 ID를 도용하는 데 의존하지 않습니다.

In 공격자가 고정 세션 ID가 포함 된 링크를 보낼 수있는 간단한 방법으로 피해자가 링크를 클릭하면 피해자의 세션 ID가 고정됩니다. 공격자는 이미 세션 ID를 알고 있으므로 쉽게 세션을 탈취 할 수 있습니다.

대상 사이트 :- https://unsecured.nwebsec.com/SessionFixation

1 단계 : 공격 로그온 대상 사이트 자격 증명입니다.

연결자의 세션 ID :-

2 단계> 고정 세션 ID가 포함 된 연결자의 링크- https://www.nwebsec.com/SessionSecurity/SessionFixation/SetDomainCookie?id=pzlaaw53lzbmhspousk00avb

3 단계-> 공격은 피해자가 클릭하면 이메일을 통해이 링크를 보낼 수 있습니다. 주어진 링크에서 그의 세션 나 d가 수정됩니다.

이미 링크를 클릭하고 고정 세션 ID가있는 로그인 페이지로 리디렉션 된 피해자를 볼 수 있습니다.

피해자가 공격자와 동일한 세션 ID를 가지고 있음을 알 수 있으므로 피해자와 공격자의 세션 ID가 동일하므로 공격자는 페이지를 새로 고쳐야하며 피해자의 모든 비밀을 볼 수 있습니다. .

읽어 주셔서 감사합니다

문의하기

LinkedIn- www.linkedin.com/in / tushars25

Instagram- https://www.instagram.com/th3g3nt3lm4n/

트위터- https://twitter.com/TH3G3NT3LM4N

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다