본문 바로가기
웹 해킹/웹 해킹 개념

Union SQL Injection

by sonysame 2018. 3. 5.

참고 사이트

https://m.blog.naver.com/PostView.nhn?blogId=koromoon&logNo=120172851234&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F


2개 이상의 쿼리를 요청하여 결과를 얻는 UNION이라는 SQL 연산자를 이용한 SQL Injection 공격


공격자는 이 연산자를 이용하여 원래의 요청에 한 개의 추가 쿼리를 삽입하여 정보를 얻어낸다


조건: 컬럼의 갯수가 같아야 하고 데이터 형식도 같아야 하며 해당 결과 집합 컬럼은 호환되는 데이터 형식을 가져야 한다!


UNION의 결과 집합 컬럼 이름은 UNION의 첫 번째 SELECT문의 결과 집합에 있는 컬럼 이름과 동일, 다른 SELECT무느이 결과 집합 컬럼 이름은 무시됨


기본적으로 UNION 연산자는 결과 집합에서 중복 행을 제거함

* ALL 옵션을 사용하면 결과에 모든 행이 포함되고 중복 행은 제거되지 않는다.



SQL Injection에 주로 사용되는 문자열

' 문자 데이터 구분기호

; 쿼리 구분 기호

--  Oracle, MSSQL 해당 라인 주석구분 기호

# MySQL 해당 라인 주석구분 기호

/* */ 구문주석

|| 문자연결 (Oracle에만 해당)

order by를 이용하여 컬럼의 갯수를 알 수 있다!


' order by 1-- 

' order by 7-- 



'웹 해킹 > 웹 해킹 개념' 카테고리의 다른 글

웹로그분석  (0) 2018.03.19
프락시 툴을 이용한 HTTP 분석  (0) 2018.03.19
웹쉘 Web Shell, PHP File Upload 취약점  (0) 2018.02.12
HEADER INJECTION  (0) 2018.02.12
XSS 연습  (0) 2018.02.10