Slovník pojmů > Pojem - MIME-sniffing

Pojem - MIME-sniffing

« Back to Glossary Index

MIME-sniffing je proces, při kterém prohlížeč určuje typ obsahu souboru (MIME typ) na základě jeho skutečného obsahu, nikoli na základě deklarovaného MIME typu v HTTP hlavičce. Tento mechanismus je běžně využíván, aby prohlížeč zvládl situace, kdy server nesprávně uvede MIME typ nebo jej vůbec nespecifikuje.

Jak MIME-sniffing funguje?

Když prohlížeč obdrží odpověď od serveru, může:

  1. Číst první bajty obsahu (tzv. „content sniffing“) a na jejich základě určit, co je obsahem souboru (např. obrázek, text, video)
  2. Porovnat tyto informace s deklarovaným MIME typem (pokud je uveden)

Proč představuje MIME-sniffing bezpečnostní riziko?

Kvůli MIME-sniffingu se můžeme setkat s XSS, který si vysvětlíme níže:

  • XSS (Cross-Site Scripting)
    • Pokud server vrátí uživatelsky nahraný soubor, např. obrázek, s nesprávným MIME typem (např. text/html), prohlížeč může obsah interpretovat jako HTML a spustit škodlivý kód

Příklad útoku

  1. Server vrátí soubor s názvem malicious.jpg, ale MIME typ je deklarován jako text/html
  2. Prohlížeč spustí HTML, nebo JavaScript obsažený v souboru malicious.jpg, čímž umožní útok

Jak svůj web ochránit?

Řešení je zcela jednoduché. Stačí u hlavičky X-Content-Type-Options nastavit možnost nosniff, která prohlížeči zakáže provádět MIME-sniffing.

Ve WordPressu lze pro nastavení bezpečnostních hlaviček použít například pluginHTTP Headers„, který mohu vřele doporučit. Kromě toho doporučuji nastavit také ostatní bezpečnostní hlavičky vašeho webu, jako jsou například:

Díky tomu bude váš web lépe zabezpečený.

Změny si můžete ověřit například na webových stránkách www.securityheaders.com.

« Zpět do slovníku