-
카테고리
-
세부 분야
보안
-
해결 여부
해결됨
mysql case when 구문이용
24.03.26 16:16 작성 조회수 79
1
검색 기능 부분 select * from board where title like '%검색어%' 이 구문에서
Select * From board Where title like '%'||(case when 1=1 then 'test' else 'aaaaaa' end)||'%'
이 문장과 같이 검색어에 case when 구문을 이용해서 조건 구문을 완성 시킬 수 있다고 하셨는데
||연산자를 쓰는 oracle에서는 가능하지만 mysql, mssql에서는 불가능한데 어떤 방식으로 case when구문을 완성 시킬 수 있는지 잘 모르겠습니다.
concat을 이용해야 하나요? 예시를 좀 알려주실 수 있을까요?
모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
[실습2-3] 검색 기능의 컬럼 파라미터에 대한 올바른 취약점 점검 방법
강의실 바로가기
답변을 작성해보세요.
0
크리핵티브
지식공유자2024.03.27
mssql의 경우는 연결 연산자가 +이기 때문에 +로 가능합니다.
like '%'+(case when 1=1 then 'test' else 'aaaaaa' end)+'%'
mysql의 경우는 이런 구문 만들지 못합니다.
concat의 경우는 title like '%' and concat(~~~~ 이런 형태만 가능하며,
like '%문장%' 이안에서는 활용하지 못합니다.
답변 1