ν‹°μŠ€ν† λ¦¬ λ·°

WEB

Atlassian XSS 취약점

🌧: 2021. 9. 10.

κ°œμš”

졜근 μ•„ν‹€λž€μ‹œμ•„ ν™˜κ²½μ˜ ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ λͺ‡ 가지 기둝해둔 정보λ₯Ό κ³΅μœ ν•˜κ³ μž ν•©λ‹ˆλ‹€. μ•„ν‹€λž€μ‹œμ•„λž€ κ°„λ‹¨νžˆ μ–˜κΈ°ν•΄ κ°œλ°œν•œ ν”„λ‘œμ νŠΈλ‘œ κ³„νš/관리 및 ν˜‘μ—…μ΄ κ°€λŠ₯ν•˜μ—¬ λ‹€μ–‘ν•œ μ§μ—…κ΅°μ—μ„œ μ‚¬μš©λ˜κ³ , 기본적으둜 업무에 λŒ€ν•œ λ‚΄μš© κ³΅μœ κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.

 

λ˜ν•œ 일정, 파일, 등을 μ €μž₯ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλŠ” ν”„λ‘œμ νŠΈ 관리 μ†Œν”„νŠΈμ›¨μ–΄μ΄κΈ° λ•Œλ¬Έμ— ITμ—…μ’…μ—μ„œ κ·Όλ¬΄ν•˜μ‹œλŠ” 뢄듀이라면 ν•œ λ²ˆμ―€μ€ μ‚¬μš©ν•΄λ³΄μ‹œκ±°λ‚˜ 듀어보셨을 κ²λ‹ˆλ‹€.

 

이런 μ˜€ν”ˆμ†ŒμŠ€ ν”Œλž«νΌμ„ μ΄μš©ν•˜λ‹€λ³΄λ©΄ μ‚¬μš©μ˜ νŽΈλ¦¬μ„±μ€ μ¦κ°€ν•˜μ§€λ§Œ 그만큼 곡개될 수 μžˆλŠ” μ·¨μ•½μ μ˜ κ°€λŠ₯성도 ν•¨κ»˜ 증가할 수 μžˆλ‹€λŠ” 단점이 μ‘΄μž¬ν•©λ‹ˆλ‹€.

 

Issue Collector(CVE-2018-5230)

CVE-2018-5230의 λ„˜λ²„λ§μ„ 뢀여받은 μ·¨μ•½μ μœΌλ‘œ Jira Softwareμ—μ„œ λ¦¬μŠ€νŠΈμ—… 된 Issue λ“€μ˜ λ¦¬μŠ€νŠΈλ“€μ„ κ²€μƒ‰ν•˜μ—¬ λ³Ό 수 μžˆλŠ” κΈ°λŠ₯이 μ‘΄μž¬ν•©λ‹ˆλ‹€. 그쀑 κ²Œμ‹œλ‚ μ§œλ‘œ ν•„ν„°λ₯Ό κ±Έ 수 μžˆλŠ” λ³€μˆ˜μ˜ μž…λ ₯κ°’ 검증이 λ―Έν‘ν•œ 뢀뢄이 μ‘΄μž¬ν•©λ‹ˆλ‹€.

 

λ‘œκ·ΈμΈμ„ μˆ˜ν–‰ν›„ 검색 μ˜μ—­μœΌλ‘œ λ“€μ–΄μ˜€μ‹œλ©΄ 검색할 수 μžˆλŠ” 폼이 μ‘΄μž¬ν•˜λ©° 각각의 ν•„ν„°λ₯Ό κ±Έμ–΄ μ›ν•˜λŠ” λ°μ΄ν„°λ§Œ λ³Ό 수 μžˆλ„λ‘ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯도 μžˆμŠ΅λ‹ˆλ‹€.

 

"More"λ₯Ό μ„ νƒν•˜λ©΄ "Updated Data" κΈ°λŠ₯이 μ‘΄μž¬ν•©λ‹ˆλ‹€. 이뢀뢄을 μ„ νƒν•˜μ—¬ ν™•μž₯ κΈ°λŠ₯이 λ‚˜μ˜€λ„λ‘ ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

 

"In range" λ²”μœ„μ—λŠ” μ›ν•˜λŠ” 값을 μž…λ ₯ν•˜μ—¬ 좜λ ₯이 λ˜κ²Œλ” ν•˜λŠ” κΈ°λŠ₯μ΄μ§€λ§Œ λ‹€λ₯Έ 포인트 μ˜μ—­λ“€μ— λΉ„ν•΄ 비ꡐ적 μ‚¬μš©μžμ˜ μž…λ ₯ 값을 μ‹ λ’°ν•˜λŠ” λ¬Έμ œκ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€.

 

<img src=x onerror=prompt(cookie)>

μž…λ ₯ 값을 κ²€μ¦ν•˜μ§€ μ•ŠλŠ” In range λ³€μˆ˜μ— λ„£μ–΄ 전달해보면 λ³„λ„μ˜ μ˜ˆμ™Έμ²˜λ¦¬λ₯Ό μ§„ν–‰ν•˜μ§€ μ•Šκ³  κ·ΈλŒ€λ‘œ μ‚½μž…λ©λ‹ˆλ‹€.

 

비둝 POST 기반의 XSS이기 λ•Œλ¬Έμ— νŒŒμ›Œν’€ν•œ 곡격 μ‹œλ‚˜λ¦¬μ˜€λ₯Ό ν•˜κΈ°μ—λŠ” ꡬ상해야 될 뢀뢄이 μ’€ 더 μ‘΄μž¬ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μŠ€ν¬λ¦½νŠΈμ— μ‚¬μš©λ˜λŠ” ꡬ문을 μ˜ˆμ™Έμ²˜λ¦¬ν•˜μ§€ μ•Šκ³  κ·ΈλŒ€λ‘œ μ‚¬μš©ν•œλ‹€λŠ” 것 λΆ„λͺ…ν•œ 취약점인 것은 λ§žμŠ΅λ‹ˆλ‹€.

 

HTML Include on Macro(CVE-2020-14175)

Atlassian의 Confluenceλ₯Ό μ„€μΉ˜ν•΄λ³΄μ‹œλ©΄ μ•„μ‹œκ² μ§€λ§Œ κΈ°λ³Έμ μœΌλ‘œ HTML macros κΈ°λŠ₯에 λŒ€ν•΄ κΈ°λ³Έμ μœΌλ‘œ "λΉ„ν™œμ„±ν™”"된 μƒνƒœλ‘œ μœ μ§€λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ λ‚΄λΆ€μ μœΌλ‘œ μž μ‹œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ ν™œμ„±ν™”해두고 κ³„속 μœ μ§€μ‹œμΌœλ‘”λ‹€λ©΄ μ΄λ₯Ό μ•…μš©ν•˜μ—¬ μΉ¨ν•΄μ‚¬κ³ κ°€ λ°œμƒν•  κ°€λŠ₯성이 μ‘΄μž¬ν•©λ‹ˆλ‹€.

 

1. ν†±λ‹ˆλ°”ν€΄ > Manage apps.
2.Select System from the drop down and search for the Confluence HTML Macros system app.
3.Expand the listing and enable the html (html-xhtml) module.

ν…ŒμŠ€νŠΈ μ§„행을 μœ„ν•΄ ν™œμ„±ν™”λ‘œ ν•΄λ‘κ² μŠ΅λ‹ˆλ‹€.

 

Creatλ₯Ό λˆ„λ₯΄λ©΄ νŽ˜μ΄μ§€ λ§Œλ“€κΈ°κ°€ μƒμ„±λ©λ‹ˆλ‹€. μ—¬κΈ°μ„œ "{"λ₯Ό μž…λ ₯ν•΄ 맀크둜 κΈ°λŠ₯이 λ‚˜νƒ€λ‚˜λ„λ‘ ν•΄μ£Όμ‹œκ³  "Open macro browse"둜 μ΄λ™ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

검색창에 "html"을 μž…λ ₯ν•˜λ©΄ -> μ΄μ „에 ν™œμ„±ν™”μ‹œμΌœλ‘” html include κΈ°λŠ₯이 λ‚˜νƒ€λ‚©λ‹ˆλ‹€. ν•΄λ‹Ή κΈ°λŠ₯은 μ™ΈλΆ€μ˜ URL λ¦¬μ†ŒμŠ€λ₯Ό λΆˆλŸ¬μ™€ issue에 μƒμ„±λœ νŽ˜μ΄μ§€ λ‚΄λΆ€μ— μ‚½μž…λ˜λŠ” ν˜•νƒœλ₯Ό κ°€μ§‘λ‹ˆλ‹€.

 

참고둜 html include κΈ°λŠ₯을 ν™œμ„±ν™”해두어도 κΈ°λ³Έμ μœΌλ‘œ μ™ΈλΆ€ λ¦¬μ†ŒμŠ€μ— λŒ€ν•΄ Whitelist κΈ°λ°˜ μ •μ±…μœΌλ‘œ κ΄€λ¦¬λ˜μ–΄ μ™ΈλΆ€μ˜ URLλ¦¬μ†ŒμŠ€λ₯Ό κ°€μ Έμ˜¬ μˆ˜ μ—†μŠ΅λ‹ˆλ‹€. λ§Œμ•½ νŽΈμ˜λ₯Ό μœ„ν•΄ μ΄ μ •μ±…을 λΉ„ν™œμ„±ν™”ν•˜μ—¬ μ‚¬μš©ν•˜κ²Œ λœλ‹€λ©΄ μ™ΈλΆ€μ˜ λͺ¨λ“  λ¦¬μ†ŒμŠ€λ₯Ό κ°€μ Έμ˜€κ²Œ λ˜μ–΄ λ³΄μ•ˆμƒ μ΄μŠˆκ°€ λ°œμƒν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

 

κ²Œμ‹œκΈ€μ„ 생성 ν›„ μ—΄λžŒν•΄λ³΄λ©΄ μŠ€ν¬λ¦½νŠΈκ°€ μ‹€ν–‰λ©λ‹ˆλ‹€. ν˜„μž¬λŠ” λ³΄μ•ˆ 헀더가 κ΅¬μ„±λ˜μ–΄ μžˆκΈ°μ— 둜그인 μ„Έμ…˜μ •λ³΄κ°€ 좜λ ₯λ˜μ§€ μ•Šκ²Œλ” λ˜μ–΄ μžˆμ§€λ§Œ ν΄λΌμ΄μ–ΈνŠΈ ν™˜κ²½μ—μ„œ μŠ€ν¬λ¦½νŠΈκ°€ μ‹€ν–‰λœλ‹€λŠ” μ μ—μ„œ λ‹€μ–‘ν•œ μ‹œλ„(λ¦¬λ‹€μ΄λ ‰νŠΈλ₯Ό ν†΅ν•œ ν”Όμ‹± 연계, TRACEλ₯Ό ν†΅ν•œ λ°˜μ‚¬ λ“±)λ₯Ό ν•  수 있기 λ•Œλ¬Έμ— μ‘°μΉ˜ν•΄μ•Ό 될 κ°€μΉ˜λŠ” μΆ©λΆ„ν•©λ‹ˆλ‹€.

 

λŒ€μ‘λ°©μ•ˆ

ν•΄λ‹Ή 문제λ₯Ό μ‘°μΉ˜ν•˜κΈ° μœ„ν•΄ μž…λ ₯ 값을 κ²€μ¦ν•˜λ„λ‘ ν•΄μ£Όμ‹œκ±°λ‚˜ λ³΄μ•ˆνŒ¨μΉ˜κ°€ μ§„ν–‰λœ 버전을 μ‚¬μš©ν•˜μ‹œλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. νŠΉμ΄μ‚¬ν•­μœΌλ‘œ 영ν–₯이 μ—†λŠ” λ²„μ „μž„μ—λ„ λΆˆκ΅¬ν•˜κ³  ν…ŒμŠ€νŠΈν•΄λ³Έ κ²°κ³Ό 영ν–₯을 λ°›λŠ” κ²½μš°κ°€ μ‘΄μž¬ν–ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ 버전 영ν–₯의 유무λ₯Ό λ– λ‚˜ κ΅¬ν˜„ 방법이 κ°„λ‹¨ν•˜λ‹ˆ ν…ŒμŠ€νŠΈλ₯Ό 직접 ν•΄λ³΄μ‹œλŠ” 것을 μΆ”μ²œλ“œλ¦½λ‹ˆλ‹€.

<Issue Collector>
1. μž…λ ₯ κ°’ μ˜ˆμ™Έμ²˜λ¦¬ μž‘μ—…
2. 패치된 버전 μ‚¬μš©(7.10.0 7.9.2 7.7.4 7.8.4 7.6.7)

<HTML Include on Macro>
//HTML include κΈ°λŠ₯ λΉ„ν™œμ„±ν™”
1.Manage apps 이동
2.Drop Downμ—μ„œ System 선택
3.Confluence HTML Macro 검색
4. λͺ©λ‘μ„ ν™•μž₯ ν›„ “html-include(html-include-xhtml)” λͺ¨λ“ˆ λΉ„ν™œμ„±ν™”

//include URL ν™”μ΄νŠΈλ¦¬μŠ€νŠΈ 관리
1.General Configuration의 Whitelist 선택
2. ν—ˆμš©ν•  URL ν‘œν˜„μ‹ μž…λ ₯
3. ν‘œν˜„μ‹ μœ ν˜• 선택(CORS μš”μ²­μ„ ν—ˆμš©ν•΄μ•Ό 될 경우 “Allow Incoming” 선택”
4.Choose Add 선택

'WEB' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Atlassian RCE 취약점  (0) 2021.09.12
Atlassian REST API 취약점  (0) 2021.09.11
phpMyAdmin 취약점 μ•…μš©  (0) 2021.08.23
Subdomain Takeover 취약점  (0) 2021.04.18
HTTP Request Smuggling(HTTP Desync Attack) 취약점  (1) 2021.04.17
κ³΅μœ ν•˜κΈ° 링크
Comment