XSS 곡격 (Cross-site Scripting)
μΉ μμμ κ°μ₯ κΈ°μ΄μ μΈ μ·¨μ½μ 곡격 λ°©λ²μ μΌμ’ μ΄λ€. 곡격μκ° λ€λ₯Έ μ¬μ©μκ° λ³΄λ μΉ νμ΄μ§μ μ μ± μ€ν¬λ¦½νΈλ₯Ό μ½μ ν μ μλ μΌμ’ μ 보μ μ·¨μ½μ μ΄λ€. μ΄λ¬ν μ€ν¬λ¦½νΈλ νΌν΄μμ λΈλΌμ°μ 컨ν μ€νΈμμ μ€νλ μ μμΌλ©° μ μ¬μ μΌλ‘ 곡격μκ° λ―Όκ°ν μ 보λ₯Ό νμΉκ±°λ νμ΄μ§ μ½ν μΈ λ₯Ό μ‘°μνκ±°λ κΈ°ν μ μμ μΈ μμ μ μνν μ μλ€. μλμΉ μμ νλμ μνμν€κ±°λ μΏ ν€μ μΈμ ν ν° λ±μ λ―Όκ°ν μ 보λ₯Ό νμ·¨νκ±°λ νλ μμ΄λ€.
λ°©μ΄νλ λ°©λ²
μ λ ₯ κ²μ¦
ν΄λΌμ΄μΈνΈκ³Ό μλ² μΈ‘ λͺ¨λμκ² μ¬μ©μ μ λ ₯μ κ²μ¦νκ³ μμ νμ¬ μμλκ³ μμ ν λ°μ΄ν°λ§ νμ©λλλ‘ νλ€.
μΆλ ₯ μΈμ½λ©
μ¬μ©μ μμ± μ½ν μΈ λ₯Ό λΈλΌμ°μ μμ λ λλ§νκΈ° μ μ μΈμ½λ©νλ€. μ΄λ κ² νλ©΄ λΈλΌμ°μ κ° μ½ν μΈ λ₯Ό μ€ν κ°λ₯ν μ€ν¬λ¦½νΈλ‘ ν΄μνμ§ λͺ»νκ² λλ€.
μ½ν μΈ λ³΄μ μ μ± (CSP)
μΉ μλ²μ CSP ν€λλ₯Ό ꡬμ±νμ¬ λ‘λν μ μλ 리μμ€λ₯Ό μ μ΄νκ³ XSS 곡격μ μν₯μ μννλ€.
CSRF 곡격 (Cross-site request forgery attack)
CSRFλ 곡격μκ° μ¬μ©μμ λΈλΌμ°μ λ₯Ό μμ¬ μ¬μ©μκ° μΈμ¦λ μΉ μ ν리μΌμ΄μ μ μλνμ§ μμ μμ²μ νλλ‘ νλ 곡격μ΄λ€. μ΄λ‘ μΈν΄ νΌν΄μλ₯Ό λμ νμ¬ μΉμΈλμ§ μμ μμ μ΄ μνλ μ μλ€.
CSRFλ μ¬μ©μ λͺ°λ μκΈμ μ μ‘νκ±°λ μ΄λ©μΌ μ£Όμμ λΉλ°λ²νΈλ₯Ό λ³κ²½νλ λ±μ λ¬΄λ¨ νμμ μ΄μ©λλ©° κ΄λ¦¬μ κ³μ μ΄ CSRF 곡격μ λΉνλ κ²½μ°μλ 곡격μκ° μ 체 μλ² μ κ·Ό κΆνμ νμ·¨ν΄ μΉ μ ν리μΌμ΄μ κ³Ό API λ± μλΉμ€ μ 체λ₯Ό λ§μλλ‘ ν΅μ νκ² λ μνμ΄ μλ€.
μμ
1. 곡격μκ° νΉμ μνμ κ³μ’μμ 곡격μμ κ³μ’λ‘ μ²λ§μμ μ‘κΈνλΌλ μμ²μ μμ‘°νλ€.
2. μμ‘°ν μμ²μ νμ΄νΌλ§ν¬μ μ½μ λμ΄ μ΄λ©μΌλ‘ μ μ‘λκ±°λ μΉμ¬μ΄νΈ μ체μ μ½μ λλ€.
3. μ¬μ©μκ° κ³΅κ²©μκ° μμ±ν μ΄λ©μΌ νμ΄νΌλ§ν¬λ μΉμ¬μ΄νΈ λ§ν¬λ₯Ό ν΄λ¦νλ©΄ μνμ μ²λ§μμ μ‘κΈνλΌλ μμ²μ΄ μ μ‘λλ€.
4. μμ²μ λ°μ μν μλ²λ μ¬μ©μμ μμ²λλ‘ μ‘κΈμ μ§ννλ€.
λ°©μ΄νλ λ°©λ²
μν°-CSRF ν ν° μ¬μ©
μΉ form λλ AJAX μμ²μ κ³ μ ν ν ν°μ ν¬ν¨νλ€. μμ²μ΄ ν©λ²μ μΈμ§ νμΈνκΈ° μν΄ μλ²μμ μ΄λ¬ν ν ν°μ μ ν¨μ±μ κ²μ¬νλ€.
SameSite μΏ ν€
μΏ ν€μ SameSite μμ±μ μ€μ νμ¬ ν¬λ‘μ€ μ¬μ΄νΈ μμ²μμ μΏ ν€κ° μ μ‘λλ κ²μ μ ννμ¬ CSRF 곡격 μνμ μ΅μννλ€.
Referer ν€λ
Referer ν€λλ₯Ό κ²μ¦νμ¬ μμ²μ΄ λμΌν λλ©μΈμμ λ°μνλμ§ νμΈνλ€. Refererμ HTTP ν€λμ μλ μ λ³΄λ‘ ν΄λΉ μμ²μ΄ μμ²λ νμ΄μ§μ μ 보λ₯Ό κ°μ§κ³ μλ€. νμ§λ§ ν΄λΉ μ 보λ νλ‘κ·Έλ¨μΌλ‘ μ‘°μμ΄ κ°λ₯νκΈ° λλ¬Έμ κΆμ₯λμ§ μλλ€.
SQL Injection 곡격
SQL Injection 곡격μ 곡격μκ° μ λ ₯ νλλ 맀κ°λ³μμ μ μ± SQL μ½λλ₯Ό μ£Όμ νμ¬ λ°μ΄ν°λ² μ΄μ€ 쿼리λ₯Ό μ‘°μνλ 곡격μ νμ΄λ€. μ΄λ‘ μΈν΄ λ¬΄λ¨ μ‘μΈμ€, λ°μ΄ν° μ‘°μ λ° μ μ¬μ μΈ λ°μ΄ν° μΉ¨ν΄κ° λ°μν μ μλ€.
λ°©μ΄νλ λ°©λ²
맀κ°λ³μνλ λ¬Έ/μ€λΉλ λ¬Έ μ¬μ©
맀κ°λ³μνλ 쿼리 λλ μ€λΉλ λ¬Έμ μ¬μ©νλ©΄ μ¬μ©μ μ λ ₯μ΄ μ€ν κ°λ₯ν μ½λκ° μλ λ°μ΄ν°λ‘ μ²λ¦¬λμ΄ SQL μ£Όμ μ λ°©μ§ν μ μλ€.
μ λ ₯ κ²μ¦
μ¬μ©μ μ λ ₯μ κ²μ¦νκ³ μμ νμ¬ μμ νμ, κΈΈμ΄ λ° λ¬Έμ μ§ν©μ μ€μνλμ§ νμΈνλ€.
μ΅μ κΆν μμΉ
λ°μ΄ν°λ² μ΄μ€ μ¬μ©μμκ² νμν μ΅μ κΆνμ΄ μλμ§ νμΈνλ€.
곡ν΅μ | μ°¨μ΄μ | λͺ©μ | |||
XSS | μ¬μ©μμ λΈλΌμ°μ λ₯Ό λμμΌλ‘ ν¨ | μΈμ¦λ μΈμ μμ΄λ 곡격 μ§νν μ μμ | μ¬μ©μκ° νΉμ μ¬μ΄νΈλ₯Ό μ λ’°νλ€λ μ¬μ€ μ΄μ© | μ¬μ©μμμ μ€ν¬λ¦½νΈ μ€ν | μ¬μ©μ PCμμ μ€ν¬λ¦½νΈλ₯Ό μ€νν΄ μ¬μ©μμ μ 보 νμ·¨ |
CSRF | μ¬μ©μμ μΈμ¦λ μΈμ μ μ μ© | μΉ μ ν리μΌμ΄μ μ΄ μΈμ¦λ μ¬μ©μμ μμ²μ μ λ’°νλ€λ μ¬μ€ μ΄μ© | μλ²μμ μ€ν¬λ¦½νΈ μ€ν | μμ²μ μμ‘°ν¨μΌλ‘μ¨ μ¬μ©μ λͺ°λ μ‘κΈκ³Ό μ ν ꡬμ λ± νΉμ νμλ₯Ό μννλ κ² |
'π©βπ» CS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ€νΈμν¬] 컀λ₯μ νμμμκ³Ό 리λ νμμμ (0) | 2024.01.25 |
---|---|
[λ€νΈμν¬] νλ‘μ μλ², ν¬μλ νλ‘μ, 리λ²μ€ νλ‘μ (0) | 2024.01.25 |
[λ€νΈμν¬] URI, URL, URNμ μ°¨μ΄ (0) | 2024.01.25 |
REST, RESTful API, REST μ μ½ μ‘°κ±΄ (0) | 2024.01.24 |
[λ€νΈμν¬] SOP, CORS (0) | 2024.01.23 |