5. Session & Cookie
1) 정의
▣ Session
- 사전적 의미 "시간" --> 연결된 상태
- 통신 연결에서 두 개체의 활성화된 접속을 의미.
▣ Cookie
- Web cookie, tracking cookie 또는 cookie라고 부름.
- web 상에서 사용자 식별, 사용자 정보유지, 세션 유지 등에 사용됨.
☞ 로그인 후 사용자 정보를 쿠키에 담아 현재 사용자가 누구인지 파악가능함.
☞ 팝업 창의 '오늘 하루 안 보기' 도 쿠키를 이용하여 저장해두고 하루동안 띄우지 않음.
☞ 오늘 본 상품 및 광고 또한 쿠키를 이용.
2) Cookie (차이점 중요)
▣ Persistent Cookie
- 브라우저를 종료해도 사용자의 하드드라이버에 저장되어 있음.
- 삭제시기 : 만료시기(expiration date), 직접 삭제
- 위치 : 윈도우 버전과 익스플로러 버전에 따라 다름.
- 4번째 줄 flag 값 외우삼.
☞ 1536 : no option
☞ 1537 : secure (HTTPS)
☞ 9728 : HTTP only (javaScript X) --> 해킹 방지
▣ Session Cookie
- 웹 클라이언트(IE) cache 에 임시저장 또는 서버에 저장
- 삭제시기 : 브라우저 닫기/로그아웃/서버에서 삭제(만료)
- 인증정보 유지에 좋음.
- Web application Server (WAS) : 개발자가 바꿀 수도 있음!!
☞ PHP : PHPSESSIONID
☞ JSP : JSESSIONID
☞ ASP : ASPSESSIONID
===> 보안적 관점에서 persistent 쿠키는 분실 시 지속적으로 위험하지만 session 쿠키는 서버에서 만료가 되면 사라지므로 일정시간 동안만 위험.
3) Session 관리
▣ 로그인 전
- BASIC 인증 : 아이디와 암호를 BASE64 방식으로 인코딩 후 웹 서버로 전달. (위험, 디코딩 가능)
☞ sniffing에 취약, 로컬 인트라넷에 주로 사용 (회사 내의 망)
- Form Based 인증 : HTML Form 태그를 이용하여 입력받은 데이터를 서버에 전송하는 방식 (많이 사용됨)
▣ 로그인 후
- Hidden field : 사용자의 인터페이스에는 보이지 않지만 HTML코드 내에 저장되는 방식, 근본적인 취약성으로 인해 최근에는 사용되고 있지 않다.
- URL Rewriting : 웹 브라우저에서 쿠키 사용을 막은 경우에 사용되는 방식. URL에 추가하여 요청.
- Cookie : Persistent Cookie & Session Cookie
i2sec 대구지점 23기 수료생.
'해킹&보안 > 웹 해킹&보안' 카테고리의 다른 글
[D+8] OWASP TOP 10 (0) | 2017.05.15 |
---|---|
[D+7] 정보수집 (0) | 2017.05.12 |
[D+5] Encoding (0) | 2017.05.08 |
아스키코드 (0) | 2017.05.07 |
[D+4] 웹 언어 (0) | 2017.05.01 |