XSS-Game Level 5

μ„€λͺ…(λ²ˆμ—­) ꡐ차 μ‚¬μ΄νŠΈ μŠ€ν¬λ¦½νŒ…μ€ 데이터λ₯Ό μ˜¬λ°”λ₯΄κ²Œ μ΄μŠ€μΌ€μ΄ν”„ ν•˜λŠ”κ²ƒλ§Œ 이 μ•„λ‹™λ‹ˆλ‹€.λ•Œλ•Œλ‘œ κ³΅κ²©μžλŠ” μƒˆλ‘œμš΄ μš”μ†Œλ₯Ό DOM에 μ‚½μž…ν•˜μ§€ μ•Šκ³ λ„ μ•…μ˜μ μΈ ν–‰μœ„λ₯Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μž„λ¬΄λͺ©ν‘œ: alert() μ‘μš© ν”„λ‘œκ·Έλž¨ μ»¨ν…μŠ€νŠΈμ—μ„œ νŒμ—… 슀크립트λ₯Ό μ‚½μž…ν•˜μ‹­μ‹œμ˜€ 마치 google 엔진과 μœ μ‚¬ν•œ κ°€μž… νŽ˜μ΄μ§€κ°€ ν™•μΈλ©λ‹ˆλ‹€. URLμ΄λ‚˜ email μž…λ ₯ 폼에 script ꡬ문을 μ‚½μž…ν•΄λ„ μ•„λ¬΄λŸ° λ°˜μ‘μ΄ 보이지 μ•ŠμŠ΅λ‹ˆλ‹€. .. .. .. .. μ†ŒμŠ€μ—μ„œ λ­”κ°€ μ •λ‹΅μ΄λ‚˜ 올 것 같은 μ˜μ—­μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. confirm.html μ†ŒμŠ€ μ•ˆμ— κΈ°λŠ₯적으둜 μ‚¬μš©λ˜λŠ” ν•¨μˆ˜κ°€ λ³΄μž…λ‹ˆλ‹€. ν•΄λ‹Ή μ˜μ—­μ΄ μ–΄λ–€ 상관관계가 μžˆλŠ”μ§€ νŒŒμ•…ν•˜κΈ° μœ„ν•΄ timeout / location / next 등을 νŒŒμ•…ν•΄λ΄μ•Ό ν•©λ‹ˆλ‹€. .. .. Next >> .. ....

CHALLENGE
XSS-Game Level 4

μ„€λͺ…(λ²ˆμ—­) μ‚¬μš©μžκ°€ 제곡 ν•œ λͺ¨λ“  λ°μ΄ν„°λŠ” 데이터가 ν‘œμ‹œλ  νŽ˜μ΄μ§€μ˜ μ»¨ν…μŠ€νŠΈμ— 맞게 μ˜¬λ°”λ₯΄κ²Œ μ΄μŠ€μΌ€μ΄ν”„ λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.이 μˆ˜μ€€μ€ 이유λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€. μž„λ¬΄λͺ©ν‘œ : 슀크립트λ₯Ό μ‚½μž… alert() ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ JavaScriptλ₯Ό νŒμ—… ν•©λ‹ˆλ‹€. Create timerλΌλŠ” 폼에 ν•΄λ‹Ή 숫자λ₯Ό μž…λ ₯ν•˜μ—¬ 타이머("초"λ‹¨μœ„) μ‹œκ°„ μ§€λ‚œ ν›„ λ‹€μ‹œ λ¦¬λ‹€μ΄λ ‰μ…˜ ν•΄μ£ΌλŠ” νŽ˜μ΄μ§€λ‘œ ν™•μΈλ©λ‹ˆλ‹€. URLμ΄λ‚˜ Create timer 폼에 μ•…μ˜μ μΈ 슀크립트 문을 μ‚½μž…ν•΄λ„ 싀행이 λ˜μ§€ μ•Šκ³  μžˆμŠ΅λ‹ˆλ‹€. .. .. .. .. 타이머 폼을 μž…λ ₯해보면 timer λΌλŠ” λ§€κ°œλ³€μˆ˜κ°€ μ‚¬μš©λ˜κ³  μžˆλŠ” 것을 확인 .. .. .. .. μ†ŒμŠ€λ₯Ό 확인해보면 onload 속성에 μ •μ˜ν•΄λ‘” startTimer ν•¨μˆ˜κ°€ 호좜되고 timer 인자 값이 λ“€μ–΄κ°€ ..

CHALLENGE
XSS-Game Level 3

μ„€λͺ…(λ²ˆμ—­) 이전 μˆ˜μ€€μ—μ„œ λ³΄μ•˜ 듯이 일반적인 JS ν•¨μˆ˜ 쀑 μΌλΆ€λŠ” μ‹€ν–‰ μ‹±ν¬λ‘œ λΈŒλΌμš°μ €κ°€ μž…λ ₯에 λ‚˜νƒ€λ‚˜λŠ” λͺ¨λ“  슀크립트λ₯Ό μ‹€ν–‰ν•˜λ„λ‘ ν•©λ‹ˆλ‹€. 사싀은 λ‚΄λΆ€μ μœΌλ‘œ μ΄λŸ¬ν•œ κΈ°λŠ₯ 쀑 ν•˜λ‚˜λ₯Ό μ‚¬μš©ν•˜λŠ” μƒμœ„ μˆ˜μ€€ API에 μ˜ν•΄ μˆ¨κ²¨μ§‘λ‹ˆλ‹€. 이 μˆ˜μ€€μ˜ μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ΄λŸ¬ν•œ μˆ¨κ²¨μ§„ 싱크λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μž„λ¬΄ λͺ©ν‘œ : 이전과 λ§ˆμ°¬κ°€μ§€λ‘œ 슀크립트λ₯Ό μ‚½μž… alert() ν•˜μ—¬ μ•±μ—μ„œ JavaScriptλ₯Ό νŒμ—… ν•©λ‹ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ–΄λŠ 곳에도 νŽ˜μ΄λ‘œλ“œλ₯Ό μž…λ ₯ν•  수 μ—†μœΌλ―€λ‘œ μ•„λž˜ URL ν‘œμ‹œ μ€„μ—μ„œ μ£Όμ†Œλ₯Ό μˆ˜λ™μœΌλ‘œ μˆ˜μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€. ν•΄λ‹Ή νŽ˜μ΄μ§€λŠ” 별닀λ₯Έ μ»¨ν…μΈ λ‚˜ 이벀트적인 μš”μ†Œκ°€ 보이지 μ•ŠλŠ” 정적인 νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ νŽ˜μ΄μ§€μ˜ 경우 " Reflected " 같은 λ°˜μ‚¬ν˜• 곡격을 μ‹œλ„ν•΄μ•Ό ν•©λ‹ˆλ‹€. 보톡 이럴경우 상단 ..

CHALLENGE
XSS-Game Level 1

μ„€λͺ…(λ²ˆμ—­) XSS ( ꡐ차 μ‚¬μ΄νŠΈ μŠ€ν¬λ¦½νŒ… ) λ²„κ·ΈλŠ” μ›Ή μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ κ°€μž₯ 일반적이고 μœ„ν—˜ν•œ μœ ν˜•μ˜ 취약점 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ„±κ°€μ‹  λ²„κ±°λŠ” 적이 μ•±μ—μ„œ μ‚¬μš©μž 데이터λ₯Ό ν›”μΉ˜κ±°λ‚˜ μˆ˜μ •ν•  수 μžˆλ„λ‘ ν—ˆμš©ν•  수 있으며, μ΄λŸ¬ν•œ μ•…μ˜μ μΈ 슀크립트λ₯Ό λ³΄λ‚΄λŠ” 법을 λ°°μ›Œμ•Ό ν•©λ‹ˆλ‹€ Googleμ—μ„œλŠ” μ΄λŸ¬ν•œ 버그가 μ–Όλ§ˆλ‚˜ μ€‘μš”ν•œμ§€ 잘 μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€. μ‹€μ œλ‘œ Google은 XSS 문제λ₯Ό μ°Ύκ³  μˆ˜μ •ν•˜λŠ” 데 맀우 진지 ν•˜μ—¬ κ°€μž₯ λ―Όκ°ν•œ μ œν’ˆμ—μ„œ 발견된 μœ„ν—˜ν•œ XSS 버그에 λŒ€ν•΄ μ΅œλŒ€ 7,500 λ‹¬λŸ¬λ₯Ό μš©λ³‘μ—κ²Œ μ§€λΆˆν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή κ²Œμž„μ„ 톡해 XSS 버그λ₯Ό μ°Ύκ³  ν™œμš©ν•˜λŠ” 방법을 λ°°μ›λ‹ˆλ‹€. 이 지식을 μ‚¬μš©ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ΄λŸ¬ν•œ 버그가 λ°œμƒν•˜λŠ” 것을 λ°©μ§€ν•˜μ—¬ 적을 ν˜Όλž€μŠ€λŸ½κ²Œ ν•˜κ³  λΆ„λ…Έν•˜κ²Œ ν•  κ²ƒμž…λ‹ˆλ‹€. μ‹œν—˜..

CHALLENGE