Reflected XSS : LAB [2]
DATE : 2023/1/3
βReflected XSS into attribute with angle brackets HTML-encoded
μ΄λ² LABλ μμ νμ΄λ³Έ Reflected XSS : LAB [1]κ³Ό λ§μ°¬κ°μ§λ‘ Reflected XSSμ κ΄ν λ¬Έμ μ΄λ€.
νμ΄μ§ μ€μμ μμΉν κ²μ κΈ°λ₯μ νμ©ν΄ νμ μ°½μ λμ°λ©΄ λλ€.
μ€ν¬λ¦½νΈλ₯Ό μ½μ νκΈ° μ , νμ΄μ§κ° μ΄λ»κ² λμνλ μ§ νμ νκΈ° μν΄ κ°λ¨ν ν€μλλ₯Ό κ²μν΄λ΄€λ€.
μ¬μ©μκ° "hello"λ₯Ό μ λ ₯νλ κ²½μ° κ²μ λ° μλ¨μ
문ꡬλ₯Ό μΆλ ₯ν΄μ£Όλ κ±Έ λ³Ό μ μλ€.
μ΄λ Packetμ νμΈν΄λ³΄λ©΄ μ΄μ LABκ³Ό λ¬λΌμ§ μ μ λμΉμ± μ μμ κ²μ΄λ€. π
μλλ μ¬μ©μκ° μ λ ₯νλ κ²μ λ΄μ©μ΄ κ²μ λ° valueλ‘ λ€μ΄κ° μλ κ±Έ λ³Ό μ μλ€.
κ·Έλμ μ¬μ©μκ° κ²μμ ν λ€μλ κ²μ λ°μ μ λ ₯ν κ°μ΄ λ¨μμλ κ².
μ΄λ² λ¬Έμ λ μ΄ λΆλΆμ μ΄μ©ν΄ νμ μ°½μ λμΈ κ²μ΄λ€.
λ¬Έμ μ€λͺ μ μ½μ΄λ³΄λ©΄ μκ² μ§λ§ μ΄λ² λ¬Έμ λ angle Bracket, μ¦ νκ·Έλ₯Ό μ΄κ³ λ«λ κΈ°νΈ < > κ°
λ체 λ¬Έμλ‘ μΉνλκΈ° λλ¬Έμ μ§μ <script> tagλ₯Ό μ½μ ν μ μλ€.
κ·Έλ κΈ° λλ¬Έμ μ¬μ©μκ° μ λ ₯ν κ°μ μ¬μ©νλ μμΉμ
μ μ ν μ€ν¬λ¦½νΈλ₯Ό λ£μ΄ νμ μ°½μ λμ°λ μ λ΅μ μ νν κ²!
νμ¬ μ¬μ©μκ° μ λ ₯ν κ°μ value μμ±μΌλ‘ λ€μ΄κ°λ©΄μ λ°μ΄νμ λλ¬ μμ΄κ² λλ€.
λ°λΌμ λ°μ΄νλ₯Ό λ§κ°νμ§ μκ³ μ€ν¬λ¦½νΈλ₯Ό κ·Έλλ‘ μμ±νλ©΄ λ¬Έμμ΄μ΄ λμ΄λ²λ¦¬λ μ¬νκ° λ°μνλ€.
μ΄λ₯Ό λ°©μ§νκΈ° μν΄ λ°μ΄νλ‘ μ§μ λ§μΆ° μ£Όκ³ HTML tagμμ μ μ©ν μ μλ μμ±μ
μ€ν¬λ¦½νΈλ₯Ό μμ±ν΄μ€ κ²μ΄λ€.
value λΉμΉΈμ search parameter κ°μ΄ λ€μ΄κ°κ² λλ©΄μ κ²°κ³Όμ μΌλ‘ λ§λ€μ΄μ§λ μλ΅ νμ΄μ§μλ
input tagλ₯Ό ν΄λ¦νλ©΄ νμ μ°½μ΄ λ¨λ μ€ν¬λ¦½νΈκ° μ μ©λλ€.
(onclick λ§κ³ λ onmouseover λ± λ€λ₯Έ μ΄λ²€νΈ μμ±μ μ¬μ©ν μλ μλ€.)
LAB νλ©΄μΌλ‘ λ€μ λμμ μ€ν¬λ¦½νΈλ₯Ό μ½μ ν΄λ³΄μ.
μ½μ ν μ€ν¬λ¦½νΈκ° λ°λ‘ μλ΅ νμ΄μ§μ μ νμ Έ μλ κ±Έ 보면 Reflected XSSμμ νμ ν μ μμ κ²μ΄λ€.
μ€ν¬λ¦½νΈλ₯Ό μ½μ ν ν μ¬μ©μκ° κ²μ λ°λ₯Ό ν΄λ¦νκ² λλ©΄ <input> tagμ μ μ΄λ μ€ν¬λ¦½νΈκ° μ€νλμ΄
νμ μ°½μ΄ λ¨λ κ±Έ λ³Ό μ μμ κ²μ΄λ€.
보ν΅μ "μ€ν¬λ¦½νΈ μ½μ νλ€"κ³ νλ©΄ <script> tagλ₯Ό λ μ¬λ¦¬λ€ 보λ
κ·Έ μΈμλ μ€ν¬λ¦½νΈλ₯Ό μ½μ ν μ μλ λ€μν μν©μ΄ μμμ 보μ¬μ£Όλ μ’μ μμμλ€.
βλ¬Έμ μμλ onmouseover μμ±μΌλ‘ νμ μ°½μ λμμΌ solved μ²λ¦¬ν΄μ€λ€.
Last updated