Computer/CS

SQL Injection

에린_1 2024. 7. 8. 23:23
728x90

SQL Injection

  • 해커에 의해 조작된 SQL 쿼리문이 데이터베이스에 그대로 전달되어 비정상적 명령을 실행시키는 공격 기법이다.

공격 방법

  1. 인증 우회
  2. 데이터 노출

방어 방법

  1. input 값을 받을 때, 특수문자 여부 검사하기
    • 로그인 전, 검증 로직을 추가하여 미리 설정한 특수 문자들이 들어왔을 때 요청을 막아낸다.
  2. SQL 서버 오류 발생 시, 해당하는 에러 메시지 감추기
    • view를 활용하여 원본 데이터베이스 테이블에는 접근 권한을 높인다. 일반 사용자는 view로만 접근하여 에러를 볼 수 없도록 만든다.
  3. 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