강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Dantejsh님의 프로필 이미지
Dantejsh

작성한 질문수

모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1

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 에서 설명하는 강제에러 발생 부분을 활용해도 됩니다.

감사합니다.

Dantejsh님의 프로필 이미지
Dantejsh

작성한 질문수

질문하기