Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

brak ograniczenia pochodzenia żądania (origin)

Termin Definicja
brak ograniczenia pochodzenia żądania (origin)

Brak ograniczenia pochodzenia żądania (origin) to alternatywne, powtórzone określenie tej samej luki bezpieczeństwa CORS.

Na czym polega brak kontroli wartości Origin

Brak ograniczenia pochodzenia żądania oznacza nieprawidłową konfigurację mechanizmu CORS, czyli Cross-Origin Resource Sharing. Przeglądarka stosuje zasadę same-origin policy, która domyślnie ogranicza skrypt uruchomiony w jednej witrynie w dostępie do odpowiedzi pochodzących z innego pochodzenia. Pochodzenie jest określane przez schemat, host i port. Przykładowo https://panel.example oraz https://api.example mają różne pochodzenia, mimo że używają tej samej domeny nadrzędnej. Serwer może zezwolić na kontrolowany dostęp między tymi adresami, wysyłając odpowiednie nagłówki CORS.

Problem powstaje wtedy, gdy serwer akceptuje dowolną wartość nagłówka Origin albo bez sprawdzenia odsyła ją w nagłówku Access-Control-Allow-Origin. W praktyce aplikacja może odpowiedzieć tak samo na żądanie z zaufanej witryny, obcej domeny lub adresu utworzonego przez napastnika. Sam fakt, że żądanie dociera do serwera, nie jest jeszcze dowodem luki, ponieważ przeglądarka może wysyłać część żądań między pochodzeniami. Istotne jest to, czy nieuprawniony skrypt może następnie odczytać odpowiedź, a także czy serwer dopuszcza przy takim żądaniu dane uwierzytelniające.

Rola nagłówków CORS i poświadczeń

Najprostszą, lecz szeroką regułą jest Access-Control-Allow-Origin: *. Pozwala ona dowolnemu pochodzeniu odczytywać odpowiedzi, ale nie może być używana razem z Access-Control-Allow-Credentials: true dla żądań zawierających poświadczenia. Poświadczenia obejmują między innymi cookies, certyfikaty klienta oraz mechanizmy uwierzytelniania obsługiwane przez przeglądarkę. Jeżeli aplikacja zwraca konkretną wartość pochodzenia, na przykład https://panel.example, powinna porównywać ją z zamkniętą listą dozwolonych adresów, a nie traktować dowolnego tekstu jako zaufanego.

Niebezpieczny wariant polega na bezpośrednim odbijaniu wartości Origin. Serwer może wtedy przyjąć żądanie z https://atakujaca-domena.example, ustawić Access-Control-Allow-Origin na ten sam adres i włączyć obsługę poświadczeń. Skrypt uruchomiony w obcej witrynie może uzyskać dostęp do odpowiedzi zawierającej dane bieżącej sesji, jeżeli cookie jest dołączane zgodnie z regułami przeglądarki. W konfiguracji wieloźródłowej trzeba również poprawnie ustawiać nagłówek Vary: Origin, aby pamięć podręczna nie zwróciła odpowiedzi przygotowanej dla jednego pochodzenia innemu odbiorcy.

Żądania proste, preflight i rzeczywisty zakres ryzyka

CORS obejmuje między innymi żądania proste oraz żądania poprzedzane zapytaniem preflight. W przypadku preflight przeglądarka wysyła żądanie OPTIONS z nagłówkami Access-Control-Request-Method i ewentualnie Access-Control-Request-Headers. Serwer powinien wtedy określić, czy wskazana metoda i nagłówki są dozwolone dla danego pochodzenia. Odpowiedź może zawierać między innymi Access-Control-Allow-Methods oraz Access-Control-Allow-Headers. Zbyt szerokie zezwolenie na metody lub nagłówki zwiększa powierzchnię dostępu, ale samo dopuszczenie preflight nie zastępuje uwierzytelniania i autoryzacji po stronie serwera.

Podczas oceny należy rozdzielić kilka zjawisk, które bywają mylone. Nagłówek CORS nie nadaje użytkownikowi uprawnień i nie powinien decydować, czy operacja biznesowa jest dozwolona. Serwer musi niezależnie sprawdzać sesję, token, rolę oraz zakres żądanej operacji. CORS różni się także od ochrony przed CSRF. CSRF dotyczy wymuszania działań z wykorzystaniem uprawnień ofiary, natomiast błędny CORS może umożliwić skryptowi odczytanie odpowiedzi. Weryfikacja powinna obejmować różne wartości Origin, obecność cookies, odpowiedzi na OPTIONS, metody zmieniające dane oraz zasoby zawierające informacje przeznaczone wyłącznie dla zalogowanych użytkowników.

Sprawdzenie konfiguracji na komputerze użytkownika

Praktyczna diagnostyka zaczyna się od narzędzi deweloperskich przeglądarki i zakładki sieciowej. Należy sprawdzić, jakie nagłówki wysyła przeglądarka, czy odpowiedź zawiera Access-Control-Allow-Origin, czy występuje Access-Control-Allow-Credentials oraz czy odpowiedź na preflight odpowiada dokładnie metodzie i nagłówkom używanym przez aplikację. Pomocne jest porównanie żądania z dozwolonego pochodzenia z żądaniem wysłanym z kontrolowanego, obcego pochodzenia. Test nie powinien ograniczać się do komunikatu wyświetlanego w konsoli, ponieważ błąd CORS może być wynikiem zarówno polityki przeglądarki, jak i niedostępności serwera, przekierowania albo niepoprawnej odpowiedzi na OPTIONS.

Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i podzespołów, dlatego przy problemach z dostępem do aplikacji internetowej można rozpocząć od sprawdzenia przeglądarki, połączenia sieciowego, pamięci podręcznej oraz lokalnej konfiguracji systemu. Jeżeli komunikat dotyczy braku ograniczenia pochodzenia, trwałe usunięcie przyczyny wymaga jednak korekty konfiguracji CORS i kontroli uprawnień po stronie aplikacji lub jej serwera. Wyłączenie zabezpieczeń przeglądarki, instalowanie przypadkowych rozszerzeń albo obchodzenie blokady lokalnymi przełącznikami nie stanowi naprawy podatności i może utrudnić poprawną ocenę zachowania systemu.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę