2011-06-24 32 views

Odpowiedz

3

W Internet Explorer, Firefox i innych przeglądarek można osadzić JavaScript, CSS, określając javascript: URL w oświadczeniu url() CSS.

Nawet jeśli uda ci się je odfiltrować, osoba atakująca może całkowicie przeprojektować stronę (w tym całą zawartość tekstową) za pomocą zaawansowanego CSS. Dlatego niezwykle łatwo jest nakłonić użytkowników do wykonania głupich działań, o czym jest XSS. Na przykład możesz ustawić przycisk Delete Account w całym oknie i zmienić jego tekst na "Kliknij tutaj, aby wygrać 1000 $".

Można biało-lista kilka wybranych właściwości (text-*, font-*, color, background (tylko kolory i gradienty, żadnych adresów URL lub inne fantazyjne rzeczy)), ale musisz odrzucić wszystko, co nie pasuje do tych ograniczeń .

+1

Prawdopodobnie najgorszy IE kiedykolwiek. –

+7

@Amir Raminfar: Myślę, że to krótsza lista, która wymieniłaby to, co IE zrobił dobrze. Zacznę: pozwala mi pobrać prawdziwą przeglądarkę. – Robert

+0

Czy istnieje garstka słów kluczowych CSS, które mogę zablokować, aby zapobiec wykonaniu i wypełnieniu elementów nową treścią? – Tom

0

Interesujące pytanie. Mogę sobie wyobrazić, że arkusz stylów ma możliwość usuwania lub ukrywania elementów, które mogą stanowić problem z bezpieczeństwem. Możesz także wstawić tekst po określonym elemencie za pomocą: after i: before, więc możesz być ostrożny.

Alternatywnie myślę, że powinieneś najpierw dołączyć ich arkusz stylów, aby nie zmieniły nagle wszystkich twoich czcionek lub czegoś globalnego.

+0

W tym arkuszu stylów najpierw nie ma efektu, możesz po prostu zdefiniować reguły o wyższym priorytecie. – phihag

+0

To, co mówię, to dobra rzecz. Jeśli inne css to #foo div, to jasne, że są one ukierunkowane na te elementy div. Używamy tego podejścia, aby nasze domyślne css nie zostały nagle zmienione. –

+0

Miałem na myśli: ** atakujący ** może zdefiniować reguły o wyższym priorytecie, po prostu przyklejając '!ważne "przed każdą wartością. – phihag

0

są to stare hacki, ale mogą nadal działać w starszej przeglądarce, na przykład można umieścić protokół javascript w href attr.

http://ha.ckers.org/xss.html (poszukiwanie stylu)

Powiązane problemy