“X-Content-Type-Options = nosniff” nedir?


292

OWASP ZAP ile localhost üzerinde bazı penetrasyon testleri yapıyorum ve bu mesajı bildirmeye devam ediyor:

Anti-MIME-Koklama başlığı X-Content-Type-Options, 'nosniff' olarak ayarlanmadı

Bu kontrol Internet Explorer 8 ve Google Chrome'a ​​özeldir. Content-Type üstbilgisi bilinmiyorsa, her sayfanın bir Content-Type üstbilgisi ve X-CONTENT-TYPE-OPTIONS ayarladığından emin olun

Bunun ne anlama geldiğine dair hiçbir fikrim yok ve çevrimiçi hiçbir şey bulamadım. Eklemeyi denedim:

<meta content="text/html; charset=UTF-8; X-Content-Type-Options=nosniff" http-equiv="Content-Type" />

ama yine de uyarıyı alıyorum.

Parametreyi ayarlamanın doğru yolu nedir?

Yanıtlar:


179

Tarayıcının MIME tipi koklama yapmasını önler. Tarayıcılar artık Chrome / Chromium, Edge, IE> = 8.0, Firefox> = 50 ve Opera> = 13 dahil olmak üzere bu başlığa saygı duyuyor.

https://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx?Redirected=true

Yeni X-Content-Type-Options yanıt başlığını nosniff değeriyle göndermek, Internet Explorer'ın MIME'ın bildirilen içerik türünden bir yanıtı koklamasını önleyecektir.

DÜZENLE:

Ve bu bir HTTP üstbilgisi, HTML meta etiketi seçeneği değil.

Ayrıca bkz: http://msdn.microsoft.com/en-us/library/ie/gg622941(v=vs.85).aspx


22
Bundan bahsetmelisin for servers hosting untrusted content. Kullanıcı yüklemelerinden içerik görüntülemeyen web siteleri için bunu ayarlamanız gerekmez.
machineaddict

12
@machineaddict, Yanlış . Koklama, içeriğin güvenilir olup olmadığına bakılmaksızın gerçekleşir. Bkz. Security.stackexchange.com/a/11761/2379 . Sitenizi ince yollarla kıracaktır. Sürprizleri sevmiyorsanız her zaman koklamayı devre dışı bırakın.
Pacerier

33
Sanırım "MIME tipi koklama nedir?"
VarunAgw

3
firefoxşimdi bu başlığı da destekliyor: developer.mozilla.org/tr-TR/docs/Web/HTTP/Headers/…
VasiliNovikov

'Zorlama' başlığı 'zorunlu' olarak yanlış yorumlanabilir, 'saygılı' olarak değiştirdim.
Charlie

136

Açıklama

Sunucunun X-Content-Type-OptionsHTTP yanıt üstbilgisini ayarlamak, nosnifftarayıcılara içeriği devre dışı bırakmalarını veyaContent-Type örtük bir içerik türü kullanarak verileri tahmin etmek ve işlemek için yanıt başlıklarını geçersiz kılmak için kullanılan MIME kokusunu alma talimatı verir . Bu, bazı senaryolarda uygun olsa da, aşağıda listelenen bazı saldırılara da yol açabilir. Sunucunuzu X-Content-Type-OptionsHTTP yanıt üstbilgisi olarak ayarlanmış şekilde döndürecek şekilde yapılandırmak, nosniffMIME kokusunu destekleyen tarayıcılara sağlanan sunucuyu kullanmalarını Content-Typeve içeriği farklı bir içerik türü olarak yorumlamalarını bildirir .

Tarayıcı Desteği

X-Content-Type-OptionsHTTP yanıt başlığı Chrome, Firefox ve Kenar yanı sıra diğer tarayıcılarda desteklenir. En son tarayıcı desteği, X-Content-Type-Options için Mozilla Developer Network (MDN) Tarayıcı Uyumluluk Tablosunda mevcuttur:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options

Karşı Saldırılar

  1. MIME Confusion Attack , daha sonra tarayıcılar tarafından yürütülen ve örneğin örtükapplication/javascriptveya açık olanalternatif içerik türlerini kullanarak dosyaları yorumlayacak olan kötü amaçlı kod yükleyen kullanıcılara izin vererek kullanıcı tarafından oluşturulan içerik siteleri aracılığıyla saldırılara izin verirtext/plain. Bu,kimlik avı için yaygın bir saldırı vektörü olan "sürücü indirme" saldırısına neden olabilir. Kullanıcı tarafından oluşturulan içeriği barındıran siteler, kullanıcılarını korumak için bu üstbilgiyi kullanmalıdır. Bu, VeraCode ve OWASP tarafındanaşağıdakileri söylüyor:

    Bu, akıllı indirme ile MSIE tarafından yürütülebilir veya dinamik HTML dosyaları olarak ele alınabilecek, kullanıcı tarafından yüklenen içeriğe hizmet veren, sürerek indirme saldırılarına ve sitelere maruz kalmayı azaltır.

  2. Yetkisiz Hotlinking ,Content-Typekoklama ilede etkinleştirilebilir. Örneğin görüntüleme gibi kaynaklara sahip sitelere hotlink bağlayarak, uygulamalar içerik türü koklamaya güvenebilir ve hizmet şartlarına aykırı olabilecek başka bir amaç için sitelerde çok fazla trafik oluşturabilir, örneğin GitHub görüntülemek için JavaScript kodu görüntüler, ancak uygulama için değil:

    Bazı sinir bozucu olmayan kullanıcılar (yani bilgisayarlar), srcbir <script>veya <img>etiketi için ham URL'yi kullanarak ham görünüm özelliği aracılığıyla varlıkları "hotlinking" e götürmüştür . Sorun, bunların statik varlıklar olmamasıdır. Ham dosya görünümü, bir Rails uygulamasındaki diğer görünümler gibi, kullanıcıya geri gönderilmeden önce oluşturulmalıdır. Bu, hızlı bir şekilde performansta büyük bir artış sağlar. Geçmişte, sunucularımıza aşırı yük bindirdiği için bu şekilde sunulan popüler içeriği engellemeye zorlandık.


Açık bir içerik türünü göz ardı etmeye ve tahmin çalışması kullanmaya karar vermenin iyi bir fikir olacağını kim düşünmüştü? omg ...
Sam Sirry

105
# prevent mime based attacks
Header set X-Content-Type-Options "nosniff"

Bu başlık "mime" tabanlı saldırıları önler. Bu üstbilgi, tarayıcıya yanıt içerik türünü geçersiz kılmaması talimatını verdiğinden, Internet Explorer'ın MIME'ın bildirilen içerik türünden bir yanıtı koklamasını önler. Nosniff seçeneğiyle, sunucu içeriğin metin / html olduğunu söylüyorsa, tarayıcı bunu metin / html olarak işler.

http://stopmalvertising.com/security/securing-your-website-with-.htaccess/.htaccess-http-headers.html


1
Her zaman böyle olmamalı mı ?! Bir tarayıcının "akıllı" davranmaya çalışacağını ve açık bir içerik türü üstbilgisini göz ardı edeceğini garip buluyorum.
Sam Sirry

25

Microsoft IIS sunucuları için, bu üstbilgiyi web.configdosyanızla etkinleştirebilirsiniz :

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Content-Type-Options"/>
        <add name="X-Content-Type-Options" value="nosniff"/>
      </customHeaders>
    </httpProtocol>
</system.webServer>

Ve işiniz bitti.


3
IIS'de özel üstbilgiler ayarlamak da mümkündür, ancak çözümünüz, yönetilen yapılandırma yerine kaynak denetimli olabileceğinden daha iyidir.
ajeh

9

X-Content-Type-Options yanıtı HTTP üstbilgisi, sunucu tarafından, Content-Type başlıklarında reklamı yapılan MIME türlerinin değiştirilmemesi ve takip edilmesi gerektiğini belirtmek için kullanılan bir işaretleyicidir. Bu, MIME tipi koklamanın devre dışı bırakılmasına izin verir veya başka bir deyişle, web yöneticilerinin ne yaptıklarını bildiğini söylemenin bir yoludur.

Sözdizimi:

X-İçerik-Tür-Seçenekler: nosniff

Direktifler:

nosniff İstenen tür 1 ise bir isteği engeller . "stil" ve MIME türü "text / css" veya 2. "komut dosyası" değilse ve MIME türü bir JavaScript MIME türü değilse.

Not: nosniff yalnızca "kod" ve "stil" türleri için geçerlidir. Ayrıca nosniff uygulamasının mevcut web siteleriyle uyumsuz olduğu ortaya çıktı.

Şartname :

https://fetch.spec.whatwg.org/#x-content-type-options-header

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.