sourcecode

AJAX CORS 및 보안 고려 사항 이해

codebag 2023. 8. 31. 23:51
반응형

AJAX CORS 및 보안 고려 사항 이해

저는 왜 CORS가 작동하는 방식으로 작동하는지 이해하려고 노력하고 있습니다.

게시물을 통해 알게 된 바와 같이, www.a.com 의 페이지가 www.b.com 에 AJAX를 요청할 때, 요청을 허용할지 여부를 결정하는 것은 www.b.com 입니다.

그러나 이러한 모델에서 고객에게 정확히 보장되는 것은 무엇입니까?예를 들어 해커가 내 페이지에 XSS 스크립트 주입에 성공하면 사용자 데이터를 저장하기 위해 도메인에 AJAX 요청을 합니다.따라서 해커의 도메인은 이러한 요청을 확실히 허용합니다.

저는 www.a.com 에서 요청을 허용할 도메인을 결정해야 한다고 생각했습니다.따라서 이론적으로 Access-Control-Allow-Origin 헤더 내에 AJAX CORS 요청에 허용되는 도메인의 전체 목록을 넣고 싶습니다.

현재 CORS 구현이 처리하는 보안 문제가 무엇인지 설명할 수 있는 사람이 있습니까?

이 게시물을 통해 알게 된 것처럼, 페이지가 언제부터www.a.comAJAX 요청 수행www.b.com그렇다면 그것은www.b.com요청을 허용할지 여부를 결정합니다.

별로 그렇지 않아요.요청이 차단되지 않습니다(적어도 단순한 경우).

기본적으로 실행되는 JavaScriptwww.a.com의 응답에 대한 액세스가 금지되었습니다.www.b.com.

CORS는 다음과 같은 수단을 제공합니다.www.b.com에서 JavaScript에 대한 권한을 부여할 수 있습니다.www.a.com응답에 액세스할 수 있습니다.

그러나 이러한 모델에서 고객에게 정확히 보장되는 것은 무엇입니까?

의 저자를 막습니다.www.a.com데이터를 읽은 후에www.b.com두 사이트를 모두 방문하고 인증된 사용자의 브라우저 사용www.b.com(따라서 공개되지 않은 데이터에 액세스할 수 있습니다.)

예를 들어 Alice는 Google에 로그인되어 있습니다.앨리스 방문malicious.exampleXMLHttpRequest를 사용하여 데이터에 액세스합니다.gmail.comAlice는 Gmail 계정을 가지고 있으므로 응답은 받은 편지함에 가장 최근의 전자 메일 목록을 가지고 있습니다.동일한 오리진 정책이 차단합니다.malicious.example그것을 읽음으로써.

예를 들어 해커가 XSS 스크립트를 내 페이지에 삽입한 다음 사용자 데이터를 저장하기 위해 도메인에 AJAX를 요청합니다.그래서 해커 도메인은 그러한 요청을 확실히 허용할 것입니다.

맞아요.XSS는 소스에서 해결해야 하는 다른 보안 문제입니다(즉,www.a.com브라우저에 표시되지 않음).

@Quentin의 훌륭한 답변 외에도, 컨텐츠 보안 정책이라고 알려진 또 다른 기술이 있는데, 이 기술은 여러분이 무엇을 찾고 있는지를 설명합니다.

저는 www.a.com 에서 요청을 허용할 도메인을 결정해야 한다고 생각했습니다.따라서 이론적으로 Access-Control-Allow-Origin 헤더 내에 AJAX CORS 요청에 허용되는 도메인의 전체 목록을 넣고 싶습니다.

CSP를에서 헤더를 할 수 (CSP 사용도면헤있수다습니설정할더를).www.a.com예에서) AJAX 요청을 제한하려면 다음과 같이 하십시오.

connect-src는 XHR, WebSockets 및 EventSource를 통해 연결할 수 있는 원본을 제한합니다.

그래서 이것을 사용하기 위해 당신은 이것을 추가할 수 있습니다.Content-Security-PolicyHTML - HTTP - HTTP:

Content-Security-Policy: connect-src 'self'

이 "AJAX 파일"로 됩니다.www.a.com가 그헤가있경우의 www.a.com:

'self'가 현재 오리진과 일치하지만 하위 도메인은 일치하지 않습니다.

지원되는 브라우저는 여기를 참조하십시오.

언급URL : https://stackoverflow.com/questions/21854516/understanding-ajax-cors-and-security-considerations

반응형