• 카테고리

    질문 & 답변
  • 세부 분야

    보안

  • 해결 여부

    미해결

SQL 인젝션 mitigation 마지막 ip 추론 문제 풀이에서

24.03.08 15:39 작성 조회수 75

1

order by 절 뒤에 select 를 이용한 다중쿼리는

작성하지 못한다는 답변을 챗GPT로부터 받았는데,

GPT는 order by 뒤에 union을 이용한 공격은 가능하다고 하지만 왜 실제로 문제에선 union을 이용한 공격은 적용되지 않는 것일까요?

답변 1

답변을 작성해보세요.

0

안녕하세요.

질문에서,

"

order by 절 뒤에 select 를 이용한 다중쿼리는

작성하지 못한다는 답변을 챗GPT로부터 받았는데,

GPT는 order by 뒤에 union을 이용한 공격은 가능하다고 하지만 왜 실제로 문제에선 union을 이용한 공격은 적용되지 않는 것일까요?

"

라고 하셧는데 gpt로부터 작성하지 못한다 or 가능하다 중 가능하다고 답변 받으신게 맞죠?

결론부터 말씀드리면, 영상에서도 말씀드렸듯 불가능합니다.

RDBMS(관계형 데이터베이스)에서 문법상 union 구문 사용 시 상위 select절에선 order by 절 사용이 불가능하며, 하위 select 절에서 사용 가능합니다. 따라서 order by절 구문에 인젝션 시 상위 select 절에 order by절이 사용된 경우기 때문에 union 절 사용이 불가능합니다.

왜 이렇게 설계를 한지에 대해서는 일관성에 대한 부분이 아닐까 추측은 할 수 있으나 제가 설계자가 아니라 디테일한 이유는 모르겠네요.

챗gpt 활용하는것은 좋으나 참고만하고, 직접 mysql, mssql, oracle 실습해보시는게 좋습니다.