Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 알고리즘
- 비박스
- 순서도
- 네트워크보안
- 시스템해킹
- ftz
- 웹해킹
- bee-box
- dreamhack
- Webhaking
- 웹
- WarGame
- XSS
- 시스템
- 소프트웨어
- System
- 드림핵
- TCP
- 모의해킹
- 해킹
- hacking
- CodeEngn
- network
- 네트워크
- webhacking
- 리버싱
- Web
- 워게임
- reversing
- 소프트웨어보안
Archives
- Today
- Total
Without a Break
[Dreamhack] SQL Injection 본문
Background: Relational DBMS
- 데이터베이스(Database) : 컴퓨터가 정보를 기록하기 위해 사용
- DBMS(DataBase Management System) : 데이터베이스를 관리하는 애플리케이션
DBMS
- 데이터베이스에 새로운 정볼르 기록하거나, 기록된 내용을 수정, 삭제하는 역할
- 다수의 사람이 동시에 데이터베이스에 접근 가능
- 복잡한 요구사항(ex. 웹 서비스의 검색 기능)을 만족하는 데이터를 조회 가능
- 관계형 데이터베이스와 비관계형 데이터베이스가 있음
종류 | 특징 |
Relational (관계형) | 행과 열의 집합인 테이블 형식으로 데이터를 저장 ex)MySQL, MariaDB, PostgreSQL, SQLite |
Non-Relational (비관계형) | 키-값(Key-Value) 형태로 값을 저장 ex)MongoDB, CouchDB, Redis |
Relational DBMS
- 행과 열의 집합으로 구성된 테이블의 묶음 형식으로 데이터를 관리하고, 테이블 형식의 데이털르 조작할 수 있는 관계 연산자를 제공
- Structured Query Language (SQL) 라는 쿼리 언어를 사용하고, 쿼리를 통해 테이블 형식의 데이터를 조작
- SQL : DBMS에 데이터를 질의하는 언어로 구조화된 형태를 가지고, 웹 어플리케이션이 DBMS와 상호작용할 때 사용됨
언어 | 설명 |
DDL (Data Definition Language) |
데이터를 정의하기 위한 언어. 데이터를 저장하기 위한 스키마, 데이터베이스의 생성/수정/삭제 등의 행위를 수행함 |
DML (Data Manipulation Language) |
데이터를 조작하기 위한 언어. 실제 데이터베이스 내에 존재하는 데이터에 대해 조회/저장/수정/삭제 등의 행위를 수행함 |
DCL (Data Control Language) |
데이터베이스의 접근 권한 등의 설정을 하기 위한 언어. 데이터베이스 내에 이용자의 권한을 부여하기 위한 GRANT와 권한을 박탈한느 REVOKE가 대표적임 |
ServerSide: SQL Injection
- SQL Injection : DBMS에서 사용하는 쿼리를 임의로 조작해 데이터베이스의 정보를 획득하는 기법
- 인젝션(Injection) 공격 : 이용자의 입력값이 애플리케이션의 처리 과정에서 구조나 문법적인 데이터로 해석되어 발생하는 취약점
- Blind SQL Injection : 질의 결과를 이용자가 화면에서 직접 확인하지 못할 때 참/거짓 반환 결과로 데이터를 획득하는 공격 기법
Blind SQL Injection
- 데이터베이스 조회 후 결과를 직접적으로 확인할 수 없는 경우 사용할 수 있는 SQL Injection 공격 기법
- 한 비트씩 비교하여 공격하는 방식으로 다른 공격에 비해 많은 시간을 들여야함 => 공격을 자동화하는 스크립트를 작성하여 해결
함수 | 특징 |
ascii | 전달된 문자를 아스키 형태로 반환하는 함수 |
substr | 문자열에서 지정한 위치부터 길이까지의 값을 가져옴 |
'Web > Wargame' 카테고리의 다른 글
[Dreamhack] Mango (0) | 2022.10.01 |
---|---|
[Dreamhack] simple_sqli (0) | 2022.09.24 |
[Dreamhack] csrf-2 (0) | 2022.09.24 |
[Dreamhack] csrf-1 (0) | 2022.09.24 |
[Dreamhack] ClientSide: CSRF (0) | 2022.09.21 |