Special HTTP headers
Kelime Listeleri & Araçlar
Konumu Değiştirmek için Başlıklar
IP kaynağını yeniden yazın:
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Forwarded-Host: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Host: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
Via: 1.0 fred, 1.1 127.0.0.1
Connection: close, X-Forwarded-For
(Hop-by-hop başlıklarını kontrol edin)
konumu yeniden yazın:
X-Original-URL: /admin/console
X-Rewrite-URL: /admin/console
Hop-by-Hop başlıkları
Bir hop-by-hop başlığı, isteği şu anda işleyen proxy tarafından işlenmek ve tüketilmek üzere tasarlanmış bir başlıktır, uçtan uca başlık yerine.
Connection: close, X-Forwarded-For
HTTP İstek Kaçırma
Content-Length: 30
Transfer-Encoding: chunked
Önbellek Başlıkları
Sunucu Önbellek Başlıkları:
X-Cache
yanıtında, istek önbelleğe alınmadığındamiss
değeri ve önbelleğe alındığındahit
değeri olabilirCf-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
Yerel Önbellek başlıkları:
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 fazlaWarning
başlığı görünebilir.Warning: 110 anderson/1.3.37 "Response is stale"
Koşullu İstekler
Bu başlıkları kullanan istekler:
If-Modified-Since
veIf-Unmodified-Since
yalnızca yanıt başlığı**Last-Modified
** farklı bir zaman içeriyorsa veri ile yanıtlanır.If-Match
veIf-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.
Aralık İstekleri
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.
Mesaj gövdesi bilgileri
Content-Length
: Kaynağın boyutu, ondalık sayı olarak bayt cinsinden.Content-Type
: Kaynağın medya türünü belirtirContent-Encoding
: Sıkıştırma algoritmasını belirtmek için kullanılır.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.Content-Location
: Döndürülen veriler için alternatif bir konumu belirtir.
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 veETag: W/"1-eoGvPlkaxxP4HqHv6T3PNhV9g3Y"
içeren bir yanıt, 20. baytın SHA1'ininETag: eoGvPlkaxxP4HqHv6T3PNhV9g3Y
olduğunu sızdırmaktadır.
Sunucu Bilgisi
Server: Apache/2.4.1 (Unix)
X-Powered-By: PHP/5.3.3
Kontroller
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ı belirtenExpect: 100-continue
başlığıdır. İstemci, iletimi sürdürmeden önce100 (Continue)
yanıtını bekler. Bu mekanizma, sunucu onayını bekleyerek ağ kullanımını optimize etmeye yardımcı olur.
İndirmeler
HTTP yanıtlarındaki
Content-Disposition
başlığı, bir dosyanın inline (web sayfası içinde) mi yoksa ek (indirilmiş) olarak mı görüntülenmesi gerektiğini yönlendirir. Örneğin:
Bu, "filename.jpg" adlı dosyanın indirilip kaydedilmek üzere tasarlandığı anlamına gelir.
Güvenlik Başlıkları
İçerik Güvenlik Politikası (CSP)
Content Security Policy (CSP) BypassGüvenilir Türler
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.
X-Content-Type-Options
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.
X-Frame-Options
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.
Cross-Origin Resource Policy (CORP) ve Cross-Origin Resource Sharing (CORS)
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.
Cross-Origin Embedder Policy (COEP) ve Cross-Origin Opener Policy (COOP)
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.
HTTP Strict Transport Security (HSTS)
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.
Referanslar
Last updated