Aktywne Wpisy
erebeuzet +88
różowa uparla sie, ze wyśle młodszą córkę do komunii.
ostatnio w kosciele byliśmy 5 lat temu na pogrzebie. normalnie nie praktykujemy, choc jak obudzisz mnie w nocy to prawie każdą modlitwe z pamięci wyrecytuje. tak mnie zindoktrynowali w dziecinstwie.
Ale córka nie wie nawet kto to jezus.
świadomie nigdy nie zapoznawalem jej z tymi #!$%@?.
Starsza, którą tez różowa splugawila komunią, a ktora kazala się wypisac z religii mówi, ze niech idzie
ostatnio w kosciele byliśmy 5 lat temu na pogrzebie. normalnie nie praktykujemy, choc jak obudzisz mnie w nocy to prawie każdą modlitwe z pamięci wyrecytuje. tak mnie zindoktrynowali w dziecinstwie.
Ale córka nie wie nawet kto to jezus.
świadomie nigdy nie zapoznawalem jej z tymi #!$%@?.
Starsza, którą tez różowa splugawila komunią, a ktora kazala się wypisac z religii mówi, ze niech idzie
Kurcze strasznie mi szkoda tych wietnamczyków. Oni są idealnym przykładem na to jak powinna wyglącać imigracja. Słyszeliście żeby, któryś coś odj***ł? Mega fajni ludzie, sympatyczni, pracowici. Żyją po swojemu jednocześnie nie przeszkadzając innym. Jak ktoś mnie pyta gdzie powinniśmy szukać imigrantów to mówię, że właśnie tam, wśród takich ludzi. A jak słyszę, że mamy szukać kogoś kto jest nam "bliski kulturowo" to sobie zawsze zestawiam takiego wietnamczyka z ukraińcem i już wiem,
Dawniej, aby na stronie treści pojawiały się w czasie rzeczywistym należało z poziomu #javascript co kilka sekund wysyłać żądanie do serwera.
Teraz do tego celu wykorzystuje się websockety.
@ServerEndpoint(value="/endpoint")
public class socketer {
@OnMessage
public void onMessage(String message, Session session) {
session.getBasicRemote().sendText("tajny socket:"+message);
}
}
Jeżeli coś pojawi się na websockecie - odsyłam tą treść do użytkownika dodając do niej tekst.
Równocześnie mamy stronę, która próbuje się połączyć z endpointem.
var w = new WebSocket('ws://dobradomena.local/endpoint');
w.onmmessage = function(e) {
alert(e.data);
};
w.onopen = function(e) {
w.send('Hej!');
};
Jak działa taka komunikacja?
Nasza strona wysyła żądanie HTTP, w którym informuje, że chce przejść na websockety.
W odpowiedzi, serwer zwraca kod 101 i od tego momentu komunikacja odbywa się na podstawie ramek.
Gdzie jest błąd?
Aby uprościć przykład - nie jest w nim widoczna żadna metoda autoryzacji.
Załóżmy więc, że aby połączyć się z endpointem użytkownik musi posiadać prawidłowe ciasteczko.
Skopiujmy teraz nasz kod i umieśćmy go na innej domenie.
Tam również będzie działał prawidłowo. Dlaczego?
W kodzie #js odnosimy się do dobrejdomeny.
Podczas inicjalizacji połączenia z websocketem najpierw wysyłane jest żądanie HTTP.
Przeglądarka widząc więc
dobradomena.local
dołączyła do niej pasujące ciasteczko.Serwer sprawdził ciasteczko i zwrócił odpowiedni socket.
Tym samym zła domena może odczytywać oraz zapisywać do niego dowolne dane.
Atakujący nie musiał posiadać hasła użytkownika.
Wystarczy, że atakowana osoba była wcześniej zalogowana.
Jak zatem uchronić się przed tym atakiem?
Przeglądarka do żądań dodaje również nagłówek
origin
, w którym zawiera nazwę domeny, od której pochodzi dane zapytanie.Możemy zatem sprawdzać jego treść po stronie serwera - i weryfikować czy żądanie pochodzi z naszej witryny.
Wtedy - nawet jeżeli ciasteczko jest prawidłowe - a żądanie pochodzi z obcej domeny - będziemy je w stanie rozpoznać.
Jeżeli chcesz być wołany dodaj się do Mirkolisty.
Masz pytanie na temat bezpieczeństwa? Zadaj je na grupie od 0 do pentestera na Facebooku.
Ps. Zapraszam do obserwowania tagu autorskiego #od0dopentestera
#security #bezpieczenstwo #programowanie #informatyka #it #nauka #technologia #ciekawostki #hacking #gruparatowaniapoziomu
Możesz zapisać/wypisać się klikając na nazwę listy.
Sponsor: Grupa Facebookowa z promocjami z chińskich sklepów
Masz problem z działaniem listy? A może pytanie? Pisz do IrvinTalvanen
! @KacperSzurek @Mashe @UrimTumim @porque @NERP @Smevios @Jakplus @Pioneer95 @ThatPart @szczeppan @Zielarz25 @press2210 @Dorrek @hiroszi @jerekp @Dyktus @bovver91 @Campell @ghostd @heow @Bakanany @znow_nowy_nick @arais_siara @Pies_Benek @HeinzDundersztyc @johnyboy @MojeTrzecieKonto
@KacperSzurek: Co z żadaniami nie wysłanymi z przeglądarki ale z programu gdzie możemy spreparować header origin?
Tutaj chodzi o to, że jeżeli jesteś zalogowany na serwisie A i ktoś przekona Cię do przejścia na serwis B – to wtedy atakujący może połączyć się z serwisem A jako Ty – nie znając Twojego loginu, hasła oraz ciasteczka. Wystarczy tylko że klikniesz w link do