[인터넷보안] 10주차 SQL 삽입 공격

행복한 콩🌳·2022년 5월 15일
0

인터넷 보안

목록 보기
11/12

1차시 SQL 삽입 공격의 개요

데이터베이스
연관된 데이터의 집합이며, 조직에서 여러 사람이 공유하여 사용하기 위해 기억 장치에 저장된 통합하여 운영중인 데이터의 집합
프랙(Phrack)
1984년 부터 발간된 저명한 해커 잡지
SQL
구조화된 질의 언어로 데이터베이스를 조작하고 관리하기 위한 언어
DBMS
데이터베이스를 일관성있게 운영하고 관리하기 위한 시스템
SQLite
소규모 데이터베이스 관리시스템

배경지식

  • 1998.12. phrack issue 54에 RFP라는 팀에 의해 'NT Web Technology Vulnerabilities' 발표 : SQL 변조 가능성 제시하였다.
  • SQL 삽입 공격으로 많은 피해를 입었다.
    SQL
    SQL(Structured Query Language, 구조화 질의어) 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터 관리위해 설계 프로그래밍 언어
    SQL의 언어 구성
  • 데이터 조작 언어(Data Manipulation Language; DML): SELECT, UPDATE, DELETE, INSERT
  • 데이터 정의 언어(Data Definition Language; DDL): CREATE, ALTER, DROP
  • 데이터 제어 언어(Data Control Language; DCL):GRANT, REVOKE

2차시 SQL 삽입 공격 실습1

도스창(콘솔창)
운영체제가 윈도우즈 운영체제가 아닌 도스때와 같이 화면상에 모든 명령을 문자로 입력해서 실행해야 할 필요가 있으며, 이를 지원하는 창을 콘솔창이라 하고 윈도우키+R을 입력하면 실행창이 뜨는데 여기서 'cmd'라 입력하면 사용할 수 있음
테이블
데이터베이스의 종류 중 관계데이터베이스가 가장 많이 사용하고 있으며, 이 관계 데이터베이스에서 데이터를 저장하는 가장 기본이 되는 것이 테이블임
인터프리터
대화식 번역 방식으로 한줄씩 처리해가는 언어 번역 프로그램

SQL 삽입 공격

  • 웹 어플리케이션과 데이터베이스 간의 연동 부분에 공격자가 임의의 SQL 명령어 삽입
  • 연동 부분 : 로그인 부분, 검색 부분, 자료실, 우편번호 검색 등 사용자의 입력이 요구되는 부분이다.

3차시 SQL 삽입 공격

MSSQL
마이크로소프트사에 개발된 DBMS(데이터베이스 관리 시스템)이다. MSSQL Server라고도 함
컬럼
테이블(릴레이션:Relation)에서 열과 같은 것으로 속성(Attribute)라고도 함
레지스트리
윈도우즈 운영체제의 시스템 구성 정보를 저장한 데이터베이스
저장 프로시저
일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이며, 영구저장모듈(Persistent Storage Module)이라고도 불림

DBMS의 특성에 따른 SQL 삽입 공격

  • MSSQL Server에 대한 SQL 삽입
    : 주요 테이블 정보 및 SP 확인
    : 윈도우 명령 실행
    : 레지스트리 키 열람

  • Oracle에 대한 SQL 삽입
    : 주요 정보 가져오기

  • XPath 삽입공격
    : XPath 노드 구조 확인 및 실습

profile
매일매일 조금씩 모여 숲이 되자🐣

0개의 댓글