Czy w kontekście gry (HTML5 / Flash / Silverlight), która wysyła dane do usługi online w celu zarejestrowania postępu (np. Gracz zabił orka), czy komunikowanie się z usługą za pośrednictwem protokołu SSL w sposób dorozumiany uniemożliwiłoby graczowi nagrywanie i odtwarzanie wiadomości? Wiem, że SSL zawiera wartość jednorazową, ale czy pozostaje stała przez czas trwania połączenia, czy zmienia się po każdym cyklu żądania / odpowiedzi?
0
Odpowiedzi:
Wartość jednorazowa znajduje się na poziomie warstwy transportowej, a nie na warstwie aplikacyjnej. Protokół SSL zapobiegnie powtórce tylko wtedy, gdy odtwarzacz przechwytuje pakiety TCP i wtedy próbuje je odtworzyć. Ale w przeglądarce na poziomie HTTP użytkownik może łatwo utworzyć nowe żądanie, po prostu odświeżając stronę ...
źródło
Nie, nie byłoby tak, ponieważ użytkownik mógłby użyć serwera proxy, który odszyfrowałby przesyłane dane w obu kierunkach, a serwer proxy pokazałby wszystkie żądania i wszystkie odpowiedzi. Dowie się, że prośba wysłana po zabiciu Orka jest czymś podobnym
GET /killed/orc
i może po prostu wysłać ją z przeglądarki lub Curl. Mógłby następnie napisać skrypt, który zabije Orka 100 razy za pomocą prostej pętli bash.Musisz sprawdzić, czy rzeczywiście wysłałeś orka, by go zabił przynajmniej. Prawdopodobnie nadaj temu Orkowi unikalny identyfikator, aby w najgorszym przypadku użytkownik mógł zabić tylko to, co faktycznie wysłałeś.
źródło