2 - 0 - 3. XSS - 2 μ·¨μ½μ λΆμ μ€μ΅
# XSS - 2 μ·¨μ½μ λΆμ μ€μ΅
1. λ¬Έμ νμΈ ν λ¬Έμ νμΌ λ€μ΄λ‘λ
2. μ μ μ 보 νμΈμμ http://host3.dreamhack.games:15556/ νμ΄μ§λ‘ μ μ ν vuln νμ΄μ§λ‘ μ΄λ --> νμ μ°½μ΄ λ¨μ§ μμμ νμΈ
3. μ½λ λΆμ λ° XSS - 1 μ¬λ‘μ λΉκ΅ν΄λ³΄κΈ°
+ xss - 1μ μ¬λ‘μ λΉκ΅νμ¬ μ½λ μμμ νΉλ³ν 보μ΄λ μ΄μμ μμ
+ xss - 1 νμ΄μ§μλ λ¬λ¦¬ xss -2 νμ΄μ§μλ λ°©νλ²½μ΄ νμ±νλμ΄μμ
--> λ°©νλ²½μ μ°ννμ¬ xss μ·¨μ½μ μ λ°μμμΌ νμ μ°½μ΄ λ¨λλ‘ ν΄μΌ ν¨
+ λ°©λ² 1) λ°©νλ²½ μ°νλ₯Ό μν΄ <script> μ½λκ° μλ html νκ·Έ μ¬μ©
--> <svg/onload> νκ·Έ νμ© (μΉμ© 벑ν°κ·Έλν½ svgμ HTML λ¬Έμμ μ§μ μ½μ μ΄ κ°λ₯ν μ±μ§ μ΄μ©)
<svg/onload> | |
svg(=Scalable Vector Graphic) | onload μμ± |
+ λ°©λ² 2) λ°©νλ²½ μ°ν μν΄ <img> νκ·Έ μ¬μ©
<img> νκ·Έ | onerror |
μ΄λ―Έμ§ μ½μ κ²½λ‘λ₯Ό src μ΅μ μ ν΅ν΄ μ§μ νλ νκ·Έ | μ΄μ μ½λ μλ¬ λ°μ μ μ€νλλ©°, λ€μ μ½λλ₯Ό μ€νμν¬ μ μμ |
4. λ€μ flag νμ΄μ§λ‘ μ μ ν λ°©λ² 1μΈ <svg onload=location.href="/memo?memo="+document.cookie'> μ½λλ₯Ό λΉμΉΈμ μ λ ₯
5. good μΆλ ₯ ν λ€μ memo νμ΄μ§λ‘ μ μνμ¬ FLAG νμΈ
6. λ°©λ²2λ₯Ό μλν΄λ³΄κΈ° μν΄ λ€μ flag νμ΄μ§λ‘ μ΄λ ν λΉμΉΈμ <img src=x onerror=javascript:location.href="/memo?memo="+document.cookie> μ λ ₯
7. good μΆλ ₯ ν λ€μ memo νμ΄μ§λ‘ λμμ FLAGμ μ μ μΆλ ₯ μ¬λΆ νμΈ