[security] SQL injection
Updated:
개요
- 코드 인젝션의 한 기법
- 클라이언트의 입력 값을 조작하여 서버의 데이터베이스를 공격
공격 방법
- 서버 SQL이 다음과 같을 경우
SELECT user FROM user_table WHERE id='아이디' AND password='패스워드';
- 패스워드에
' OR '1' = '1
을 입력하면 WHERE문이 항상 참(... password=' ' OR '1' = '1';
)이되어 로그인 성공 - 로그인뿐만 아니라 JOIN이나 UNION 같은 쿼리 사용 가능
방어 방법
- prepared statement
- escape 함수