<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Nagłówek hop-by-hop jest nagłówkiem, który jest przeznaczony do przetwarzania i konsumowania przez aktualnie obsługujący żądanie serwer proxy, w przeciwieństwie do nagłówka end-to-end.
* **`X-Cache`** w odpowiedzi może mieć wartość **`miss`**, jeśli żądanie nie było w pamięci podręcznej, i wartość **`hit`**, jeśli jest w pamięci podręcznej
* **`Cache-Control`** wskazuje, czy zasób jest buforowany i kiedy zostanie ponownie buforowany: `Cache-Control: public, max-age=1800`
* **`Vary`** jest często używane w odpowiedzi, aby **wskazać dodatkowe nagłówki**, które są traktowane jako **część klucza pamięci podręcznej**, nawet jeśli normalnie nie są kluczowe.
* **`Age`** definiuje czas w sekundach, przez który obiekt był w pamięci podręcznej serwera pośredniczącego.
* **`Server-Timing: cdn-cache; desc=HIT`** również wskazuje, że zasób był buforowany
*`Clear-Site-Data`: Nagłówek wskazujący, jakie dane pamięci podręcznej powinny zostać usunięte: `Clear-Site-Data: "cache", "cookies"`
*`Expires`: Zawiera datę/czas, kiedy odpowiedź powinna wygasnąć: `Expires: Wed, 21 Oct 2015 07:28:00 GMT`
*`Pragma: no-cache` to samo co `Cache-Control: no-cache`
*`Warning`: Ogólny nagłówek HTTP **`Warning`** zawiera informacje o możliwych problemach ze statusem wiadomości. W odpowiedzi może pojawić się więcej niż jeden nagłówek `Warning`. `Warning: 110 anderson/1.3.37 "Response is stale"`
* Żądania korzystające z tych nagłówków: **`If-Modified-Since`** i **`If-Unmodified-Since`** będą otrzymywać dane tylko wtedy, gdy nagłówek odpowiedzi **`Last-Modified`** zawiera inną godzinę.
* Żądania warunkowe korzystające z **`If-Match`** i **`If-None-Match`** używają wartości Etag, więc serwer WWW wyśle zawartość odpowiedzi, jeśli dane (Etag) uległy zmianie. Wartość `Etag` jest pobierana z odpowiedzi HTTP.
* Wartość **Etag** jest zwykle **obliczana na podstawie** zawartości odpowiedzi. Na przykład, `ETag: W/"37-eL2g8DEyqntYlaLp5XLInBWsjWI"` wskazuje, że `Etag` to **Sha1** z **37 bajtów**.
* **`Accept-Ranges`**: Wskazuje, czy serwer obsługuje żądania zakresu i w jakiej jednostce zakres może być wyrażony. `Accept-Ranges: <range-unit>`
* **`Range`**: Wskazuje część dokumentu, którą serwer powinien zwrócić.
* **`If-Range`**: Tworzy warunkowe żądanie zakresu, które jest spełnione tylko wtedy, gdy podany etag lub data pasuje do zdalnego zasobu. Służy do zapobiegania pobieraniu dwóch zakresów z niezgodnych wersji zasobu.
* **`Content-Range`**: Wskazuje, gdzie w pełnej wiadomości ciała znajduje się wiadomość częściowa.
* **`Content-Length`:** Rozmiar zasobu, w postaci dziesiętnego liczby bajtów.
* **`Content-Type`**: Wskazuje typ multimediów zasobu
* **`Content-Encoding`**: Używane do określenia algorytmu kompresji.
* **`Content-Language`**: Opisuje język(i) ludzki(e) przeznaczony dla odbiorców, umożliwiając użytkownikowi różnicowanie zgodnie z preferowanym przez użytkownika językiem.
* **`Allow`**: Ten nagłówek służy do komunikacji metod HTTP, które zasób może obsłużyć. Na przykład, może być określony jako `Allow: GET, POST, HEAD`, co oznacza, że zasób obsługuje te metody.
* **`Expect`**: Wykorzystywany przez klienta do przekazania oczekiwań, które serwer musi spełnić, aby żądanie zostało pomyślnie przetworzone. Powszechnym przypadkiem użycia jest nagłówek `Expect: 100-continue`, który sygnalizuje, że klient zamierza wysłać dużą ilość danych. Klient oczekuje odpowiedzi `100 (Continue)` przed kontynuacją transmisji. Ten mechanizm pomaga optymalizować wykorzystanie sieci, oczekując potwierdzenia serwera.
* Nagłówek **`Content-Disposition`** w odpowiedziach HTTP określa, czy plik powinien być wyświetlany **wewnętrznie** (wewnątrz strony internetowej) czy traktowany jako **załącznik** (pobierany). Na przykład:
Poprzez wprowadzenie Zaufanych Typów za pomocą CSP, aplikacje mogą być chronione przed atakami DOM XSS. Zaufane Typy zapewniają, że tylko specjalnie opracowane obiekty, zgodne z ustalonymi politykami bezpieczeństwa, mogą być używane w niebezpiecznych wywołaniach interfejsu API sieci Web, co zabezpiecza kod JavaScript domyślnie.
Ten nagłówek zapobiega wykrywaniu typu MIME, praktyce, która może prowadzić do podatności XSS. Zapewnia, że przeglądarki będą respektować typy MIME określone przez serwer.
Aby zwalczyć clickjacking, ten nagłówek ogranicza sposób osadzania dokumentów w znacznikach `<frame>`, `<iframe>`, `<embed>` lub `<object>`, zalecając, aby wszystkie dokumenty jawnie określały swoje uprawnienia do osadzania.
CORP jest kluczowy dla określenia, które zasoby mogą być ładowane przez strony internetowe, ograniczając wycieki między stronami. CORS z kolei umożliwia bardziej elastyczny mechanizm udostępniania zasobów między różnymi źródłami, rozluźniając politykę samego źródła w określonych warunkach.
COEP i COOP są niezbędne do włączenia izolacji międzydomenowej, co znacznie redukuje ryzyko ataków podobnych do Spectre. Kontrolują ładowanie zasobów z innych domen oraz interakcję z oknami z innych domen, odpowiednio.
Ostatnią funkcją HSTS jest zabezpieczenie, które zmusza przeglądarki do komunikowania się tylko przez bezpieczne połączenia HTTPS, co zwiększa prywatność i bezpieczeństwo.
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.