AWS Hacking'i öğrenin ve pratik yapın:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi takip edin****Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **`X-Cache`** yanıtında, istek önbelleğe alınmadığında **`miss`** değeri ve önbelleğe alındığında **`hit`** değeri olabilir
* **`Cf-Cache-Status`** başlığında benzer bir davranış
* **`Cache-Control`** bir kaynağın önbelleğe alınıp alınmadığını ve bir sonraki önbelleğe alma zamanını belirtir: `Cache-Control: public, max-age=1800`
* **`Vary`** genellikle yanıt içinde, normalde anahtarlanmamış olsalar bile **önbellek anahtarının** bir parçası olarak kabul edilen **ek başlıkleri** belirtmek için kullanılır.
* **`Age`** nesnenin proxy önbelleğinde kaç saniye kaldığını tanımlar.
* **`Server-Timing: cdn-cache; desc=HIT`** ayrıca bir kaynağın önbelleğe alındığını gösterir
*`Clear-Site-Data`: Silinmesi gereken önbelleği belirtmek için başlık: `Clear-Site-Data: "cache", "cookies"`
*`Expires`: Yanıtın ne zaman sona ereceğini içeren tarih/saat: `Expires: Wed, 21 Oct 2015 07:28:00 GMT`
*`Pragma: no-cache``Cache-Control: no-cache` ile aynı
*`Warning`: **`Warning`** genel HTTP başlığı, mesajın durumu ile ilgili olası sorunlar hakkında bilgi içerir. Yanıt içinde birden fazla `Warning` başlığı görünebilir. `Warning: 110 anderson/1.3.37 "Response is stale"`
* Bu başlıkları kullanan istekler: **`If-Modified-Since`** ve **`If-Unmodified-Since`** yalnızca yanıt başlığı\*\*`Last-Modified`\*\* farklı bir zaman içeriyorsa veri ile yanıtlanır.
* **`If-Match`** ve **`If-None-Match`** kullanan koşullu istekler, web sunucusunun yanıt içeriğini göndermesi için bir Etag değeri kullanır, eğer veri (Etag) değiştiyse. `Etag`, HTTP yanıtından alınır.
* **Etag** değeri genellikle yanıtın **içeriğine** dayalı olarak **hesaplanır**. Örneğin, `ETag: W/"37-eL2g8DEyqntYlaLp5XLInBWsjWI"` ifadesi, `Etag`'ın **37 bayt**'ın **Sha1**'ı olduğunu gösterir.
* **`Accept-Ranges`**: Sunucunun aralık isteklerini destekleyip desteklemediğini ve destekliyorsa aralığın hangi birimde ifade edilebileceğini belirtir. `Accept-Ranges: <range-unit>`
* **`Range`**: Sunucunun döndürmesi gereken belgenin kısmını belirtir.
* **`If-Range`**: Verilen etag veya tarih uzaktan kaynakla eşleşirse yalnızca yerine getirilen koşullu bir aralık isteği oluşturur. Kaynağın uyumsuz sürümlerinden iki aralık indirmeyi önlemek için kullanılır.
* **`Content-Range`**: Tam bir gövde mesajında bir kısmi mesajın nerede yer aldığını belirtir.
* **`Content-Language`**: Hedef kitle için tasarlanmış insan dili(leri)ni tanımlar, böylece kullanıcıların kendi tercih ettikleri dile göre ayırt etmelerine olanak tanır.
Bir pentest açısından bu bilgi genellikle "işe yaramaz", ancak kaynak **401** veya **403** ile **korunuyorsa** ve bu **bilgiyi****almanın** bir **yolunu** bulursanız, bu **ilginç** olabilir.\
Örneğin, bir HEAD isteğindeki **`Range`** ve **`Etag`** kombinasyonu, HEAD istekleri aracılığıyla sayfanın içeriğini sızdırabilir:
*`Range: bytes=20-20` başlığına sahip bir istek ve `ETag: W/"1-eoGvPlkaxxP4HqHv6T3PNhV9g3Y"` içeren bir yanıt, 20. baytın SHA1'inin `ETag: eoGvPlkaxxP4HqHv6T3PNhV9g3Y` olduğunu sızdırmaktadır.
* **`Allow`**: Bu başlık, bir kaynağın işleyebileceği HTTP yöntemlerini iletmek için kullanılır. Örneğin, `Allow: GET, POST, HEAD` olarak belirtilmişse, kaynak bu yöntemleri destekliyor demektir.
* **`Expect`**: İsteğin başarılı bir şekilde işlenmesi için sunucunun karşılaması gereken beklentileri iletmek için istemci tarafından kullanılır. Yaygın bir kullanım durumu, istemcinin büyük bir veri yükü göndermeyi planladığını belirten `Expect: 100-continue` başlığıdır. İstemci, iletimi sürdürmeden önce `100 (Continue)` yanıtını bekler. Bu mekanizma, sunucu onayını bekleyerek ağ kullanımını optimize etmeye yardımcı olur.
CSP aracılığıyla Güvenilir Türlerin uygulanmasıyla, uygulamalar DOM XSS saldırılarına karşı korunabilir. Güvenilir Türler, yalnızca belirli güvenlik politikalarına uygun olarak hazırlanmış nesnelerin tehlikeli web API çağrılarında kullanılmasını sağlar ve böylece JavaScript kodunu varsayılan olarak güvence altına alır.
Bu başlık, XSS zafiyetlerine yol açabilecek bir uygulama olan MIME türü koklamayı önler. Tarayıcıların sunucu tarafından belirtilen MIME türlerine saygı göstermesini sağlar.
Clickjacking ile mücadele etmek için, bu başlık belgelerin `<frame>`, `<iframe>`, `<embed>` veya `<object>` etiketlerinde nasıl gömülebileceğini kısıtlar ve tüm belgelerin gömme izinlerini açıkça belirtmesini önerir.
CORP, hangi kaynakların web siteleri tarafından yüklenebileceğini belirlemek için kritik öneme sahiptir ve cross-site leak'lerini azaltır. CORS ise, belirli koşullar altında aynı köken politikasını gevşeterek daha esnek bir cross-origin resource sharing mekanizması sağlar.
COEP ve COOP, cross-origin izolasyonunu sağlamak için gereklidir ve Spectre benzeri saldırıların riskini önemli ölçüde azaltır. Sırasıyla, cross-origin kaynakların yüklenmesini ve cross-origin pencerelerle etkileşimi kontrol eder.
Son olarak, HSTS, tarayıcıların yalnızca güvenli HTTPS bağlantıları üzerinden sunucularla iletişim kurmasını zorlayan bir güvenlik özelliğidir ve böylece gizliliği ve güvenliği artırır.
AWS Hacking öğrenin ve pratik yapın:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**