Ta strona zawiera informacje o problemie bezpieczeństwa związanym z Cross Site Scripting, jego wpływie na sam serwer Apache i sposobach prawidłowej ochrony przed nim podczas korzystania z technologii powiązanych z Apache Aby zapoznać się z omówieniem tego problemu, zobacz dokument CERT Advisory CA-2000-02, który został wydany na ten temat. Należy również zapoznać się z powiązanym dokumentem Zrozumienie ograniczania szkodliwej zawartości dla programistów sieci Web z poradami technicznymi. Poradnik CERT zawiera również łącza do wielu dokumentów opublikowanych przez firmę Microsoft w tej sprawie, z którymi również warto się zapoznać, jeśli problem dotyczy Ciebie. Informacje zawarte w tych dokumentach nie będą tutaj powtarzane; te informacje zakładają, że przeczytałeś te dokumenty i znasz problem Pragniemy podkreślić, że nie jest to atak na konkretny błąd w konkretnym oprogramowaniu. To nie jest problem Apache'a. To nie jest problem Microsoftu. To nie jest problem Netscape. W rzeczywistości nie jest to nawet problem, który można jasno zdefiniować jako problem z serwerem lub problem z klientem. Jest to problem, który jest naprawdę wieloplatformowy i jest wynikiem nieprzewidzianych i nieoczekiwanych interakcji między różnymi komponentami zestawu połączonych ze sobą złożonych systemów Istnieją określone błędy w szerokiej gamie produktów serwerów WWW, w tym Apache, które umożliwiają lub przyczyniają się do wykorzystania tego problemu bezpieczeństwa. Te błędy nie powinny tam być i muszą zostać naprawione. Ale bardzo ważne jest, aby zdać sobie sprawę, że jest to tylko niewielka część całego problemu. Najpoważniejszy problem dotyczy całego kodu witryny, który generuje dynamiczną zawartość. Przedstawiamy te informacje, aby poinformować Cię o problemach wykrytych w Apache, które są związane z tym problemem bezpieczeństwa, ale, co ważniejsze, pomóc Ci dowiedzieć się, w jaki sposób może to wpłynąć na Twój własny kod lokalny opracowany przy użyciu technologii związanych z Apache i jak mogę to naprawić Nie ma złotej łatki, którą dostawcy serwerów lub klientów mogliby wypuścić, która magicznie naprawiłaby ten problem na wszystkich serwerach WWW lub klientach korzystających z tego produktu Chcielibyśmy również zwrócić uwagę, że ważne jest, aby zrozumieć, że nie jest to stary, dobrze znany problem, że jeśli witryna pozwala użytkownikowi A na przesyłanie treści, które przegląda użytkownik B, musi to być odpowiednio zakodowane. Ta luka w zabezpieczeniach występuje, gdy treść jest zarówno przesyłana, jak i przeglądana wyłącznie przez użytkownika A. Ze względu na trudność prawidłowego kodowania danych wyjściowych we wszystkich sytuacjach wiele witryn nie martwi się o kodowanie danych, które są widoczne tylko dla użytkownika, który wysłał dane w ich żądaniu z powodu błędnego założenia, że ​​nie stanowi to zagrożenia dla bezpieczeństwa Czy ma to wpływ na moją stronę internetową? Jest to poważny problem bezpieczeństwa, z potencjalnymi konsekwencjami, które dopiero zaczynają być rozumiane. Jednak bardzo ważne jest, aby zdać sobie sprawę, że ten problem nie ujawnia żadnego sposobu na włamanie się do samego serwera. Pozwala złośliwym atakującym potencjalnie przejąć kontrolę nad interakcją między użytkownikiem a witryną. Jeśli Twoja witryna zawiera całkowicie statyczną zawartość, a wszystkie informacje są dostępne, atakujący może niewiele zyskać na przejęciu tej interakcji. Prawdopodobnie najpoważniejszą rzeczą, jaką osoba atakująca może potencjalnie zrobić w tej sytuacji, jest zmiana sposobu wyświetlania strony dla określonego użytkownika Witryny, w których stwarza to największe potencjalne zagrożenie, to witryny, w których użytkownicy mają jakiś rodzaj konta lub loginu i gdzie mogą wykonywać działania mające implikacje w świecie rzeczywistym lub uzyskiwać dostęp do danych, które nie powinny być dostępne. Ten problem z bezpieczeństwem stanowi poważne zagrożenie dla takich witryn; nie trzeba włamywać się na serwer, aby przejąć kontrolę nad witryną, jeśli zamiast tego można uzyskać dostęp po stronie użytkownika Ok, gdzie są informacje związane z Apache? Apache 1.3.12, który zapewnia pewną ochronę przed niektórymi przypadkami tego problemu âÃÂâ Starsza łatka Apache przeciwko 1.3.11, która rozwiązywała znane problemy w tej wersji Apache âÃÂâ Strona z przykładami kodowania, opisująca, jak prawidłowo zakodować dane wyjściowe w celu ochrony przed tym problemem przy użyciu typowych technologii związanych z Apache, takich jak moduły Apache, Perl i PHP Nie spodziewamy się, że będzie to ostatnie słowo w kwestii sposobów wykorzystania tego problemu. Prawdopodobnie w przyszłości pojawi się więcej zmian w Apache, aby pomóc użytkownikom uporać się z tym problemem, nawet jeśli w samym Apache nie zostaną znalezione żadne błędy. Mimo że zapewniamy witrynom większość informacji niezbędnych do ochrony przed tego typu atakami, nadal istnieje wiele otwartych problemów związanych z tym problemem Zdajemy sobie sprawę, że jest to złożony problem i spodziewamy się zaktualizować te strony, aby opisywać problemy i poprawki bardziej szczegółowo, gdy czas na to pozwoli Dlaczego nazwa „Cross Site Scripting”? Ten problem nie dotyczy tylko skryptów i niekoniecznie jest w nim coś między witrynami. Dlaczego więc nazwa? Został ukuty wcześniej, kiedy problem był mniej rozumiany, i utknął. Uwierz mi, mieliśmy ważniejsze rzeczy do zrobienia niż wymyślanie lepszego imienia. Wszelkie uwagi i sugestie dotyczące tego zestawu stron można przesyłać na adres [email protected]. Pamiętaj, że nie mogę odpowiadać na pytania ani prośby o pomoc, więc jeśli to właśnie zamierzasz wysłać, oszczędź sobie wysiłku.