728x90
SQL Injection
- 해커에 의해 조작된 SQL 쿼리문이 데이터베이스에 그대로 전달되어 비정상적 명령을 실행시키는 공격 기법이다.
공격 방법
- 인증 우회
- 데이터 노출
방어 방법
- input 값을 받을 때, 특수문자 여부 검사하기
- 로그인 전, 검증 로직을 추가하여 미리 설정한 특수 문자들이 들어왔을 때 요청을 막아낸다.
- SQL 서버 오류 발생 시, 해당하는 에러 메시지 감추기
- view를 활용하여 원본 데이터베이스 테이블에는 접근 권한을 높인다. 일반 사용자는 view로만 접근하여 에러를 볼 수 없도록 만든다.
- preparestatement 사용하기
- preparestatement를 사용하면, 특수문자를 자동으로 escaping 해준다. 이를 활용해 서버 측에서 필터링 과정을 통해서 공격을 방어한다.
728x90
'Computer > CS' 카테고리의 다른 글
Database - Anomaly (0) | 2024.07.09 |
---|---|
SQL과 NOSQL의 차이 (0) | 2024.07.09 |
Database - Join (0) | 2024.07.08 |
Database - Key (0) | 2024.07.08 |
IPC(Inter Process Communication) (1) | 2024.07.03 |