실습 요구사항 환경 정보 🌐 요청 Cross-origin인 XHR 요청 서버 🌍 응답 Access-Control-Allow-Origin이 와일드카드 (*)로 설정된 웹 서버 소스코드 및 웹 서버 설정 🌐 요청 단 ACAO를 와일드카드로 설정하여 ACAC는 true로 설정할 수 없다. 그러므로 withCredentials를 true로 설정할 경우 응답을 받을 수 없으므로 일단 생략한다. 또한 ACAC가 true가 아니므로 쿠키정보는 받을 수 없기에, Response의 form에 SESSIONID가 숨어있다고 (백 번 양보해서..) 가정한다. (생각보다 Response에 개인정보가 평문으로 존재하는 경우가 많으니까) '당신의 CORS는 안전합니까요 !?' 버튼을 클릭하면 result div에 응답 텍스트가 ..
유형 (3) 설명 로컬에서 서버 대상으로 테스트 개발을 진행하고자 할 때, 아래와 같은 에러가 발생한다. Access to script at 'file:///C:/경로/접근하고자 하는 파일' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. 즉 이 경우는 서버 프로젝트를 직접 로컬에 다운받아 개발을 테스트하는 경우에서 많이 발생하며, file:// 프로토콜을 통해 로컬 파일 시스템으로 html 등을 열게 된다. 👉 그래서 '내 환경에서 내 파일을 여는데 왜 SOP가 아니라..
유형 (2) 설명 2-1. 취약한 CORS 유형 (1) - 반사된 ACAO 및 True ACAC 개요 챕터 2에서는 CORS를 어떻게 설정하면 보안에 취약해지는가를 알아보기 위해서, 1) 취약한 설정 확인 방법 2) 대응방안을 알아보도록 한다. 확인 과정 일단 Burp Suite나 ZAP를 통해 패킷을 잡아 likethefirst.tistory.com 이전 글에서는 응답 Access-Control-Allow-Origin 헤더에 허용할 Origin만 화이트리스트로 관리해야 한다고 했다. 그렇다면 이 ACAO 헤더는 정규표현식을 활용해 example.com의 서브 도메인만 허용할 수 있을 것이다. 취약점 확인 Java에서 다음과 같은 정규표현식으로 화이트리스트를 관리한다고 해보자. private static..
개요 챕터 2에서는 CORS를 어떻게 설정하면 보안에 취약해지는가를 알아보기 위해서, 1) 취약한 설정 확인 방법 2) 대응방안을 알아보도록 한다. 확인 과정 일단 Burp Suite나 ZAP를 통해 패킷을 잡아서 요청 헤더에 Origin이 있으면 조작해보고, 응답 헤더가 어떻게 반환되는지 확인하는 것이 기본적인 확인 방법이다. (앞으로 작성할 취약한 CORS를 확인하는 모든 유형에 대해) 유형 (1) 설명 CORS 관련 골치아픈 오류를 회피하기 위해, 1) 응답 Access-Control-Allow-Origin 헤더(이하 ACAO 헤더)를 요청 Origin 그대로 응답하도록 설정하고, 2) Access-Control-Allow-Credentials 헤더(이하 ACAC 헤더)를 True로 응답하도록 개발..
개발자가 CORS 정책을 잘못 설정하는 경우 XSS, CSRF 등의 보안 위협이 존재할 가능성이 있다고 하였다. 취약한 CORS 구성을 알아보기 전, 자격증명(Credential)이 전달되는 경우의 CORS 요청에 대해 어떻게 처리해야 하는지 간략히 짚고 넘어간다. Credentialed Request Credential 정보로 취급되는 것 정확히 Credentialed Request로 취급되는 것은 아래 두 가지 경우다. 🤍 쿠키를 포함한 요청 🤍 헤더에 Authorization 항목이 포함된 요청 이전 글인 1-2에서 XHR 객체를 통해 Cross-origin 요청을 하는 코드를 살펴보았다. var httpRequest = new XMLHttpRequest(); var url = "https://ap..
- Thanks for comming.
- 오늘은
- 명이 방문했어요
- 어제는
- 명이 방문했어요