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

무무님의 프로필 이미지
무무

작성한 질문수

무작정 따라하며 원리를 깨우치는 웹 해킹 : WebGoat 편

[실습2-17] SQL Injection(mitigation) - 5

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

작성

·

191

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 실습해보시는게 좋습니다.

 

무무님의 프로필 이미지
무무

작성한 질문수

질문하기