Presentation is loading. Please wait.

Presentation is loading. Please wait.

SQL INJECTION MADE BY 김 현중.

Similar presentations


Presentation on theme: "SQL INJECTION MADE BY 김 현중."— Presentation transcript:

1 SQL INJECTION MADE BY 김 현중

2 SQL Injection이란? SQL 삽입(영어: SQL Injection, SQL 인젝션, SQL 주입)은 응용프로그램 보안 상의 허점을 의도적으로 이용해, 개발자가 생각지 못한 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 공격 방법 웹 페이지를 통해 입력된 파리미터 값을 이용하여 쿼리를 (재)구성하는 방법 구문 분석, 실행을 위해 나중에 SQL Server의 인스턴스에 전달될 문자열에 악의적인 코드가 삽입되는 공격방법 테이블에 저장할 문자열 또는 meta-data로서 악의적인 코드를 삽입

3 SQL Injection이란?

4 SQL Injection 공격 DB 저장 내용(ex 인터넷 쇼핑) 사용자 ID, 비밀번호와 같은 개인정보
상품에 대한 가격과 설명 정보 주문서, 계좌 정보, 지불 비용에 대한 정보 애플리케이션에 가입된 사용자 권한 정보

5 SQL INJECTION Web 인증 절차 ID / Password 입력 SQL Query 생성
Database에 Query 전송 Database에서 Query 실행 반환되는 Return 값에 따라 인증 여부 판단

6 SQL INJECTION Web 인증 절차 4. Database에서 Query 실행
4번 과정에서 True/False만 확인하고 데이터 자체의 사실성을 확인하지 않고 조건만 확인하는 과정에서 SQL Injection이 가능.

7 SQL INJECTION SQL 동작 원리를 이용한 인증 우회
다음과 같이 ID와 PASS 입력 시에 참, 거짓을 맞추어 논리적인 연상에 의해 참값을 반환하게 하면 로그인이 된다.

8 SQL INJECTION SQL 동작 원리를 이용한 인증 우회
Select id, pwd FROM users where id = ‘admin’;-- and pwd = ‘1’ SQL 동작 원리를 이용한 인증 우회 다음과 같이 ID와 PASS 입력 시에 admin 뒤 ‘--’이 주석문을 처리 할 때 사용하는 연산자이기 때문에 패스워드 부분은 주석처리가 된다.

9 SQL INJECTION 실습 실습 사이트 로그인 화면

10 SQL INJECTION 실습 다음과 같은 에러 메시지가 출력되는 것을 확인할 수 있음.

11 SQL INJECTION 실습 인증 우회 방법을 통해 로그인 시도 ID : ‘or ‘1’=‘1 PASS : ‘or ‘1’=‘1
예상 입력 쿼리 Userid = ‘’or ‘1’=‘1’ and userpw = ‘’or ‘1’=‘1’;

12 Blind SQL Injection이란? SQL Injection과 같이 원하는 데이터를 가져올 쿼리를 삽입하는 기술
데이터베이스 메시지가 공격자에 보이지 않을 때 사용 평범한 SQL Injection과 다른점은 일반 SQL Injection은 쿼리를 삽입하여 원하는 데이터를 한번에 얻어내는 방면에 Blind SQL Injection은 참과 거짓, 쿼리가 참 일 때와 거짓을 때 서버의 반응을 보고 데이터를 얻어내는 기술이다.

13 Thank You


Download ppt "SQL INJECTION MADE BY 김 현중."

Similar presentations


Ads by Google