μƒˆμ†Œμ‹

Game/Bee-box

[Bee-box] μ €μž₯된 XSS 취약점

  • -
λ°˜μ‘ν˜•

이번 ν¬μŠ€νŒ…μ€ 'Stored-XSS(Cross-Site Scripting)' μž…λ‹ˆλ‹€.

μ‹€μŠ΅ 진행 μ „,  XSSκ°€ 무엇인지 μ •ν™•νžˆ 짚고 λ„˜μ–΄κ°€λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

μ‹€μŠ΅ν•˜λŠ” λͺ¨λ“  곡격은 μ‹€μ œλ‘œ μ‚¬μš©ν•˜μ‹œλ©΄ μ•ˆλ©λ‹ˆλ‹€.

ν—ˆμš©λ°›μ§€ μ•Šμ€ μ„œλΉ„μŠ€ λŒ€μƒμ— 해킹을 μ‹œλ„ν•˜λŠ” 행동은 κΈˆμ§€ν•˜λ©°,

λͺ¨λ“  법적 μ±…μž„μ€ μ‚¬μš©μžμ—κ²Œ μžˆλŠ” 것을 λͺ…μ‹¬ν•΄μ£Όμ„Έμš”.

 

 


 

 

ν¬λ‘œμŠ€μ‚¬μ΄νŠΈ μŠ€ν¬λ¦½νŒ…

ν¬λ‘œμŠ€μ‚¬μ΄νŠΈ μŠ€ν¬λ¦½νŒ…(Cross-Site Script)취약점은 μ›Ή μ‚¬μ΄νŠΈμ—μ„œ μž…λ ₯데이터가 μ μ ˆν•œ 값인지 κ²€μ‚¬ν•˜μ§€ μ•Šκ³ , 

μ›Ή λΈŒλΌμš°μ €λ₯Ό μ‹€ν–‰ν•  λ•Œ λ°œμƒν•œλ‹€. κ³΅κ²©μžλŠ” μž…λ ₯ 데이터에 슀크립트 μ½”λ“œλ₯Ό μž…λ ₯ν•˜μ—¬ μ„Έμ…˜ 정보λ₯Ό νƒˆμ·¨ν•˜λŠ” 것뢀터 

μ‚¬μš©μžλ₯Ό μ•…μ˜μ μΈ μ‚¬μ΄νŠΈλ‘œ μ΄λ™ν•˜κ²Œ ν•˜κ±°λ‚˜, μ•…μ„± ν”„λ‘œκ·Έλž¨μ„ κ°•μ œλ‘œ λ‹€μš΄λ‘œλ“œ ν•˜κ²Œ ν•œλ‹€.

 

XSS μ’…λ₯˜λŠ” 슀크립트 μ½”λ“œ μž…λ ₯에 따라 μ €μž₯된 XSS(Stored XSS)와 λ°˜μ‚¬λœ XSS(Reflected XSS), DOM Based μŠ€ν¬λ¦½νŒ… λ“±μœΌλ‘œ λΆ„λ₯˜ν•˜λŠ”데, μ €μž₯된 XSSκ°€ λ³΄μ•ˆμƒ 제일 μœ„ν˜‘μ μ΄λ‹€.

 

이 취약점은 μ„œλ²„μ— μ „λ‹¬λ˜λŠ” λͺ¨λ“  λ³€μˆ˜ κ°’μ—μ„œ λ°œμƒν•  수 있으며, κ³΅κ²©μžκ°€ μ„Έμ…˜μ„ νƒˆμ·¨ν•˜μ—¬ λ‹€λ₯Έ μ‚¬μš©μžμ˜ κΆŒν•œμ„

μ·¨λ“ν•˜κ±°λ‚˜ μ•…μ„±μ½”λ“œλ₯Ό λ°°ν¬ν•˜κΈ° μœ„ν•œ λͺ©μ , ν”Όμ‹±ν•˜μ—¬ μ‚¬μš©μžμ˜ μ€‘μš”ν•œ 정보λ₯Ό νšλ“ ν•˜κΈ° μœ„ν•œ λͺ©μ μœΌλ‘œ μ΄μš©λœλ‹€.

(이전 μ›Ήν•΄ν‚Ήλ“€κ³Ό 쑰금 λ‹€λ₯΄κ²Œ μ„œλ²„λ₯Ό λŒ€μƒμœΌλ‘œ ν•˜λŠ” κ³΅κ²©μ΄μ•„λ‹Œ, ν΄λΌμ΄μ–ΈνŠΈ 즉 μ‚¬μš©μžλ₯Ό λŒ€μƒμœΌλ‘œ ν•˜λŠ” κ³΅κ²©μž„)

 

 

 

 

μ €μž₯된 XSS

μœ„μ— λΆ„λ₯˜ν•œ 것을 κΈ°μ€€μœΌλ‘œ, 첫 번째 Stored Cross-Site Scripting(μ €μž₯된 xss)λŠ” μ•…μ˜μ μΈ 슀크립트 μ½”λ“œκ°€ 웹에

μž…λ ₯λ˜λ©΄μ„œ λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯λœλ‹€.

링크λ₯Ό μ΄μš©ν•˜μ—¬ μΌνšŒμ„±μœΌλ‘œ 클릭을 μœ λ„ν•˜μ§€ μ•Šκ³ , λΆˆνŠΉμ • λ‹€μˆ˜μ˜ μ‚¬μš©μžκ°€ 곡격자의 κ²Œμ‹œλ¬Όμ— μ ‘κ·Όν•˜λ©΄ 

μ§€μ†μ μœΌλ‘œ μ•…μ˜μ μΈ μŠ€ν¬λ¦½νŠΈκ°€ μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ— μœ„ν˜‘ 영ν–₯도가 λ†’λ‹€.

(μΌνšŒμ„±x, dbμ•ˆμ— μ €μž₯λ˜μ–΄ 지속적 μ‹€ν–‰ o)

 

 

μ‹€λ¬΄μ—μ„œλŠ” κ΄€λ¦¬μžμ˜ κΆŒν•œ νšλ“, λ‹€λ₯Έ μ‚¬μš©μžμ˜ κΆŒν•œ νšλ“μ„ λͺ©μ μœΌλ‘œ ν•˜μ§€λ§Œ, λ²”μ£„μžλŠ” 이λ₯Ό μ΄μš©ν•˜μ—¬ μ•…μ„±μ½”λ“œλ₯Ό λ°°ν¬ν•˜λŠ” 데 λ§Žμ€ 비쀑을 두고 μžˆλ‹€. ν™ˆνŽ˜μ΄μ§€λ₯Ό ν•΄ν‚Ήν•΄μ„œ λ‚΄μš©μ„ λ³€μ‘°ν•˜μ—¬ 슀크립트λ₯Ό μ‚½μž…ν•˜λŠ” 것이 λŒ€λΆ€λΆ„μ΄μ§€λ§Œ, μ΄λ ‡κ²Œ μ €μž₯된 XSS취약점을 ν†΅ν•˜μ—¬ κ²Œμ‹œνŒμ„ μ΄μš©ν•  수 μžˆλ‹€.

 

 

μ‚¬μš©μž 단말에 μ·¨μ•½ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ„€μΉ˜λ˜μ–΄ μžˆλ‹€λ©΄ μžμ‹ λ„ λͺ¨λ₯΄κ²Œ 단말에 μ•…μ„±μ½”λ“œκ°€ μ„€μΉ˜λœλ‹€.

μ΅œκ·Όμ—λŠ” λžœμ„¬μ›¨μ–΄κ°€ 많이 μ„€μΉ˜λ˜λŠ”λ°, μ΄λŠ” μ†Œμž₯ν•œ λ¬Έμ„œλ₯Ό μ•”ν˜Έν™”ν•˜μ—¬ μ‚¬μš©ν•˜μ§€ λͺ»ν•˜κ²Œ ν•œλ‹€.

 

 

 


 

 

 

 

Stored Xss 곡격흐름도 

 

 

https://parkya.tistory.com/974

 

 

즉 흐름도λ₯Ό 보자면

 

 

1. κ³΅κ²©μžκ°€ μ•…μ„± ν–‰μœ„λ₯Ό ν•˜λŠ” 슀크립트 μ½”λ“œλ₯Ό κ²Œμ‹œλ¬Όμ— 등둝

2. μ‚¬μš©μžκ°€ μ„œλ²„μ— νŽ˜μ΄μ§€ μš”μ²­(클릭)

3. μ‚¬μš©μžκ°€ κ²Œμ‹œλ¬Όμ„ ν΄λ¦­ν•˜λ©΄ μ•…μ„± 슀크립트 μ½”λ“œ μ‹€ν–‰

 

 

μ΄λ ‡κ²Œ 곡격이 μ§„ν–‰λœλ‹€.

 

 

λ‹€μŒ ν¬μŠ€νŒ…μ—μ„œ λ°”λ‘œ "Stored Xss - Stored(blog)" λ₯Ό μ‹€μŠ΅ν•΄λ³΄λ„λ‘ ν•˜κ² λ‹€.

λ°˜μ‘ν˜•

'Game > Bee-box' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Bee-box] Change Secret  (0) 2020.09.29
[Bee-box] Stored Xss - Blog  (0) 2020.09.26
[Bee-box] Session Mgmt. - Session ID in URL  (0) 2020.09.25
[Bee-box] Session - κ΄€λ¦¬μž νŽ˜μ΄μ§€ μ ‘κ·Ό  (0) 2020.09.24
Contents

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

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