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

CHALLENGE

XSS Challenges 12

🌧: 2021. 8. 28.

12λ‹¨κ³„λŠ” λ‹€μ†Œ λ‹€λ₯Έ λͺ¨μŠ΅μ˜ νŽ˜μ΄μ§€λ‘œ ν™•μΈλ©λ‹ˆλ‹€. μ†ŒμŠ€μ½”λ“œλ₯Ό λ¨Όμ € λ³΄λ©΄μ„œ ν•΄κ²°ν•΄λ‚˜κ°€ 보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

이전 λ‹¨κ³„μ—μ„œλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ— μ„ μ–Έλœ λ³€μˆ˜λ₯Ό ν™œμš©ν•΄μ„œ νŒμ—…μ°½μ„ 띄웠더라면 μ΄μ œλŠ” <ifram>의 νƒœκ·Έμ— λΆ€μ—¬λœ μ£Όμ†Œλ₯Ό ν™œμš©ν•˜μ—¬ ν•΄κ²°ν•΄μ•Ό λ˜λŠ” 문제인 것 κ°™μŠ΅λ‹ˆλ‹€. src="" 속성에 λΆ€μ—¬λœ untrusted νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

untrusted.so.co.il νŽ˜μ΄μ§€λŠ” 이전 λ‹¨κ³„μ—μ„œ λ³΄μ—¬μ‘Œλ˜ νŽ˜μ΄μ§€λ“€μ²˜λŸΌ λ‹€μ†Œ μ‹¬ν”Œν•œ 화면을 λ„μš°κ³  μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή νŽ˜μ΄μ§€ μ†ŒμŠ€μ½”λ“œλ₯Ό 확인해 λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

μœ„μ—μ„œλΆ€ν„° ν™•μΈν•΄λ³΄μ‹œλ©΄ λ³€μˆ˜ mμ—λŠ” 'Good Luck!' String λ¬Έμžμ—΄μ΄ μ„ μ–Έλ˜μ–΄ 있으며. php? p=에 μž…λ ₯된 PayloadλŠ” 12번째 μ€„μ˜ a λ³€μˆ˜μ— 'Payload'; ν˜•νƒœλ‘œ μ‚½μž…λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 기본적으둜 " '; "λ₯Ό 졜초 μ„ μ–Έν•˜μ—¬ μž…λ ₯ 값을 λ‹«μ•„μ£Όκ³  μ›ν•˜λŠ” ꡬ문을 λ„£μ–΄μ•Ό λ©λ‹ˆλ‹€.

 

sudo.co.il 메인 νŽ˜μ΄μ§€μ—μ„œλŠ” document.domain을 λ„μš°λΌκ³  λ˜μ–΄ μžˆμ§€λ§Œ μ €λŠ” ν•΄λ‹Ή μ½”λ“œ 내뢀에 μ„ μ–Έλœ Good Luck! 을 좜λ ₯ν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

"Hacking attempt!"κ°€ λ‚˜νƒ€λ‚˜λŠ” κ²ƒμœΌλ‘œ 보아 "alert" λ¬Έμžμ—΄μ„ μ˜ˆμ™Έμ²˜λ¦¬ν•˜κ³  μžˆλŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄μ œλΆ€ν„°λŠ” λ‘œμ§μ„ κΌ¬μ•„λ‘λŠ” 것 이외에 필터링 μ²˜λ¦¬λ„ λ™μ‹œμ— μ§„ν–‰λ˜λ‚˜ λ΄…λ‹ˆλ‹€.

 

e -> \u0065(Unicode)
';al\u0065rt(m);//

alertλ₯Ό κ²€μ¦ν•˜κ³  μžˆλ‹€λ©΄ 1차적으둜 "prompt()" λ˜λŠ” "confirm()"을 μ‹œλ„ν•΄λ³Ό κ°€μΉ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€. λ§Œμ•½ λͺ¨λ“  νŒμ—… ν˜•νƒœμ˜ λ¬Έμžμ—΄μ„ κ²€μ¦ν•˜κ³  μžˆλ‹€λ©΄ 인코딩을 톡해 μ•žλ‹¨μ—μ„œ λ¬Έμžμ—΄ 체크λ₯Ό ν”Όν•΄ 가도둝 ν•΄μ•Ό λ©λ‹ˆλ‹€.

 

alert의 "e" λ¬Έμžμ—΄μ„ UTF-32 ν˜•μ‹μœΌλ‘œ μœ λ‹ˆμ½”λ“œ λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•  경우 졜초 λ¬Έμžμ—΄ 검증 μ‹œ alert 체크 λ‘œμ§μ„ μš°νšŒν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ μ΄μŠ€μΌ€μ΄ν”„ 처리된 λ¬Έμžμ—΄μ„ μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„  "\" λ°± μŠ¬λŸ¬μ‹œκ°€ μš°μ„ μ μœΌλ‘œ μ„ μ–Έλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

 

메인 νŽ˜μ΄μ§€λ‘œ λŒμ•„μ™€ μ½”λ“œλ₯Ό μ‚½μž…ν•΄λ³΄λ©΄ iframe 속성에 λΆ€μ—¬λœ untruseted의 λ‹€μ΄μ–Όλ‘œκ·Έλ₯Ό μ„±κ³΅μ μœΌλ‘œ κ°€μ Έμ˜€κ²Œ λ©λ‹ˆλ‹€. ν•΄λ‹Ή λ¬Έμ œλŠ” 본문의 μ½”λ“œμ— κ³΅λž΅ν•  λ§Œν•œ ν¬μΈνŠΈκ°€ μ—†κ±°λ‚˜ Content-Security-Policy 같은 μ •μ±…μœΌλ‘œ 인해 싀행을 λͺ»ν•˜λ”라도 ν—ˆμš©λœ μ°Έμ‘° νŽ˜μ΄μ§€μ˜ 취약점을 μ•…μš©ν•΄ 슀크립트λ₯Ό μ‹€ν–‰ν•  수 μžˆλ‹€λŠ” 것을 μ•ŒκΈ° μœ„ν•¨μž…λ‹ˆλ‹€.

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

XSS Challenges 14  (0) 2021.08.31
XSS Challenges 13  (0) 2021.08.29
XSS Challenges 11  (0) 2021.08.27
XSS Challenges 10  (0) 2021.08.26
XSS Challenges 9  (0) 2021.08.25
κ³΅μœ ν•˜κΈ° 링크
Comment