Wikipedia zapewnia information about one of the most common scenarios na wykorzystywanie odbitego cross site scripting ataku - przy użyciu pewnego stopnia inżynierii społecznej, aby skłonić nieświadomych użytkowników do kliknięcia niebezpiecznego łącza:Jakie są możliwe wektory ataku dla odbitych skryptów cross site?
- Alice często odwiedza daną stronę internetową, która jest prowadzona przez Boba . Strona internetowa Boba pod numerem pozwala Alice zalogować się za pomocą nazwy użytkownika/hasła i przechowuje poufne dane, takie jak informacje o płatnościach .
- Mallory zauważa, że witryna Boba zawiera odzwierciedlenie luki XSS .
- Mallory wykonuje adres URL, aby wykorzystać lukę w zabezpieczeniach, i wysyła Alice e-mail z numerem , zachęcając ją do kliknięcia linku pod adresem dla adresu URL pod fałszywymi pretekstami. Ten adres URL będzie wskazywać stronę internetową Boba pod numerem , ale będzie zawierał złośliwy kod Mallory'ego, , który zostanie odzwierciedlony w witrynie.
- Alicja odwiedza adres URL podany przez Mallory po zalogowaniu się na stronie Boba pod adresem .
- Złośliwy skrypt osadzony w adresie URL jest uruchamiany w przeglądarce Alice, , tak jakby pochodzi bezpośrednio z serwera Boba (jest to faktyczna luka XSS ). Skrypt może być użyty do wysłania ciasteczka sesji Alice do Mallory. Mallory może następnie użyć pliku cookie sesji, aby wykraść poufne informacje dostępne dla Alicji (dane uwierzytelniające, informacje o płatnościach itd.) Bez wiedzy Alicji.
Teraz to zwykle bywa bardzo dobry przykład, gdy strona dzieje się aplikacja strona napędzane - luka jest wykorzystywana przez coraz użytkownikowi przesłać szkodliwą funkcję do aplikacji (co ważniejsze , wysyłając żądanie GET po zalogowaniu), które znajduje odzwierciedlenie w odpowiedzi.
Czy istnieją bardziej interesujące wektory ataku, szczególnie te, które należy wziąć pod uwagę, gdy aplikacja wykorzystuje dużo AJAX, a większość żądań jest wykonywanych za pośrednictwem POST HTTP?
EDIT
W przypadku nie było jasne, chciałbym wiedzieć, różne rodzaje ataków wektory dotyczy odzwierciedlenie atakom XSS, zwłaszcza gdy warstwa po stronie klienta aplikacji jest realizowane inaczej . Aplikacje oparte na stronie miałyby wektor ataku obejmujący żądania HTTP GET wydane przez użytkownika, ale byłoby interesujące wiedzieć, jak to się dzieje w przypadku grubych aplikacji klienckich, szczególnie tych korzystających z obiektów XMLHttpRequest, które wystawiają żądania HTTP POST. Różne mechanizmy stosowane w renderowaniu po stronie klienta będą oczywiście wymagały badania różnych wektorów ataku. W niektórych przypadkach mogą nie być stosowane żadne wektory ataku; pytanie jest wyrażane w celu wywołania takiej odpowiedzi.
Sugeruję ServerFault może być bardziej odpowiednie miejsce na to pytanie, a może http://webmasters.stackexchange.com/ –
@ricebowl, ale dlaczego miałbym umieścić go na ServerFault? Nie szukam porady na temat stwardnienia serwera. Próbuję wydedukować zestaw wektorów ataku na aplikację internetową. To jest coś, na co ludzie dobrze zorientowani w bezpieczeństwie mogą odpowiedzieć. Sposób, w jaki to widzę, to pytanie dotyczące bezpieczeństwa - czy wrażliwość na odbite XSS powinna być brana poważnie, jeśli aplikacja jest napisana w określony sposób? –
Nie sugeruję, że SF * jest * właściwym miejscem, po prostu patrzę na dwa bliskie głosy sugerujące migrację * do * SF. Osobiście uważam, że webmasters.stackexchange.com byłby lepszym wyborem, ale każdy z nich - moim zdaniem - byłby lepszym wyborem niż SO, właśnie ze względu na skupienie się na serwerze tych stron (i skupienie na aplikacji internetowej tego pytania). Użytkownicy tych stron mogą oczywiście odczuwać inaczej niż ja. –