"X-Content-Type-Options = nosniff" क्या है?


291

मैं OWASP ZAP के साथ अपने लोकलहोस्ट पर कुछ प्रवेश परीक्षण कर रहा हूं, और यह इस संदेश को रिपोर्ट करता रहता है:

एंटी-माइम-स्निफिंग हेडर एक्स-कंटेंट-टाइप-ऑप्शंस 'नोस्नीफ' पर सेट नहीं किया गया था

यह जांच इंटरनेट एक्सप्लोरर 8 और गूगल क्रोम के लिए विशिष्ट है। सुनिश्चित करें कि यदि कंटेंट-टाइप हैडर अज्ञात है तो प्रत्येक पृष्ठ एक कंटेंट-टाइप हेडर और X-CONTENT-TYPE-OPTIONS सेट करता है।

मुझे नहीं पता कि इसका क्या मतलब है, और मुझे ऑनलाइन कुछ भी नहीं मिला। मैंने जोड़ने की कोशिश की है:

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

लेकिन मुझे अभी भी अलर्ट है।

पैरामीटर सेट करने का सही तरीका क्या है?

जवाबों:


178

यह ब्राउज़र को MIME- टाइप सूँघने से रोकता है। अधिकांश ब्राउज़र अब इस हेडर का सम्मान कर रहे हैं, जिसमें क्रोम / क्रोमियम, एज, IE> = 8.0, फ़ायरफ़ॉक्स> = 50 और ओपेरा> 13. ":

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

मूल्य nosniff के साथ नए एक्स-कंटेंट-टाइप-विकल्प प्रतिक्रिया हेडर भेजना इंटरनेट एक्सप्लोरर को MIME-sniffing से घोषित सामग्री-प्रकार से दूर प्रतिक्रिया को रोक देगा।

संपादित करें:

ओह और, यह एक HTTP हेडर है, HTML मेटा टैग विकल्प नहीं है।

इसे भी देखें: http://msdn.microsoft.com/en-us/library/ie/gg622941(v=vs.85).aspx


22
आप का उल्लेख करना होगा कि है for servers hosting untrusted content। उन वेबसाइट के लिए जो उपयोगकर्ता के अपलोड से सामग्री प्रदर्शित नहीं करती हैं, आपको इसे सेट करने की आवश्यकता नहीं है।
मशीनीडिट

12
@machineaddict, गलत । सूँघने की परवाह किए बिना होगा कि क्या सामग्री विश्वसनीय या अविश्वसनीय है। देखें security.stackexchange.com/a/11761/2379 । यह आपकी साइट को सूक्ष्म तरीकों से तोड़ देगा। यदि आप आश्चर्य पसंद नहीं करते हैं तो हमेशा सूँघने को अक्षम करें।
पचेरियर

33
मुझे लगता है कि आप "क्या MIME- प्रकार की सूँघ रहे हैं?"
वरुणअगव

3
firefoxइस हेडर का अब भी समर्थन करता है: developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…
VasiliNovikov

हेडर को 'लागू करने' को 'आवश्यक' के रूप में गलत समझा जा सकता है, मैंने इसे 'सम्मान' में बदल दिया।
चार्ली

136

विवरण

किसी सर्वर की X-Content-Type-OptionsHTTP प्रतिक्रिया हेडर सेट करना nosniffब्राउज़रों को सामग्री को निष्क्रिय करने का निर्देश देता है या MIME सूँघने का उपयोग किया जाता है जिसका Content-Typeउपयोग किसी अनुमानित सामग्री प्रकार का उपयोग करके डेटा का अनुमान लगाने और संसाधित करने के लिए प्रतिक्रिया हेडर को ओवरराइड करने के लिए किया जाता है । हालांकि यह कुछ परिदृश्यों में सुविधाजनक हो सकता है, यह नीचे सूचीबद्ध कुछ हमलों को भी जन्म दे सकता है। X-Content-Type-OptionsHTTP प्रतिसाद शीर्ष लेख को वापस करने के लिए अपने सर्वर को कॉन्फ़िगर करना सर्वर को nosniffप्रदान करने के लिए MIME सूँघने का समर्थन करने वाले ब्राउज़रों को निर्देश देगा कि Content-Typeसामग्री को भिन्न सामग्री प्रकार के रूप में व्याख्या न करें।

ब्राउज़र का समर्थन

X-Content-Type-OptionsHTTP प्रतिक्रिया हेडर क्रोम, फायरफॉक्स और एज के साथ-साथ अन्य ब्राउज़रों में समर्थित है। नवीनतम ब्राउज़र समर्थन मोज़िला डेवलपर नेटवर्क (एमडीएन) पर उपलब्ध है जो एक्स-कंटेंट-टाइप-ऑप्शंस के लिए ब्राउज़र कम्पैटिबिलिटी टेबल है:

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

हमलों का मुकाबला किया

  1. MIME कन्फ्यूजन अटैक उपयोगकर्ताओं को दुर्भावनापूर्ण कोड अपलोड करने की अनुमति देकर उपयोगकर्ता द्वारा उत्पन्न सामग्री साइटों के माध्यम से हमलों को सक्षम करता है, जो तब ब्राउज़रों द्वारा निष्पादित किया जाता है, जो वैकल्पिक सामग्री प्रकारों का उपयोग करके फ़ाइलों की व्याख्या करेगा, जैसे अंतर्निहितapplication/javascriptबनाम स्पष्टtext/plain। इसके परिणामस्वरूप "ड्राइव-बाय डाउनलोड" हमला हो सकता है जो फ़िशिंग के लिए एक सामान्य हमला वेक्टर है। उपयोगकर्ता उत्पन्न सामग्री होस्ट करने वाली साइटें अपने उपयोगकर्ताओं की सुरक्षा के लिए इस शीर्ष लेख का उपयोग करें। यह VeraCode और OWASP द्वारा उल्लिखित हैजो निम्नलिखित कहता है:

    यह ड्राइव-द्वारा डाउनलोड हमलों और उपयोगकर्ता द्वारा अपलोड की जाने वाली सामग्री परोसने वाली साइटों के एक्सपोज़र को कम करता है, जिन्हें चतुर नामकरण द्वारा MSIE द्वारा निष्पादन योग्य या गतिशील HTML फ़ाइलों के रूप में माना जा सकता है।

  2. सूंघ कर अनधिकृत हॉटलिंकिंग को भी सक्षम किया जा सकता हैContent-Type। एक उद्देश्य के लिए संसाधनों के साथ साइटों को हॉटलिंक करके, उदाहरण के लिए, ऐप्स सामग्री-प्रकार की सूँघने पर भरोसा कर सकते हैं और दूसरे उद्देश्य के लिए साइटों पर बहुत अधिक ट्रैफ़िक उत्पन्न कर सकते हैं जहाँ यह उनकी सेवा की शर्तों के विरुद्ध हो सकता है, जैसे GitHub देखने के लिए जावास्क्रिप्ट कोड प्रदर्शित करता है, लेकिन निष्पादन के लिए नहीं:

    कुछ pesky गैर-मानव उपयोगकर्ताओं (अर्थात् कंप्यूटर) ने कच्चे दृश्य सुविधा के माध्यम से संपत्ति को "हॉटलिंकिंग" करने के लिए ले लिया है - कच्चे URL का उपयोग srcएक <script>या <img>टैग के लिए। समस्या यह है कि ये स्थैतिक संपत्ति नहीं हैं। उपयोगकर्ता को वापस किए जाने से पहले रॉ फ़ाइल दृश्य, किसी भी अन्य दृश्य की तरह, एक रैल ऐप में दिया जाना चाहिए। यह प्रदर्शन पर एक बड़ा टोल जोड़ता है। अतीत में हमें लोकप्रिय सामग्री को इस तरह से अवरुद्ध करने के लिए मजबूर किया गया है क्योंकि यह हमारे सर्वर पर अत्यधिक दबाव डालता है।


किसने सोचा था कि एक स्पष्ट सामग्री-प्रकार और उपयोग अनुमान कार्य की उपेक्षा करना एक अच्छा विचार होगा? omg ...
सैम सिर्री

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

यह शीर्ष लेख "माइम" आधारित हमलों को रोकता है। यह हेडर इंटरनेट एक्सप्लोरर को MIME से सूंघने से घोषित कंटेंट-टाइप से दूर रहता है क्योंकि हेडर ब्राउजर को रिस्पॉन्स कंटेंट टाइप को ओवरराइड नहीं करने का निर्देश देता है। Nosniff विकल्प के साथ, यदि सर्वर कहता है कि सामग्री पाठ / html है, तो ब्राउज़र इसे पाठ / html के रूप में प्रस्तुत करेगा।

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


1
यह हमेशा मामला नहीं होना चाहिए ?! मुझे यह अजीब लगता है कि एक ब्राउज़र "स्मार्ट" कार्य करने की कोशिश करेगा और एक स्पष्ट सामग्री-प्रकार हेडर को अनदेखा करेगा।
सैम सिर्री

25

Microsoft IIS सर्वर के लिए, आप अपनी web.configफ़ाइल के माध्यम से इस हेडर को सक्षम कर सकते हैं :

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

और आप कर रहे हैं।


3
IIS में कस्टम हेडर सेट करना भी संभव है, लेकिन आपका समाधान बेहतर है क्योंकि यह प्रबंधित कॉन्फ़िगरेशन के बजाय स्रोत को नियंत्रित कर सकता है।
अजेह

9

एक्स-कंटेंट-टाइप-ऑप्शंस प्रतिक्रिया HTTP हेडर सर्वर द्वारा उपयोग किया जाने वाला एक मार्कर है जो यह दर्शाता है कि सामग्री प्रकार हेडर में विज्ञापित MIME प्रकारों को बदला नहीं जाना चाहिए और उनका पालन किया जाना चाहिए। यह MIME प्रकार की सूँघने से बाहर निकलने की अनुमति देता है, या, दूसरे शब्दों में, यह कहने का एक तरीका है कि वेबमास्टरों को पता था कि वे क्या कर रहे थे।

वाक्य - विन्यास :

X-Content-Type-Options: nosniff

निर्देश:

nosniff एक अनुरोध को ब्लॉक करता है यदि अनुरोधित प्रकार 1. "शैली" है और MIME प्रकार "पाठ / सीएसएस", या 2. "स्क्रिप्ट" नहीं है और MIME प्रकार जावास्क्रिप्ट MIME प्रकार नहीं है।

नोट: nosniff केवल "स्क्रिप्ट" और "शैली" प्रकारों पर लागू होता है। मौजूदा वेब साइटों के साथ असंगत होने के लिए छवियों के लिए nosniff को लागू करना।

विशिष्टता:

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.