인프런 커뮤니티 질문&답변
order by 뒤에 sql 검증하는 부분에서 질문드립니다!
작성
·
553
1
order by 뒤에 컬럼이나 키워드가 나올수있고
검증구문을 order by (case when 1=1 then 1 else 2 end)와 order by (case when 1=1 then idx else title end)
이렇게 두가지로 알려주셨는데
직접 해보니 첫번째 구문과 같이 order by 뒤 case 구문에서 then이나 else 값이 숫자면 에러가 나더라고요.
mysql에서는 되는것같은데 이마저도 정상적인 출력이 되지 않습니다.
그렇다면 order by 절에서의 공격검증은 case 구문에 컬럼값을 이용한 방식만 가능한지 문의드려요
이 내용은 order by idx (desc)와 같은 키워드 부분에서도 동일한 것같습니다.
답변 1
0
크리핵티브
지식공유자
안녕하세요.
해당부분에 오류가 있어서 강의 내용 수정한다는게 깜박했네요;ㅎㅎ
order by 뒤에 case when 사용 시 인덱스 사용이 원래 되지 않습니다.
때문에 컬럼을 통해 case when 구문 사용 가능한 부분을 판별해도 되고
part2 에서 설명하는 강제에러 발생 부분을 활용해도 됩니다.
감사합니다.





