Reflected XSS : LAB [8]
DATE : 2024/1/15
βReflected XSS into a JavaScript string with angle brackets and double quotes HTML-encoded and single quotes escaped
μ΄λ² LABμμλ μμ λ°μ΄νλ νμΆ! ν° λ°μ΄ν & < > κΈ°νΈλ HTML Entity Encoding μ²λ¦¬λ₯Ό νλ€κ³ νλ€.
μ¦, Reflected XSSλ₯Ό μννκΈ° μν΄ μ¬μ©ν μ μλ λ¬Έμκ° μμ λ°μ΄ν, ν° λ°μ΄ν, < > κΈ°νΈλΌλ κ².
μ΄μ λ¬Έμ λ μμ λ°μ΄νλ§ μ νλμκΈ° λλ¬Έμ λκ° λμ΄λκ° λμμ§ λλμ΄μ§λ§ μ¬μ€μ 그리 μ΄λ ΅μ§ μλ€.
κ²μ κΈ°λ₯μ΄ μ΄λ€ μμΌλ‘ ꡬνλμ΄ μλ μ§ λ³΄κΈ° μν΄ κ²μ λ°μ μ무거λ μ λ ₯ν λ€ packetμ νμΈν΄λ³΄μ.
response packetμ 보면 μ½λλ μ΄μ λ¬Έμ μ λμΌνλ€. νμ§λ§!
μμ λ°μ΄ν μμλ μ μ¬λμ¬κ° λΆκ³ , < > κΈ°νΈ & ν° λ°μ΄νλ HTML entity μ²λ¦¬λκ³ μλ€.. π
angle brackets κΈ°νΈλ₯Ό μ¬μ©ν μ μλ μν©μ΄κΈ° λλ¬Έμ νκ·Έλ₯Ό λ§λ€ μ μλ€λ μ νμ κ³ λ €ν΄λ³΄λ©΄
μ΄λ² λ¬Έμ λ μ΄λ―Έ μμ±λμ΄ μλ <script> tagλ₯Ό νμ©ν΄ μ€ν¬λ¦½νΈλ§ μ½μ νλ ννλ‘ κ³΅κ²©μ ν μ μλ€.
λ¬Έμ λ μ¬μ©μκ° μ λ ₯ν κ°μ΄ μμ λ°μ΄νλ‘ κ°μΈμ§κΈ° λλ¬Έμ μ΄λ₯Ό λΉ μ Έλμ¬ νμκ° μλλ°
νμ¬ LABμμλ μμ λ°μ΄νκ° escape λκ³ μλ€λ μ¬μ€!
"escape λλ€" λΌλ 건 μμ λ°μ΄ν μμ μ μ¬λμ¬κ° λΆκ² λλ€λ 건λ°
μ€νλ € μ΄ λΆλΆμ μ μ΄μ©ν μ μμ§ μμκΉ??
μ¬μ©μ μ λ ₯ κ°μ μμ λ°μ΄νκ° λ€μ΄ μλ€λ©΄ μ΄λ₯Ό λ°κ²¬νλ μκ°, μμ λ°μ΄ν μμ \ κΈ°νΈκ° λΆκ² λλ€.
κ·Όλ° λ§μ½ μ μ¬λμ¬λ₯Ό νλ λΆμΈ μνλ‘ μ λ ₯νκ² λλ©΄
μμ λ°μ΄ν μμ \ κΈ°νΈκ° λ κ°κ° λλ©΄μ μμ λ°μ΄νλ₯Ό λ¬Έμμ΄λ‘ νμΆ μν€κΈ° μν κΈ°λ₯μ μκ² λλ€.
μ¦ \\ λΌλ λ¬Έμμ΄μ΄ λ§λ€μ΄μ§λ κ²μ΄λ€.
μ΄λ λΉΌκΈ° μ°μ°μμΈ - κΈ°νΈλ₯Ό μ¬μ©νκ² λλ©΄ μ λ€ μ½λλ₯Ό λΆλ¦¬νλ ν¨κ³Όλ₯Ό μ»μ μ μκ² λκ³
λ¬Έμμ΄ '\\'κ³Ό λΆλ¦¬λ alert(1)μ΄ <script> tag μμ λ§λ€μ΄μ§κΈ° λλ¬Έμ
λ€μ λ¨μ μμ λ°μ΄νλ₯Ό μ§μ°κΈ° μν΄ μ£Όμλ§ λ μΆκ°ν΄μ€λ€λ©΄
μ±κ³΅μ μΌλ‘ νμ μ°½μ λμΈ μ μκ² λλ€. π
Last updated