inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Khái niệm cơ bản về web HTTP cho mọi nhà phát triển

3xx - Chuyển hướng 2

주소창 인젝션?

113

Dongni

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

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
PRG에 대한 강의 내용 도중에 궁금증이 생겼습니다.

 

PRG 관련해서 도식화한 것을 보면, 3. 응답 내용에서 주문 번호를 응답해주는 것을 확인할 수 있습니다

 

그 이후에 주문 완료 페이지가 리다이렉션 되는데 이때 주문 번호에 맞는 페이지가 뜨는거라고 이해할 수 있습니다

 

여기서 궁금한 점이, 사실 여러 홈페이지들을 보면서 이런식으로 주소창에 주문 번호와 같은 것들을 임의로 수정해서 다른 사람의 특정 페이지를 찾아본 경험이 몇 번 있는데, 이를 뭐라고 부르며, 어떻게 방지할 수 있을까요?

 

단순히 주문번호를 예측할 수 없게 랜덤하게 생성한다기보다는 로그인을 통해서 특정 권한을 부여한다거나 이렇게 해결해야할까요?

네트워크

Câu trả lời 1

0

communityai8509

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

유동훈님께서 문의하신 주소창 인젝션과 관련된 질문에 대해 답변 드립니다.

유동훈님이 설명하신 상황은 URL을 통해 민감한 정보를 가져올 수 있는 보안 취약점을 말하며, 이를 종종 “인젝션”의 일종으로 볼 수 있습니다. 특히 예측 가능한 URL이나 ID를 통해 다른 사용자의 개인 정보를 접근할 수 있다면 이는 “불안전한 직접 객체 참조(IDOR: Insecure Direct Object Reference)“라고 불릴 수 있는 문제입니다.

이를 방지하기 위해서는 몇 가지 방법이 있습니다:

  1. 인증 및 권한 확인: 각 요청에 대해 사용자의 권한을 확인하여 자신의 정보에만 접근할 수 있도록 제한하는 것이 중요합니다. 로그인을 통해 사용자의 세션을 확인하고, 해당 사용자의 권한 범위 내에서만 데이터를 허용해야 합니다.

  2. 비예측 가능한 식별자 사용: 주문 번호나 다른 식별자를 예측할 수 없도록 무작위로 생성합니다. 예를 들어, UUID(Universally Unique Identifier)를 사용하여 각 자원의 접근 키를 만드는 방법도 있습니다.

  3. 정기적인 보안 점검: 어플리케이션의 취약점을 지속적으로 테스트하고 발견되는 보안 문제를 수정하여 보안을 강화해야 합니다.

보다 안전한 웹 애플리케이션 설계를 위해 이러한 방법들을 조합하여 사용하는 것을 추천합니다.

추가적인 학습을 위해 아래 링크의 자료도 참고하실 수 있습니다:
- OWASP의 불안전한 직접 객체 참조 설명
- PRG 패턴에 대한 설명

도움이 되시길 바랍니다! 더욱 궁금한 점이 있으시면 언제든지 질문해 주세요.

캐시무효화시 그냥 no-store만 넣어되지 않나요?

0

63

2

API의 헤더와 바디에 대한 문의 입니다.

0

67

2

수정폼과 수정

0

65

1

쿠키에 대해 질문드려요!

0

84

2

서버에서 캐시 검증 헤더를 직접 처리해야 하나요?

0

81

1

http api get, post 멱등

0

38

1

컬렉션의 개념

0

46

1

시작라인에 들어가는 요청 대상 경로는 상대 경로 아닌가요?

0

49

1

PATCH 는 PUT처럼 멱등이여야 하지 않나요?

0

77

1

리소스 질문드립니다

0

53

1

IP 패킷 질문입니다.

0

56

1

html from, http api

0

72

2

브라우저 캐시가 60초 유효하다는게 무슨 뜻일까요

0

119

1

stateless 무상태 예제가 생각났는데. 저가 생각 한게 맞는지 궁금합니다.

0

96

1

URI 및 URL 질문, 왜 자바(스프링)에서는 이렇게 나누었는지?

0

136

1

host와 port

0

105

1

tcp/ip는 연결을 유지? 아니면 유지하지 않음?

0

139

1

다음 강의 커리큘럼 질문!!

0

127

2

캐시 개념에 대해서 설명하시지는 않으시는건가요?

0

109

1

클라이언트가 patch, delete 요청 시 알아야 하는 url

0

86

1

html form 형태 전송시 new, edit 등 컨트롤 리소스를 사용하는 이유

0

165

2

비 연결성(connectionless) 강의에서 질문입니다~

0

136

1

PATCH를 사용하지 못할 때 왜 POST?

0

155

2

협상과 우선순위3 질문드립니다.

1

125

1