+--------------------+
| Database |
+--------------------+
| information_schema | // Mysql에서 운영되는 데이터베이스, 테이블, 컬럼의 모든 정보들을 관리하는 DB
| bWAPP | // bWAPP 시나리오에서 사용하는 DB
| drupageddon | // bWAPP 시나리오에서 사용하는 DB
| megait | // 실습용으로 생성한 DB
| mysql | // Mysql 운영과 관련된 정보가 저장된 DB
+--------------------+
+-----------------+
| Tables_in_bWAPP |
+-----------------+
| blog | // bWAPP 시나리오 중에 Stored 관련 데이터가 저장되는 테이블
| heroes | // bWAPP 시나리오 중에 heroes 관련 데이터가 저장되어 있는 테이블
| movies | // bWAPP 시나리오 중에 movies 관련 데이터가 저장되어 있는 테이블
| users | // bWAPP 관리자 정보가 저장되어 있는 테이블
| visitors | // bWAPP 시나리오 중에 접속 관련 데이터가 저장되는 테이블
+-----------------+
[참고] blog, visitors 테이블은 다음과 같은 시나리오에서 사용됨
- HTML Injection - Stored (Blog) 시나리오로 이동하여 'test'를 입력한다.
- SQL Injection - Stored (User-Agent) 시나리오로 이동한다.
2. 참 & 거짓을 이용한 테이블 내용 확인
select * from heroes where 1=1
select * from heroes where 1=1 limit 0,1;
3. union을 이용한 테이블 내용 확인
select id,title,release_year,genre from movies union select id,login,password,email from users;
select id,title,release_year,genre from movies union select id,login,password,email from users limit 10,2;
select all 1,2,3,4,5,6,7;
select * from movies union select all 1,2,3,4,5,6,7;
select * from movies union select all 1,2,3,4,5,6,7 limit 10,1;
select * from movies union select all 1,database(),user(),system_user(),version(),6,7 limit 10,1;
[참고] MySQL 관리 명령어
database() | 데이터베이스 이름 |
user() | 사용자 |
system_user() | 시스템 권한 사용자 |
version() | MySQL 버젼 |
concat(컬럼 이름,컬럼 이름...) | 컬럼 여러개를 1개로 출력 |
# | 주석 처리 |
4. information_schema 데이터베이스
- MySQL에 존재하는 모든 메타 정보를 운영하는 데이터베이스이다.
- 이때, 메타 정보는 MySQL에 존재하는 데이터베이스 이름, 테이블 이름, 컬럼 이름/타입, 인덱스, 접근 권한 등을 의미한다.
- information_schema 데이터베이스 내의 모든 테이블은 읽기 전용이기 때문에 쓰기가 불가능하며 조회만 가능하다.
[참고] 자주 사용하는 information_schema 데이터베이스의 테이블과 컬럼
SCHEMATA | SCHEMA_NAME |
TABLES | TABLE_SCHEMA, TABLE_NAME |
COLUMNS | TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_TYPE |
4-1. information_schema 데이터베이스를 이용한 다른 데이터베이스 조회
select * from movies union select all 1,schema_name,3,4,5,6,7 from information_schema.schemata limit 10,5;
select * from movies union select all 1,table_name,3,4,5,6,7 from information_schema.tables where table_schema="bWAPP" limit 10,5;
select * from movies union select all 1,column_name,3,4,5,6,7 from information_schema.columns where table_name='heroes' limit 10,4;
select * from movies union select all 1,id,login,password,secret,6,7 from heroes limit 10,6;
'메가IT아카데미 국기과정 > JAVA와 웹보안' 카테고리의 다른 글
[1-5] XML Injection (0) | 2022.09.12 |
---|---|
[1-4] SQL Injection (0) | 2022.09.12 |
[1-2] OS Comman&PHP Code&SSI Injection (0) | 2022.09.12 |
[1-1] HTML Injection (0) | 2022.09.12 |
[목차] JAVA와 웹보안 (1) | 2022.09.11 |