<summary><strong>Nauka hakowania 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ź [**PLANY SUBSKRYPCYJNE**](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) na GitHubie.
Nagłówek hop-by-hop jest nagłówkiem zaprojektowanym do przetwarzania i konsumowania przez aktualny serwer proxy obsługujący żądanie, w przeciwieństwie do nagłówka end-to-end.
* **`Vary`** jest często używane w odpowiedzi do **wskazania dodatkowych nagłówków**, które są traktowane jako **część klucza pamięci podręcznej**, nawet jeśli zazwyczaj nie są kluczowane.
* **`Age`** określa czas w sekundach, przez jaki obiekt był w pamięci podręcznej serwera proxy.
*`Warning`: Ogólny nagłówek HTTP zawiera informacje o możliwych problemach ze stanem 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`** zostaną udzielone odpowiedzią tylko wtedy, gdy nagłówek odpowiedzi **`Last-Modified`** zawiera inną godzinę.
* Żądania warunkowe za pomocą **`If-Match`** i **`If-None-Match`** używają wartości Etag, więc serwer WWW wyśle zawartość odpowiedzi, jeśli dane (Etag) zostały zmienione. 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 jeśli tak, w jakiej jednostce zakres może być wyrażony. `Accept-Ranges: <range-unit>`
* **`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 niezgodnej wersji zasobu.
* **`Content-Range`**: Wskazuje, gdzie w pełnej wiadomości ciała częściowa wiadomość należy.
* **`Content-Language`**: Opisuje język(i) przeznaczony dla odbiorców, dzięki czemu użytkownik może różnicować według własnego preferowanego języka.
* **`Content-Location`**: Wskazuje alternatywną lokalizację zwróconych danych.
Z punktu widzenia testu penetracyjnego te informacje są zazwyczaj "bezużyteczne", ale jeśli zasób jest **chroniony** przez 401 lub 403 i można znaleźć **sposób** na **uzyskanie** tych **informacji**, może to być **interesujące.**\
Na przykład kombinacja **`Range`** i **`Etag`** w żądaniu HEAD może ujawnić zawartość strony za pomocą żądań HEAD:
* Żądanie z nagłówkiem `Range: bytes=20-20` i odpowiedzią zawierającą `ETag: W/"1-eoGvPlkaxxP4HqHv6T3PNhV9g3Y"` ujawnia, że SHA1 bajtu 20 to `ETag: eoGvPlkaxxP4HqHv6T3PNhV9g3Y`
* **`Allow`**: Ten nagłówek służy do komunikowania obsługiwanych metod HTTP przez zasób. Na przykład może być określony jako `Allow: GET, POST, HEAD`, co wskazuje, że zasób obsługuje te metody.
* **`Expect`**: Wykorzystywany przez klienta do przekazywania oczekiwań, które serwer musi spełnić, aby żądanie zostało pomyślnie przetworzone. Powszechne zastosowanie to nagłówek `Expect: 100-continue`, który sygnalizuje, że klient zamierza wysłać duży ładunek danych. Klient oczekuje odpowiedzi `100 (Continue)` przed kontynuacją transmisji. Mechanizm ten pomaga optymalizować wykorzystanie sieci poprzez oczekiwanie na potwierdzenie serwera.
* Nagłówek **`Content-Disposition`** w odpowiedziach HTTP określa, czy plik powinien być wyświetlany **inline** (wewnątrz strony internetowej) czy traktowany jako **załącznik** (pobierany). Na przykład:
Poprzez egzekwowanie 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 domyślnie kod JavaScript.
Ten nagłówek zapobiega analizowaniu typu MIME, praktyce, która może prowadzić do podatności na XSS. Zapewnia, że przeglądarki będą szanować typy MIME określone przez serwer.
Aby zwalczyć clickjacking, ten nagłówek ogranicza sposób osadzania dokumentów w tagach `<frame>`, `<iframe>`, `<embed>` lub `<object>`, zalecając wszystkim dokumentom określenie swoich uprawnień do osadzania w sposób jawny.
CORP jest kluczowy dla określenia, które zasoby mogą być ładowane przez strony internetowe, zmniejszając wycieki między stronami. CORS natomiast umożliwia bardziej elastyczny mechanizm udostępniania zasobów między domenami, łagodząc politykę tej samej domeny w określonych warunkach.
COEP i COOP są kluczowe dla umożliwienia izolacji między-oryginalnej, znacząco zmniejszając ryzyko ataków podobnych do Spectre. Kontrolują one ładowanie zasobów z innych źródeł oraz interakcje z oknami z innych źródeł, odpowiednio.
Ostatecznie, HSTS to funkcja zabezpieczeń, która zmusza przeglądarki do komunikowania się tylko z serwerami poprzez bezpieczne połączenia HTTPS, zwiększając tym samym prywatność i bezpieczeństwo.
<summary><strong>Zdobądź wiedzę na temat hakowania 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ź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](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) na GitHubie.