6

Więc wiesz, jak wyświetla się ekran logowania, a następnie wypełniasz go, a następnie przeglądarka ładuje następną stronę? W tym momencie pasek menedżera haseł pojawia się w LastPass, 1Password lub innym rozszerzeniu, pytając, czy chcesz zapisać hasło. Skąd wiedzą, że właśnie się zalogowałeś?W jaki sposób menedżerowie haseł wiedzą, kiedy pomyślnie się zalogowałem?

  • Formularze są czasami przesyłane, a innym razem js przechwytuje formularz przesyłając i wysyła AJAX.
  • Odpowiedź wraca i może ustawić nowy plik cookie, ale czasami istniejący plik cookie sesji nadal jest używany (pozwala na ataki podczas sesji, ale niektóre implementacje to robią).
  • Nowa lokalizacja jest załadowany lub przeładowane ale czasami javascript przeładowuje część dokumentu zamiast

Ale jakoś te managery haseł wykryć, że byłem zalogowany na stronie pomyślnie! W jaki sposób? Czy to dlatego, że wpisałem coś w polu hasła, a następnie przesłano jakiś formularz lub wysłano jakieś żądanie sieciowe? Ale skąd wiedzą, że to się udało?

Ktoś, kto zna te menedżery haseł, może podać przydatne informacje?

Powodem, dla którego pytam, jest to, że chcę rozwinąć rozszerzenie, które wykrywa, kiedy się zalogowałeś i jakoś próbuje wydobyć swój identyfikator użytkownika z usługi. Ma to na celu automatyczne udostępnienie Twojego identyfikatora użytkownika znajomym i poinformowanie go (za twoją zgodą), z jakich witryn korzystasz.

Wszelkie wskazówki dotyczące technik wyodrębnienia identyfikatora zalogowanego użytkownika w usłudze będą również pomocne.

+0

wow .. 100 punktów nagrody, bo nie mogłeś wymyślić, jak pracować w Google ... na wstyd –

+0

Co jest haniebne to twierdzenie, że zmagałeś się z niedźwiedziem raz w swojej nazwie użytkownika. Wątpię, czy niedźwiedź myślał, że się zmaga. –

+0

Lmao dobrze grał gregory, dobrze grał –

Odpowiedz

17

W większości przypadków nie są one świadome pomyślnego logowania. Wiedzą, że przesłano formularz z polem hasła, a odpowiedź to 200OK. Może to nadal być strona wyświetlająca komunikat o błędzie.

Co do wyodrębniania identyfikatorów użytkowników, jestem pewien, że masz na myśli strony profilowe lub coś podobnego. Będzie to musiało być wykonane w witrynie dla poszczególnych witryn, ponieważ witryny będą miały własne interfejsy API i struktury tras.

7

Jak ktoś już odpowiedział na to pytanie, to się z nim zgodzę.

W większości przypadków nie są one świadome pomyślnego logowania. Są świadomy, że formularz z polem hasła został złożony, a odpowiedź była 200OK. Może to nadal być strona wyświetlająca komunikat o błędzie.

Ponieważ przeglądarki oczekują na żądanie z polem hasła, a także z kodem statusu żądania, ale nadal można oszukać przeglądarki. Aby dowiedzieć się więcej o zalogowanym użytkowniku, zdecydowanie potrzebujesz wsparcia backendu/api. Zależy to od frameworków uwierzytelniania używanych w back-endach. Ale można łatwo uzyskać pola formularza, ale wyodrębnianie/znajdowanie identyfikatora użytkownika z pól formularza jest trudnym zadaniem, w większości przypadków będą miały tylko dwa pola, w których można uzyskać identyfikator użytkownika. Ale w niektórych przypadkach, takich jak strony bankowe, wyślą kilka obojętnych pól i oszukają takie narzędzia. W niektórych przypadkach userid różni się od e-maila, więc jest to trudne zadanie.

5

Wykrywają tylko, czy formularz został złożony, a kod 200 (OK) został zwrócony. Nie koniecznie wiedzą, czy jesteś zalogowany, ale ta metoda działa na większości witryn.Mogą również wykryć, czy nowa strona została załadowana później, ponieważ nieudane logowanie zwykle nie przekierowuje użytkownika. Mam jednak wcześniej monit o zapisanie nieprawidłowego hasła.

5

Mogą wykryć twoją bieżącą kartę. i każdy element HTML tej strony. Może mamy listę stron na stronie logowania, aby wykryć słowa kluczowe, takie jak login, nazwa użytkownika, nie pamiętam hasła. i sprawdź wszystkie słowa kluczowe, aby zidentyfikować tę stronę logowania.

Po prostu gotowe strony, a nawet oni mogą odczytać hasło (tak).

Jeśli wysłałeś żądanie z tej strony, odpowiedź będzie wynosić 200ok, co oznacza, że ​​twoje hasło jest poprawne.

2

Zawsze, gdy do serwera z nazwą użytkownika i hasłem wysyłane są żądania, serwer sprawdza te dwie pozycje w swojej bazie danych, a serwer znajdzie dane, które zwrócą kod odpowiedzi , a użycie skryptu AJAX powodzenia wywołania złapie kod odpowiedzi i wyświetli udaną wiadomość.

a także możesz przesłać niektóre informacje, które możesz zapisać w pamięci lokalnej przeglądarki lub pliki cookie do dalszego użytku.

0

Stworzyłem kilka stron statyczny kod HTML i formularz: Więc po przesłaniu formularza przechodzi do drugiej strony.

Test Miejmy

<form action="test1.html">  
<input type="text" /> 
<input type="password" />  
<input type="submit" />  
</form> 

</body> 

Chrome nie przeszkadza coś się stało. Podczas firefox dał popup, aby zapisać hasło, nawet po przesłaniu formularza do strony błędu.

Tak więc firefox szuka tylko formularza przesłanego z polem hasła i prosi o wyskakujące okienko z zapisem hasła.

Jeśli chcesz utworzyć rozszerzenie, które może sprawdzić, czy użytkownik jest pomyślnie zalogowany, a następnie chcesz poprosić o hasło, zapamiętaj wyskakujące okienko. W tym celu należy sprawdzić odpowiedź serwera. Nie mogłem utworzyć strony dynamicznej, aby można ją było odczytać za pomocą przykładu przeglądarki.