Updated:

less than 1 minute read

개요

  • 코드 인젝션의 한 기법
  • 클라이언트의 입력 값을 조작하여 서버의 데이터베이스를 공격


공격 방법

  • 서버 SQL이 다음과 같을 경우
    • SELECT user FROM user_table WHERE id='아이디' AND password='패스워드';
  • 패스워드에 ' OR '1' = '1을 입력하면 WHERE문이 항상 참(... password=' ' OR '1' = '1';)이되어 로그인 성공
  • 로그인뿐만 아니라 JOIN이나 UNION 같은 쿼리 사용 가능


방어 방법

  • prepared statement
  • escape 함수