Zapobieganie potencjalnym lukom XSS w starszych wersjach Adobe Reader
Napisał: Patryk Krawaczyński
15/03/2011 w Bezpieczeństwo 1 komentarz. (artykuł nr 305, ilość słów: 190)
J
ednym ze sposobów uniknięcia przekazywania przez starsze oprogramowanie Adobe Reader oraz wtyczki Acrobat kodu JavaScript do sesji przeglądarek jest wymuszenie otwierania plików PDF bez udziału przeglądarki. W celu osiągnięcia tego – wystarczy zmienić MIME (ang. Multipurpose Internet Mail Extensions) formatu PDF z “application/pdf” na binarny “application/octet-stream”. Spowoduje to, że przy kliknięciu linku przeglądarka poprosi użytkownika o zewnętrzne otworzenie pliku PDF za pomocą powiązanej aplikacji lub zapisanie pliku na dysk.
W serwerze Apache możemy tego dokonać za pomocą poniższych wpisów dodanych do głównego pliku konfiguracyjnego httpd.conf
:
<IfModule mime_module> AddType application/octet-stream .pdf </IfModule> <IfModule headers_module> <FilesMatch "\.pdf$"> Header append Content-Disposition "attachment;" </FilesMatch> </IfModule>
O ile jest to rozwiązanie po stronie serwerowej chroniące starsze oprogramowanie, o tyle po stronie użytkownika – leży obowiązek, aby oprogramowanie służące do obsługi różnych formatów (tutaj PDF) odczytywanych pośrednio przez przeglądarki internetowe było zawsze aktualne.
Więcej informacji: Adobe Security Advisory
Jeśli korzystamy z modułu mod_security2 ten sam efekt możemy osiągnąć dzięki ustawieniu:
SecPdfProtect On
SecPdfProtectMethod ForcedDownload