반응형
UNION 연산자를 이용하여, UNION 연산자가 포함된 공격 쿼리를 주입하여 DB의 데이터를 획득한다.
UNION은 둘 이상의 SELECT 문에서 검색된 레코드를 단일 집합으로 결합해주는 연산자다.
UNION과 UNION ALL 이 존재한다.
UNION은 중복을 제거한 결과의 합을 나타내고, UNION ALL은 중복을 포함한 결과의 합을 나타낸다.
UNION 예제
select 'test' unison select 'good';
결과
test
-----
test
good
UNION 문법
SELECT...
UNION [ALL | DISTINCT] SELECT...
[UNION [ALL | DISTINCT] SELECT...]
UNION 연산자는 두 개의 SELECT문 사이에 위치하며 데이터 형만 호환된다면, 결과를 합쳐 주는 것 외에는 SELECT문의 사용법과 차이를 발견하기 어렵다.
이 공격 기법은 SQL 인젝션 공격이 가능한 파라미터가 확인되었어도 해당 파라미터의 인자 값이 삽입되는 위치에 따라 사용이 불가능한 경우도 있다.
UNION 연산자를 이용한 공격 기법은 다른 방법에 비해서 좀 더 수월하게 데이터 획득이 가능한 장점이 있기 때문에 가장 먼저 시도해 볼 만한 기술이다.
반응형
'웹 해킹&보안 > SQLInjection' 카테고리의 다른 글
SQL Injection (0) | 2019.09.03 |
---|