μƒˆμ†Œμ‹

IT & Security/Web

쿠킀와 μ„Έμ…˜μ˜ 차이점

  • -
λ°˜μ‘ν˜•

μ˜€λŠ˜μ€ 쿠킀와 μ„Έμ…˜μ— 차이λ₯Ό μ•Œμ•„λ³΄λ„λ‘ ν• κ²Œμš”!

쿠킀와 μ„Έμ…˜μ˜ μ°¨μ΄λŠ” 곡뢀 ν•˜μ‹œλŠ” 뢄듀도 가끔 ν—·κ°ˆλ¦΄ 수 μžˆλ‹€κ³  ν•˜λ‹ˆ

ν™•μ‹€νžˆ 짚고 λ„˜μ–΄κ°€λ„λ‘ ν•©μ‹œλ‹€!


 

쿠킀와 μ„Έμ…˜μ€ http ν”„λ‘œν† μ½œμ˜ 약점을 μ»€λ²„ν•˜κΈ° μœ„ν•΄μ„œ μ‘΄μž¬ν•œλ‹€.
http ν”„λ‘œν† μ½œμ€ Connectionless ν•˜κ³  Stateless ν•˜λŠ”데

Connectionless λž€ ν΄λΌμ΄μ–ΈνŠΈκ°€ request(μš”μ²­)λ₯Ό μ„œλ²„에 λ³΄λ‚΄λ©΄, μ„œλ²„λŠ” ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ response(λŒ€λ‹΅,응닡)ν•˜κ³ 
μ„œλ‘œ μ ‘속을 λŠλŠ” νŠΉμ„±μ„ λ§ν•œλ‹€.

Stateless λž€ 접속을 λŠλŠ” μˆœκ°„ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„μ˜ 톡신은 λλ‚˜λ©°, μƒνƒœμ •λ³΄λŠ” μœ μ§€λ˜μ§€ μ•ŠλŠ” νŠΉμ„±μ„ λ§ν•œλ‹€.

이 λ‘κ°€μ§€ νŠΉμ„±λ•Œλ¬Έμ— httpλŠ” ν†΅μ‹ μ„ μœ μ§€ν•˜κ³  μžˆμ„ λ•Œ λ‚­λΉ„λ˜λŠ” λ¦¬μ†ŒμŠ€λ₯Ό μ€„일 μˆ˜ μžˆμ§€λ§Œ,
톡신을 μ‹œλ„ ν•  λ•Œλ§ˆλ‹€ κ³„속 μΈμ¦μ„ ν•΄μ•Όν•œλ‹€.

이런 λ¬Έμ œλ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μΏ ν‚€μ™€ μ„Έμ…˜μ„ μ‚¬μš©ν•˜λŠ”데

β€» μ—¬κΈ°μ„œ μΏ ν‚€λž€?


μΏ ν‚€(μ˜μ–΄: cookie)λž€ ν•˜μ΄νΌ ν…μŠ€νŠΈμ˜ κΈ°λ‘μ„œ(HTTP)의 μΌμ’…μœΌλ‘œμ„œ μΈν„°λ„· μ‚¬μš©μžκ°€ μ–΄λ– ν•œ μ›Ήμ‚¬μ΄νŠΈλ₯Ό λ°©λ¬Έν•  κ²½μš° 
κ·Έ μ‚¬μ΄νŠΈκ°€ μ‚¬μš©ν•˜κ³  μžˆλŠ” μ„œλ²„λ₯Ό ν†΅ν•΄ μΈν„°λ„· μ‚¬μš©μžμ˜ μ»΄ν“¨ν„°μ— μ„€μΉ˜λ˜λŠ” μž‘은 κΈ°λ‘ μ •λ³΄ νŒŒμΌμ„ μΌμ»«λŠ”λ‹€.
 HTTP μΏ ν‚€, μ›Ή μΏ ν‚€, λΈŒλΌμš°μ € 쿠킀라고도 ν•œλ‹€.
이 κΈ°λ‘ νŒŒμΌμ— λ‹΄κΈ΄ μ •λ³΄λŠ” μΈν„°λ„· μ‚¬μš©μžκ°€ κ°™μ€ μ›Ήμ‚¬μ΄νŠΈλ₯Ό λ°©λ¬Έν•  λ•Œλ§ˆλ‹€ μ½νžˆκ³  μˆ˜μ‹œλ‘œ μƒˆλ‘œμš΄ μ •λ³΄λ‘œ λ°”뀐닀.

β€» μΏ ν‚€μ˜ λ™μž‘λ°©μ‹μ€?

 

 μ›Ή μ„œλ²„와 μ›Ή λΈŒλΌμš°μ € κ°„μ˜ μƒν˜Έν˜‘λ ₯으둜 μ΄λ£¨μ–΄μ§„λ‹€.
μ›Ήμ„œλ²„κ°€ μ›ΉλΈŒλΌμš°μ €μ—κ²Œ μ‘닡을 ν•  λ•Œ HTTP ν”„λ‘œν† μ½œμ— μžˆλŠ” HTTP헀더에 μΏ ν‚€ μ •λ³΄λ₯Ό ν¬ν•¨ μ‹œμΌœ
ν΄λΌμ΄μ–ΈνŠΈ μͺ½μœΌλ‘œ λ³΄λ‚Έλ‹€. κ·Έλ¦¬κ³  μ›ΉλΈŒλΌμš°μ €μ—κ²Œ μ›Ήμ„œλ²„에 μ‘΄μž¬ν•˜λŠ” νŽ˜μ΄μ§€λ₯Ό μš”κ΅¬ν• λ•Œ
그전에 μžμ‹ μ΄ λ°©λ¬Έ ν–ˆμ„λ•Œ ν•΄λ‹Ή νŽ˜μ΄μ§€μ— λŒ€ν•΄μ„œ μ›Ή μ„œλ²„κ°€ λΈŒλΌμš°μ €μͺ½μœΌλ‘œ μ‹¬μ–΄λ†“은 μΏ ν‚€λ₯Ό 
μ›Ή μ„œλ²„λ‘œ λ‹€μ‹œ κ±΄λ„€μ£Όμ–΄μ„œ μ΄μ „에 μƒνƒœλ₯Ό μ›Ή μ„œλ²„κ°€ μ•Œ μˆ˜ μžˆλ‹€.

- μš”μ•½ -
β€» μ›Ήμ„œλ²„와 μ›Ή λΈŒλΌμš°μ € κ°„μ˜ μƒν˜Έν˜‘λ ₯으둜 μ΄λ£¨μ–΄μ§„λ‹€. 
1) ν΄λΌμ΄μ–ΈνŠΈκ°€ λΈŒλΌμš°μ €λ‘œ μ›Ή νŽ˜μ΄μ§€μ— μ ‘속 
2) ν΄λΌμ΄μ–ΈνŠΈκ°€ μš”μ²­ν•œ μ›ΉνŽ˜μ΄μ§€λ₯Ό μ „솑 λ°›μŒ -> λ™μ‹œμ— μΏ ν‚€(ν΄λΌμ΄μ–ΈνŠΈμ˜ μƒνƒœμ •λ³΄)λ₯Ό ν•˜λ“œμ— μ €μž₯ 
3) ν΄λΌμ΄μ–ΈνŠΈκ°€ μž¬ λ°©λ¬Έμ‹œ μ›ΉνŽ˜μ΄μ§€ μš”μ²­κ³Ό ν•¨κ»˜ μΏ ν‚€ κ°’도 μ „솑 
4) μ§€μ†μ μœΌλ‘œ λ‘œκ·ΈμΈ μ •λ³΄λ₯Ό κ°€μ§€κ³  μžˆλŠ” κ²ƒ μ²˜λŸΌ μ‚¬μš©λ¨. 


β€» μ„Έμ…˜μ΄λž€?

μ„Έμ…˜(Session)μ΄λž€ μΌμ • μ‹œκ°„λ™μ•ˆ κ°™μ€ μ‚¬μš©μž(μ •ν™•ν•˜κ²Œ λΈŒλΌμš°μ €λ₯Ό λ§ν•œλ‹€)둜 λΆ€ν„° λ“€μ–΄μ˜€λŠ” μΌλ ¨μ˜
 μš”ꡬλ₯Ό ν•˜λ‚˜μ˜ μƒνƒœλ‘œ λ³΄κ³  κ·Έ μƒνƒœλ₯Ό μΌμ •ν•˜κ²Œ μœ μ§€μ‹œν‚€λŠ” κΈ°μˆ μ΄λ‹€. λ°©λ¬Έμžμ˜ μš”청에 λ”°λ₯Έ μ •λ³΄λ₯Ό 
방문자 λ©”λͺ¨λ¦¬μ— μ €μž₯ν•˜λŠ” κ²ƒμ΄ μ•„λ‹Œ μ›Ή μ„œλ²„κ°€ μ„Έμ…˜ μ•„이디 νŒŒμΌμ„ λ§Œλ“€μ–΄ 
μ„œλΉ„μŠ€κ°€ λŒμ•„κ°€κ³  μžˆλŠ” μ„œλ²„에 μ €μž₯ν•˜λŠ” κ²ƒμ΄λ‹€. 
μ„œλ²„μ— μ €μž₯되기 λ•Œλ¬Έμ— μ‚¬μš©μž μ •λ³΄κ°€ λ…ΈμΆœλ˜μ§€ μ•ŠλŠ”λ‹€.

즉 μ‚¬μš©μžκ°€ λΈŒλΌμš°μ €λ₯Ό μ—΄μ–΄ μ„œλ²„에 μ ‘μ†ν•œ λ’€ μ ‘속을 μ’…λ£Œν•  λ•Œ μ‹œμ κΉŒμ§€λ₯Ό λ§ν•œλ‹€.
λ˜ν•œ HTTP ν”„λ‘œν† μ½œ λΉ„μ ‘μ†ν˜• ν”„λ‘œν† μ½œμ΄λ―€λ‘œ, λ§€ μ ‘μ†μ‹œλ§ˆλ‹€ μƒˆλ‘œμš΄ λ„€νŠΈμ›Œν¬ μ—°κ²°μ΄ μ΄λ£¨μ–΄μ§€λŠ”데, μ„Έμ…˜μ΄ 
μ—°κ²° μœ μ§€λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•΄μ€€λ‹€.

β€» μ„Έμ…˜μ˜ 원리 ?


1) μ„Έμ…˜ IDλ₯Ό μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈκ°€ λ‹€μ‹œ μ›Ήμ‚¬μ΄νŠΈμ— μ ‘μ†μ‹œ λ°œκΈ‰ν•΄ μ€€λ‹€.
2) μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈλ‘œ λ°œκΈ‰ν•΄μ€€ μ„Έμ…˜ IDλ₯Ό μΏ ν‚€λ₯Ό μ‚¬μš©ν•΄μ„œ μ €μž₯ν•œλ‹€.
3) ν΄λΌμ΄μ–ΈνŠΈλŠ” λ‹€μ‹œ μ ‘μ†μ‹œ, μ΄ μΏ ν‚€λ₯Ό μ΄μš©ν•΄μ„œ μ„Έμ…˜ ID값을 μ„œλ²„에 μ „λ‹¬ν•œλ‹€.


쿠킀와 μ„Έμ…˜μ€ λΉ„μŠ·ν•œ μ—­ν• μ„ ν•˜λ©°, λ™μž‘원리 λ˜ν•œ λΉ„μŠ·ν•˜λ‹€.
κ°€μž₯ ν° μ°¨μ΄λΌκ³  ν•˜λ©΄ μ €μž₯λ˜λŠ” μœ„μΉ˜λ₯Ό λ§ν•  μˆ˜ μžˆλŠ”데
μΏ ν‚€λŠ” ν΄λΌμ΄μ–ΈνŠΈμ— μ €μž₯λ˜μ–΄ λ³΄λ‚΄κ³ 
μ„Έμ…˜μ€ μ„œλ²„에 μ €μž₯λ˜μ–΄μ„œ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μ•Œλ €μ€€ ν›„ μ‚¬μš©ν•œλ‹€λŠ” μ μ΄ λ‹€λ₯΄λ‹€.

μΏ ν‚€λŠ” μ„œλ²„μ˜ μžμ›μ„ μ „ν˜€ μ‚¬μš©ν•˜μ§€ μ•Šκ³ 
μ„Έμ…˜μ€ μ„œλ²„μ˜ μžμ›μ„ μ‚¬μš©ν•œλ‹€λŠ” μ μ—μ„œ μ„±λŠ₯λ©΄μœΌλ‘œλŠ” μΏ ν‚€κ°€ λ‚«λ‹€κ³  ν•  μˆ˜ μžˆλ‹€.


즉 μ„œλ²„에 μš”μ²­μ‹œ μΏ ν‚€κ°€ λ” λΉ λ₯Έ μ†λ„λ₯Ό λ‚΄λ©°, μ„œλ²„μ˜ λΆ€λ‹΄μ΄ κ°€μ§€ μ•ŠλŠ”λ‹€.
ν•˜μ§€λ§Œ λ³΄μ•ˆμΈ‘λ©΄μ—μ„œλŠ” μ„Έμ…˜μ΄ λ” μ•ˆμ „ν•˜λ‹€κ³  λ³Ό μˆ˜ μžˆλ‹€.

 


이제 쿠킀와 μ„Έμ…˜μ˜ 차이λ₯Ό μ’€ μ•„μ…¨λ‚˜μš”!?

κ·Έλ ‡λ‹€λ©΄ λ‹€μŒ 글은!

쿠킀와 μ„Έμ…˜μ„ μ΄μš©ν•œ 곡격기법

XSS, CSRF에 λŒ€ν•˜μ—¬ μ„€λͺ…λ“œλ¦¬κ³  두가지 곡격의 차이λ₯Ό μ μ–΄μ„œ

글을 올렀 보도둝 ν• κ²Œμš”!!^^

 

λ‹€λ“€ μ—΄κ³΅ν•˜μ„Έμš©~

λ°˜μ‘ν˜•
Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.