๐ŸŒ†โ”‚Web_Study/๐ŸฅŠโ”‚pentestgym

์›น์˜ ์ดํ•ด์™€ HTTP

Jastes 2023. 5. 27. 00:00

๐Ÿ’กํ•ด๋‹น ๋‚ด์šฉ์€ pentestqym์˜ ๋‚ด์šฉ์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ด๋ฉฐ,
๋ชจ๋“  ์ €์ž‘๊ถŒ์€ ํ•ด๋‹น ์‚ฌ์ดํŠธ์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค.

์›น(Web)์ด๋ž€?

 ์›น์€ World Wide Web์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐ๋„ท[๊ฐ์ฃผ:1], ํ•˜์ดํผ๋งํฌ[๊ฐ์ฃผ:2] ๋“ฑ์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹

  ์›น์€ ์›น ํŽ˜์ด์ง€, ์›น ์‚ฌ์ดํŠธ, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํ•ด๋‹น html ๋“ฑ์˜ ํŒŒ์ผ์„ ํ†ตํ•ด ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€, ๋งํฌ, ๋™์˜์ƒ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น ํŽ˜์ด์ง€๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œํ•จ


์›น ๋ฆฌ์†Œ์Šค๋ž€?

์›น ๋ฆฌ์†Œ์Šค๋Š” ์›น์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธ

์›น ๋ฆฌ์†Œ์Šค๋Š” ์›น ํŽ˜์ด์ง€, ์ด๋ฏธ์ง€, ๋™์˜์ƒ, ์Šคํƒ€์ผ์‹œํŠธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๋“ค์€ ์›น์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณต๋˜๊ณ , ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ ๋ฐ ํ‘œ์‹œ๋จ


์›น ๋ฆฌ์†Œ์Šค ์‹๋ณ„ํ•˜๊ธฐ

 ์›น ๋ฆฌ์†Œ์Šค๋Š” ์›น์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. URI(Uniform Resource Identifier)๋Š” ์›น ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ์œ ํ•œ ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. 

์•Œ๋“ค์‹ ์žก
 URI๋Š” URL(Uniform Resource Locator)๊ณผ URN(Uniform Resource Name)์˜ ๊ฐœ๋…์„ ํฌํ•จํ•˜๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ URL์„ ํ†ตํ•ด ์›น ๋ฆฌ์†Œ์Šค์˜ ์œ„์น˜๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, URL์™€ URI๋Š” ์—„์—ฐํžˆ ๋‹ค๋ฅธ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค!

URL๊ณผ URI์˜ ์ฐจ์ด์ 

์ด๋ฏธ์ง€๋ฅผ ๋ณด์‹œ๋ฉด ์‰ฝ๊ฒŒ ๊ตฌ๋ถ„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ URL์€ ์ฃผ์†Œ์ด๋ฉฐ, ๊ทธ ๋’ค์— URN[๊ฐ์ฃผ:3]๋Š” ์ฟผ๋ฆฌ๋ฌธ/๊ฒฝ๋กœ ๋“ฑ์œผ๋กœ ์ž‘์„ฑ๋˜์–ด URI๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐ˜๋“œ์‹œ ๊ตฌ๋ถ„ํ•  ํ•„์š” ์—†์œผ๋ฉด URL๋กœ ์‚ฌ์šฉํ•ด๋„ ๋ฌด๋ฐฉ


URL ๊ตฌ์กฐ ํ™•์ธ

scheme:[//authority]path[?query][#fragment]
  • Scheme: URI์˜ ์ข…๋ฅ˜ ๋˜๋Š” ํ”„๋กœํ† ์ฝœ
    Ex) http, https, ftp
  • Authority: ์ผ๋ฐ˜์ ์œผ๋กœ ํ˜ธ์ŠคํŠธ(์„œ๋ฒ„)์˜ ์ด๋ฆ„์ด๋‚˜ IP ์ฃผ์†Œ๋ฅผ ํฌํ•จ
    • Username:Password ์˜ ํ˜•์‹(์ด๊ฑด ์ €ํ•œํ…Œ ์ข€ ์ƒ์†Œํ•œ ๋ถ€๋ถ„์ด๋ผ ใ… )
    • Host:Port ์˜ ํ˜•์‹(์ฃผ๋กœ SSH ์ ‘์† ์‹œ)
      Ex) www.example.com
  • Path: ๋ฆฌ์†Œ์Šค์˜ ๊ฒฝ๋กœ๋กœ์จ, ์›น ์„œ๋ฒ„์˜ ํŒŒ์ผ ๊ฒฝ๋กœ ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ๋กœ๋ฅผ ํฌํ•จ
    Ex) /images/photo.jpg
  • Query: ์˜ต์…˜์œผ๋กœ ์ฃผ๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋‚˜ํƒ€๋ƒ„
    Ex) ?category=1&article=10
  • Fragment: ์˜ต์…˜์ด๋ฉฐ, ์›น ํŽ˜์ด์ง€ ๋‚ด์—์„œ ํŠน์ • ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ฌ ๋•Œ ์‚ฌ์šฉ
    Ex) #section2

URI์˜ ํ˜•์‹

๊ฐ ๋ณด๋ž€์ƒ‰์˜ ๋ถ€๋ถ„์ด ๊ตฌ๋ถ„์ž๋กœ์จ ๊ฐ ํŒŒํŠธ๋ฅผ ๋‚˜๋ˆ„์–ด ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์›น์˜ ๋™์ž‘ ๋ฐฉ์‹๊ณผ ๊ตฌ์„ฑ ์š”์†Œ

 

์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์‚ฌ์ดํŠธ์— ์ ‘๊ทผ ์‹œ ์›น์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

 ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ์š”์ฒญํ•œ URL[๊ฐ์ฃผ:4]์—์„œ DNS[๊ฐ์ฃผ:5]๋ฅผ ํ†ตํ•ด ์›น ์ฃผ์†Œ์˜ IP ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด๊ณ , HTTP๋ฅผ ํ†ตํ•ด ์›น ์„œ๋ฒ„์— ์›น ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๊ณ , ์›น ์„œ๋ฒ„๋Š” ํ•ด๋‹น ์›น ํŽ˜์ด์ง€๋ฅผ ์‘๋‹ต์œผ๋กœ ์ „์†กํ•˜์—ฌ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ‘œ์‹œํ•จ

 

์—ฌ๊ธฐ์„œ ์›น์„ ๊ตฌ์„ฑํ•˜๋Š” 5๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์›น ํด๋ผ์ด์–ธํŠธ(Web Client) : ์š”์ฒญ์„ ํ•˜๋Š” ์ฃผ์ฒด, ์ฆ‰ ์‚ฌ์šฉ์ž
  • ์›น ๋ธŒ๋ผ์šฐ์ €(Web Browser) : ์‚ฌ์šฉ์ž๊ฐ€ ์›น ์„œ๋ฒ„์— ์š”์ฒญ์œผ๋กœ ์‚ฌ์šฉํ•œ ์†Œํ”„ํŠธ์›จ์–ด
  • HTTP(Hyper Text Transper Protocol) : ์›น์„ ํ†ตํ•œ ์ •๋ณด ์ „์†ก์„ ์œ„ํ•œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ(๊ทœ์•ฝ)
  • ์›น ์„œ๋ฒ„(Web Server) : ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ์— ํ•ด๋‹น๋˜๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ฃผ์ฒด(์ œ๊ณต์ž)
    Ex)  ์•„ํŒŒ์น˜ HTTP ์„œ๋ฒ„NGINXIIS(Internet Information Service)Node.js(์ž์ฒด์ ์œผ๋กœ ์›น์„œ๋ฒ„ ๋‚ด์žฅ๋จ), GWS(Google Web Server) ๋“ฑ
  • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(Web Application) : ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ
    Ex) ์˜จ๋ผ์ธ ์‡ผํ•‘๋ชฐ์ด๋‚˜ ์˜จ๋ผ์ธ ๋ฑ…ํ‚น, Gmail๊ณผ ๊ฐ™์€ ์ด๋ฉ”์ผ ํ”„๋กœ๊ทธ๋žจ ๋“ฑ์ด ์žˆ์œผ๋ฉฐ ์›Œ๋“œ, ํ”„๋ฆฌ์  ํ…Œ์ด์…˜, ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ ์ž‘์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ 

 

 

์•Œ๋“ค์‹ ์žก ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ vs ์›น ์‚ฌ์ดํŠธ
 ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์‚ฌ์šฉ์ž์™€ ๋Œ€ํ™”์‹์œผ๋กœ ๋™์ž‘ํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์˜๋ฏธํ•˜๊ณ , ์›น ์‚ฌ์ดํŠธ๋Š” ๋‹จ์ˆœํžˆ ๋‹ค์ˆ˜์˜ ์ •์  ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.


 ๊ทธ๋Ÿฌ๋‚˜ ํ˜„๋Œ€์˜ ์›น ์‚ฌ์ดํŠธ๋“ค์€ ๋Œ€ํ™”์‹ ๊ธฐ๋Šฅ์ธ ๊ฒ€์ƒ‰, ๋Œ“๊ธ€ ๋“ฑ์„ ๊ตฌํ˜„ํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์–ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์›น ์‚ฌ์ดํŠธ์˜ ๊ฒฝ๊ณ„๊ฐ€ ๋ชจํ˜ธํ•ด์ง€๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์ „๋ถ€ ์‚ดํŽด๋ณด๊ธฐ๋ณด๋‹จ, HTTP์— ์ง‘์ค‘ํ•˜์—ฌ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


HTTP (Hyper Text Transfer Protocol)

 HTTP๋Š” ์›น์—์„œ HTML ๋ฌธ์„œ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ๋กœ, OSI 7 Layer์˜ Application Layer์— ์†ํ•ฉ๋‹ˆ๋‹ค. HTTP๋Š” ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ๋ชจ๋ธ์„ ๋”ฐ๋ฅด๋ฉฐ, ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค.

 

 HTTP๋Š” ๋น„์ƒํƒœ์„ฑ(Stateless)๊ณผ ๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless)์„ ๊ฐ€์ง€๋Š”๋ฐ, ์ด๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ๋ณด๋‚ธ ํ›„ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๊ณ  ์ข…๋ฃŒํ•˜๋ฉฐ, ์–ด๋–ค ์ƒํƒœ๋„ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํŠน์ง•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

HTTP Version Different

์ด๋Ÿฐ ํŠน์ง•์œผ๋กœ ์ธํ•ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์‚ฌ์šฉ์ž ์ถ”์ ์„ ์œ„ํ•ด ์„ธ์…˜(Session)๊ณผ ์ฟ ํ‚ค(Cookie)๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค๋งŒ, ์ด ๋ถ€๋ถ„์€ ์ถ”ํ›„ ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 

๊ทธ๋Ÿผ HTTPS๋Š” ๋ญ”๊ฐ€์š” & HTTP 2.0 ์ด๋ž€?
 

http vs https

http(Hyper Text Transfer Protocol)์— ๋Œ€ํ•˜์—ฌ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์š”์ฒญ(Request)๊ณผ ์‘๋‹ต(Response) ํ˜•์‹์œผ๋กœ ์ •์˜ HTTP์˜ ๊ธฐ๋ณธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญํ•˜๋ฉด, ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•˜๋Š” ๊ฒƒ

dystopia050119.tistory.com

ํ•ด๋‹น HTTP์™€ ๊ด€๋ จ๋œ ์„ค๋ช…์€ ์œ„์— ๋ช…์‹œ๋˜์–ด ์žˆ๊ธฐ์— ์œ„์— ๋งํฌ๋„ ๋ณด์‹œ๊ณ , ์—ฌ๊ธฐ์„  ํ•ต์‹ฌ์ ์ธ ๋‚ด์šฉ์˜ ์ด๋ฏธ์ง€๋กœ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

01234567
HTTP์— ๋Œ€ํ•œ ๋‚ด์šฉ

ํ•ด๋‹น ๋‚ด์šฉ์€ ๋ฌผ๋ก  ์ „๋ถ€ ์ค‘์š”ํ•˜๊ณ  ์ˆ™์ง€ํ•˜๋ฉด ๋งค์šฐ๋งค์šฐ ์ข‹์ง€๋งŒ.. ๋’ค๋กœ ๊ฐˆ์ˆ˜๋ก ์ง๊ฐ์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„๋„ ์žˆ๊ณ , ๊ณต์‹๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜๋Š” ํŽธ์ด ์ข‹์„ ๊ฑฐ ๊ฐ™๊ธด ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์•Œ์•„๋‘๋ฉด ์ข‹๊ฒ ์ฃ ?


์ฐธ๊ณ  ์ž๋ฃŒ

 

์›น์˜ ์ดํ•ด์™€ HTTP | Pentest Gym | ๋ฒ„๊ทธ๋ฐ”์šดํ‹ฐํด๋Ÿฝ

์ด ํ›ˆ๋ จ์—์„œ๋Š” ์›น(WEB)์— ๊ด€ํ•œ ๊ธฐ์ดˆ ์ง€์‹๊ณผ ์›น์—์„œ ์‚ฌ์šฉ๋˜๋Š” HTTP ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.์›น์ด๋ž€? ์›น์€ ์ธํ„ฐ๋„ท์˜ ํ•˜์œ„ ๊ฐœ๋…์ธ World Wide We

www.bugbountyclub.com

์ฐธ๊ณ  ์ด๋ฏธ์ง€

 

  1. ์ปดํ“จํ„ฐ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ TCP/IP(Transmission Control Protocol/Internet Protocol)๋ผ๋Š” ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ [๋ณธ๋ฌธ์œผ๋กœ]
  2. ๋…์ž๊ฐ€ ํ•œ ๋ฌธ์„œ์—์„œ ๋‹ค๋ฅธ ๋ฌธ์„œ๋กœ ์ฆ‰์‹œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ [๋ณธ๋ฌธ์œผ๋กœ]
  3. ์„œ๋ฒ„์ฟผ๋ฆฌ, ์ฟผ๋ฆฌ์ŠคํŠธ๋ง ๋“ฑ์œผ๋กœ๋„ ๋ถˆ๋ฆผ [๋ณธ๋ฌธ์œผ๋กœ]
  4. Ex) https://google.com [๋ณธ๋ฌธ์œผ๋กœ]
  5. Domain Name Server๋กœ์จ ํ•ด๋‹น ๋ฌธ์ž์—ด์„ IP(์›น ํ†ต์‹ )์˜ ์ฃผ์†Œ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ARP, RARP์˜ ์ž‘์—…์„ ํ•จ [๋ณธ๋ฌธ์œผ๋กœ]