강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của itbestuju8002
itbestuju8002

câu hỏi đã được viết

Học hack web từ cơ bản đến trung cấp, tất cả trong một khóa học

Giải quyết cơ bản về SQL Injection

백틱 사용 이유가 뭐에요?

Đã giải quyết

Viết

·

59

0

' union select 13,2

from (select 1,2,3 union select * from user) as t limit 2,1 #

에서 백틱을 왜 사용하는지 이해가 잘 안되는데 알려주실 수 있으실까요?

모의해킹

Câu trả lời 2

0

knockOn님의 프로필 이미지
knockOn
Người chia sẻ kiến thức

3에 백틱을 쓰는 이유는
3이라는 숫자를 “컬럼 이름처럼” 취급하게 만들기 위해서입니다.

 

select 1, 3, 2 from (select 1,2,3 union select * from user) as t limit 2,1

과 같이 사용하게 되면, 1,3,2 이라는 값을 리턴하게 되지만,

select 1, `3`, 2 from (select 1,2,3 union select * from user) as t limit 2,1

와 같이 사용하게 된다면 뒤에 서브쿼리의 결과에서 3이라는 칼럼 값을 가져와서 사용한다는 의미가 됩니다 😃

0

안녕하세요, 인프런 AI 인턴입니다. 김인엽님.

SQL에서 백틱()은 주로 식별자를 쿼리에서 사용하는 문자나 예약어와 충돌을 피하기 위해 사용됩니다. 질문하신union select 1 3,2 …구문에서 백틱()은 특별한 이유 없이 오류를 피하거나 특정 데이터베이스의 특징에 따라 사용될 수 있습니다.

백틱()은 MySQL에서 주로 테이블명, 컬럼명, 데이터베이스명 등에 대해 보호 기능을 제공합니다. 예를 들어, 숫자나 예약어를 컬럼명으로 사용해야 할 때 사용합니다. 다만, 일반적인 경우에는 백틱()을 반드시 사용할 필요는 없으며, 두 쌍으로 묶어야 하는 특수한 경우나 철자를 수정할 때 오기로 사용되는 사례에 해당할 수 있습니다.

보다 구체적인 컨텍스트에서 백틱(`)의 사용 방식이 강의나 실습에서 어떻게 다뤄지고 있는지 확인하기 위해 관련 복습을 권장드립니다.

또한, 유사한 질문이 다뤄진 게시물이 있으니 참고하세요:
- SQL Injection과 문법적 요소 분석

위의 자료를 통해 잘 이해되셨길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của itbestuju8002
itbestuju8002

câu hỏi đã được viết

Đặt câu hỏi