queryκ°μ ν΅ν΄ λ°μμ€λ λ°μ΄ν°λ₯Ό νμ©νμ¬ sql queryλ‘ λ§λ€μ΄ dbμ λͺ λ Ήμ λ΄λ¦¬λ php μ½λμ΄λ€.
PHP λΆμ
μ€μνκ² νμΈν΄μΌ ν λΆλΆμ νν°λ§λλ λΆλΆμΈλ°,
5,6λ²μ§Έ μ€μ νμΈνλ©΄ 'preg_match'λΌλ ν¨μκ° νμ©λμ΄μλ κ²μ λ³Ό μ μλ€.
preg_match ν¨μλ μ κ·μ νν, κ²μ λμ λ¬Έμμ΄, μΌμΉλ°°μ΄ λ°νλ³μ(μ ν) λ±μ μ λ ₯νλ©΄ μ λ ₯λ μ κ·μμ μΌμΉνλ ν¨μλ₯Ό μ°Ύμλ΄λ λ΄μ₯ν¨μλ€.
μ κ·μ λΆμ
λ€μ λμμ μ½λμ μ¬μ©λ preg_match ν¨μμ μ κ·μμ λ€μκ³Ό κ°λ€:
/prob|_|\.|\(\)/i
2κ°μ '/' μ¬μ΄μ νμΈνκ³ μ νλ κ°λ€μ '|'λ‘ κ΅¬λΆνμ¬ μμ±νλ©΄ ν΄λΉ κ°μ΄ νν°λ§λλ€. λ§μ§λ§ '/' λ€μ iμ κ²½μ° λ¬΄μνλ€λ μ΅μ μ μ€ κ²μ΄λ€. λ°λΌμ ν΄μμ νμλ©΄ μλμ κ°κ² μ 리λλ€:
"'prob'. '_', '.', '()'λ¬Έμμ΄λ€μ 무μνλ€"
λ°λΌμ μμ κ°λ€μ μ¬μ©νμ§ μλ 쿼리문μ idλ pw νλλ₯Ό μ¬μ©νμ¬ μ μ‘νλ©΄ SQL Injection μ·¨μ½μ μ΄ λ°κ²¬λ μ μμ κ²μ΄λ€.
Injection
λ°λΌμ μ²μ μλν Injection Codeλ λ€μκ³Ό κ°λ€:
' OR LENGTH(id)!=0 #
'μ μ¬μ©ν΄μ μμ 쿼리문 λ¬Έμμ΄μμ μ΄λ €μλ λ¬Έμμ΄κΈ°νΈ(?)λ₯Ό λ«μμ£Όκ³ OR μ΅μ μ μ¬μ©ν΄ ORκΈ°μ€ μμ΄λ λ· λ΄μ© λμ€ νλλ§ μΌμΉν΄λ μΏΌλ¦¬λ¬Έμ΄ λͺ¨λ κ°μ λ±μ΄λΌ μ μλλ‘ λ§λ€μλ€.
OR λ€μλ idκ° λΉμ΄μμ§ μμ μ΄μ 무쑰건 trueμΌ μ μλλ‘ λ¬Έμμ΄μ κΈΈμ΄κ° 0μ΄ μλ λͺ¨λ κ°μ μ ννλλ‘ νλ μ½λλ₯Ό μμ±νμλ€.
μ΄ν λ·λ΄μ©μ #μ μ¬μ©ν΄ μ£Όμμ²λ¦¬νμ¬ λ¬΄μνλλ‘ λ§λ€μλ€. λ°λΌμ pwμ λ΄μ©μ μ΄λ€ κ°μ΄ λ€μ΄κ°λλΌλ 무μλλ€.
μ΄ν νμΈν λͺ¨λ² Injection Codeλ λ€μκ³Ό κ°λ€:
' OR 1=1 #
λΉμ΄μλ€κ³ νλλΌλ λͺ¨λ κ°μ νμν μ μλλ‘ νκΈ° μν΄ 1=1μ μ λ ₯νμ¬ νμ trueκ° λμ€λλ‘ μ€μ λμ΄μλ€.
λ λ°©λ² λͺ¨λ url query parameterλ₯Ό ν΅ν΄ μμ²νλ©΄ λ€μκ³Ό κ°μ μλ΅μ λ±μ΄λΈλ€:
How to Defence
μκ°ν΄λ³Έ λ°©λ²λ€μ λ€μκ³Ό κ°λ€:
1. %μ΄λ #κ°μΌλ‘ κ°μ΄ λ€μ΄μ€λ©΄ μμ² μ체λ₯Ό μ·¨μ
SQL Injectionμ λλΆλΆ query λ³μ‘°λ₯Ό ν΅ν΄ λ€μ΄μ€κΈ° λλ¬Έμ, queryμ νΉμλ¬Έμλ₯Ό μ λ ₯νκΈ°μν΄ λ°λμ νμν %λ¬Έμλ₯Ό μ μ΄μ λ§λλ€. λν 쿼리문 μ£Όμμ μ λνλ #λ¬Έμ λν κΈμ§μμΌ μλν μ½λμ μ€νμ€λ¨μ λ°©μ§νλ€. λ€λ§ μ΄ λ°©λ²μ μν΄μλ λΉλ°λ²νΈλ μμ΄λμ %λ¬Έμμ #λ¬Έμ μ λ ₯μ κΈμ§μμΌμΌ νλ€.
2. λͺ¨λ νΉμλ¬Έμ μμ μμ¬λ μ ('\') λΆμ΄κΈ°
μμ¬λ μλ₯Ό νΉμλ¬Έμ μμ λΆμ΄κ² λλ©΄ ν΄λΉ κ°μ΄ κ°μ§λ νΉλ³ν μλ―Έκ° μλ λ¬Έμ μ체μ μλ―Έλ‘ μ»΄ν¨ν°κ° ν΄μνλ κ²μ΄ κ°λ₯νλ€. λ°λΌμ λͺ¨λ νΉμλ¬Έμ μμ μμ¬λ μλ₯Ό λΆμ΄λ©΄ μλ³μ‘°λ₯Ό λ§μ μ μμ κ²μ΄λΌ μκ°νλ€.
'π 보μ,μ λ³΄λ³΄νΈ > π [STUDY] μ·¨μ½μ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ SQL Injection ] webhacking.kr - 21 (0) | 2021.09.20 |
---|---|
[ SQL Injection ] Goblin (0) | 2021.09.13 |
[ SQL Injection ] Cobolt (0) | 2021.09.13 |