Jak mogę wyeksportować chromowane hasła?

Odpowiedzi:

29

Poniżej wymieniono kilka rozwiązań, nie wszystkie z nich mogą współpracować z najnowszymi wersjami Chrome. „Oficjalne” rozwiązanie Google Chrome / Canary jest obecnie jedynym niezawodnym. Inne potencjalnie nieaktualne rozwiązania obejmują oparte na JS dla dowolnego systemu operacyjnego, rozwiązanie tylko dla OSX i rozwiązanie tylko dla systemu Linux (potwierdzone, że działa w Chrome 68).

Oficjalne przyciski importu / eksportu Chrome

  1. Wymagane : Zainstaluj najnowszą przeglądarkę Google Chrome (jeśli najnowsza stabilna wersja Google Chrome nie działa, spróbuj z Chrome Canary ).
  2. Zaloguj się na swoje konto Google, skonfiguruj synchronizację i poczekaj kilka minut, aż wszystkie hasła zostaną zsynchronizowane.
  3. Otwórz flagi Chrome, wpisując chrome://flagsw pasku adresu.
  4. Zlokalizuj i włączyć opcje Password importi Password export, i uruchom ponownie Chrome Canary.
  5. Teraz otwórz, chrome://settings/passwordsgdzie powinna być widoczna ikona z trzema kropkami. Kliknięcie go wyświetli opcje IMPORTi EXPORT:

Import-eksport hasła Chrome

Aktualizacja: w nowszych wersjach Kanaryjskich zamiast przycisków Importuj / Eksportuj znajduje się pojedynczy przycisk z trzema kropkami, który zawiera Exportopcję.

Rozwiązanie oparte na JavaScript

Uwaga : Począwszy od Chrome v60 + opisana poniżej metoda już nie działa.

Niezależnym od systemu operacyjnego sposobem wyodrębnienia haseł Chrome do formatu czytelnego dla człowieka / arkusza kalkulacyjnego jest interfejs Chrome JavaScript API, zgodnie z opisem na tej stronie :

  1. Otwórz chrome: // settings-frame / passwords w przeglądarce (dostępne również w Ustawieniach Chrome> Pokaż ustawienia zaawansowane ... > Hasła Chrome ).
  2. Otwórz DevTools, klikając prawym przyciskiem myszy stronę> Sprawdź (lub Ctr+Shift+Ilub ⌘+⌥+I).
  3. Kliknij Consolezakładkę.
  4. Kliknij menu rozwijane, które czyta top(lub <top frame>) i wybierz ramkę hasła settings (password):, jak pokazano na screeenshot ( OSTRZEŻENIE : Pominięcie tego kroku spowoduje błąd PasswordManager is not defined): Karta Konsola narzędzi deweloperskich Chrome
  5. Następnie wklej następujący kod w okienku konsoli i naciśnij Enter(na podstawie kodu z https://github.com/megmage/chrome-export-passwords, który został wyczyszczony i działa na Chrome v50 +):
var out = [];
var pm = PasswordManager.getInstance();
var model = pm.savedPasswordsList_.dataModel;
console.log(model);
var pl = pm.savedPasswordsList_;
for (var i = 0; i < model.length; i++) {
    PasswordManager.requestShowPassword(i);
}
alert('After you press Ok results should appear in ~5 seconds.\n' +
    "If password fields are empty, try increasing the timeout in the last line," +
    " i.e. set to 10000 for 10 seconds");
setTimeout(
    function () {
        out.push('# Generated by Password Exporter; Export format 1.1; Encrypted: false');
        out.push('"hostname","username","password","formSubmitURL","httpRealm","usernameField","passwordField"');
        for (var i = 0; i < model.length; i++) {
            var record = model.array_[i];
            var user = record.username;
            var item = pl.getListItemByIndex(i);
            var pass = item.querySelector('div.password input').value;
            var proto = record.url.split('://')[0];
            var line = `"${proto}://${record.shownOrigin}", "${user}", "${pass}", "${record.url}", ," "," "," "`;
            out.push(line);
            console.log(line);
        }
        document.body.innerText = out.join('\n');
    }, 5000);

WAŻNE : ten kod dotyczy wersji Chrome od wersji 50. W przypadku wcześniejszych wersji użyj kodu połączonego na oryginalnej stronie github .

Hasła powinny pojawić się na tej samej stronie w formacie CSV. Wybierz i skopiuj dane wyjściowe do pliku tekstowego z .CSVrozszerzeniem - można go otworzyć w programie Excel / Libreoffice Calc. Format jest zgodny z eksporterem haseł Firefox i można go użyć do importowania haseł do Firefoksa.

Uwaga dla użytkowników OSX

Najnowsze wersje Google Chrome / Chromium dla OSX przechowują hasła w pęku kluczy systemu, co oznacza, że ​​Chrome korzysta z wbudowanego mechanizmu przechowywania poświadczeń OSX ( to już nieaktualne informacje ).

W OSX możesz wyeksportować hasła, uruchamiając je w terminalu:

sudo security dump-keychain -d login.keychain > keychain.txt

I tak, musisz kliknąć Zezwól na wszystko tyle razy, ile domen jest w pęku kluczy logowania, chyba że używasz skryptu autoclicker . Link wskazuje również na skrypt ruby ​​do konwersji wygenerowanego pliku hasła na CSV . Skrypt Ruby zadziałał dla mnie po usunięciu wiersza zawierającego proto.gsub!('htps', 'https');.

Alternatywnie możesz użyć natywnej aplikacji OSX Keychain Access (wpisz nazwę w Spotlight).

UWAGA : jak wskazuje wiosłowa , Chrome przestał używać pęku kluczy OSX od wersji 45.

Jedyne w systemie Linux rozwiązanie do eksportowania haseł

To rozwiązanie nadal działa w aktualnych wersjach chrome (v68)

Poniższy przepis jest rozwiązaniem opartym tylko na systemie Linux i został zaczerpnięty z tego posta na blogu, który stworzyłem jakiś czas temu. Aby wyeksportować hasła do arkusza kalkulacyjnego CSV, który można otworzyć w LibreOffice lub Excel:

  1. Jeśli nie jest jeszcze zsynchronizowany w Chrome, połącz się z kontem Google w Ustawieniach Chrome, aby Twoje hasła były synchronizowane z Google Cloud Storage. Upewnij się, że zaznaczyłeś Hasła w Zaawansowanych ustawieniach synchronizacji .
  2. Poczekaj chwilę, aż dane zostaną zsynchronizowane, a następnie zamknij wszystkie okna Chrome.
  3. Uruchom Chrome / Chromium za pomocą jednego z poniższych wierszy poleceń. Spowoduje to uruchomienie Chrome z niestandardowym folderem profilu bez wpływu na bieżący profil chrome.

    ## for Chrome:
    google-chrome --user-data-dir=/tmp/chrome-tmp --password-store=basic
    
    ## for Chromium:
    chromium --user-data-dir=/tmp/chrome-tmp --password-store=basic
    
  4. Skonfiguruj Google Synching dla nowego profilu tymczasowego i poczekaj, aż wszystko zostanie zsynchronizowane z chmurą, tj. Pojawią się twoje zakładki, pojawią się rozszerzenia, zastosowany motyw itp. Sprawdź, czy hasła są przywracane z chmury Google, patrząc w Ustawienia → Osobiste Rzeczy → Zarządzaj zapisanymi hasłami. Jeśli się nie pojawią, poczekaj jeszcze kilka minut. Uwaga : Aby uzyskać dostęp do ustawień otwartej strony zapisanych haseł, passwordw polu Wyszukaj w prawym górnym rogu, Zarządzaj hasłami pojawi się na dole strony. Możesz także użyć bezpośredniego linku chrome://settings/passwords.

  5. Wyjdź z Chrome.

  6. Następnie otwórz terminal i cdnowo utworzony profil Chrome:

    cd /tmp/chrome-tmp/Default
    
  7. Teraz otwórz Login Dataplik bazy danych za pomocą narzędzia wiersza polecenia sqlite3 i zrzuć tabelę logowania . Aby to zadziałało, musisz mieć sqlite3zainstalowany w systemie (w większości Linuces jest wstępnie zainstalowany lub jest dostępny w repozytoriach).

    sqlite3 'Login Data'
    
  8. Następnie w wierszu polecenia SQLite wprowadź poniższe polecenia. Aby uzyskać pomoc dotyczącą dostępnych poleceń, wpisz .helppolecenie.

    .mode csv               # other options are `html', `tabs', etc.
    .headers on
    .separator ","
    .output chrome_passwords.csv
    select * from logins;
    .exit
    

Teraz powinieneś mieć plik o nazwie chrome_passwords.csvzawierający wszystkie hasła do Chrome. Aby otworzyć go za pomocą LibreOffice, wpisz:

    libreoffice --calc chrome_passwords.csv

Login DataPlik można otworzyć bezpośrednio z aplikacji GUI, SQLite takiej sqlitebrowser , sqliteman lub sqlitestudio , z których dwa pierwsze są zazwyczaj dostępne w repo Linux.

ccpizza
źródło
1
@m_gol: W OSX Chrome przechowuje hasła w pęku kluczy, a --password-store=...arg nie działa. Login Datajest nadal używany, ale tylko w przypadku metadanych, które nie pasują do pęku kluczy. Jeśli więc chcesz zobaczyć swoje hasło, wpisz Dostęp do pęku kluczy w centrum uwagi. Aby przeprowadzić migrację haseł do innego systemu OSX, musisz skopiować zarówno profil Chrome, jak ~/Library/Keychains/login.keychain i profil ~/Library/Application Support/Google/Chrome/<__YOUR_PROFILE_FOLDER__>. Jeśli masz tylko jeden profil chrome, folder profilu zostanie wywołany Default.
ccpizza
1
@confiq: kroki działają w wersji 47 na Ubuntu i zakładam, że działa również we wcześniejszych wersjach.
ccpizza,
1
Uwaga: od 45 roku Chrome nie używa już pęku kluczy. bugs.chromium.org/p/chromium/issues/detail?id=466638
Oarfish
2
Właśnie wyeksportowałem wszystko za pomocą tego postu productforums.google.com/d/msg/chrome/99KZmH2DRrA/5l37AibyAwAJ Działało jak urok, tylko nie ma przycisku eksportu: znajdź trzy pionowe kropki obok nagłówka „Zapisane hasło”, a potem znajdź „eksport” @ccpizza: może zaktualizujesz odpowiedź?
Peter Versnee
1
@ccpizza, istnieje nowe rozwiązanie JS, które działa z Chrome 63+: gist.github.com/ryanpcmcquen/cee082bff514f8849a29c409fe3571ff
ryanpcmcquen
7

ChromePass wygląda jak narzędzie, którego potrzebujesz. Istnieją opcje zapisywania do HTML i zwykłego tekstu, które są bardzo łatwe do wydrukowania.

Robert Rouhani
źródło
Chrome wyświetla ostrzeżenie podczas próby pobrania pliku * .exe. Czy pobieranie jest w porządku?
Allman
Wydaje się solidny. Próbowałem i chociaż Windows Defender myślał, że to złośliwe oprogramowanie, nie widziałem żadnych zmian w moim systemie.
Jedidja,
5
„Nie widziałem żadnych zmian w moim systemie”. to nic nie znaczy! Większość programów (wszystkie?) Wprowadza zmiany, których nie zauważasz, a wiele robi rzeczy, których nigdy nie zauważasz.
Filip Haglund,
4

Znajdź najłatwiejsze rozwiązanie tutaj: https://www.axllent.org/docs/view/export-chrome-passwords/

Od lipca / sierpnia 2016 r. Google wprowadził ukrytą funkcję, która pozwala importować i eksportować hasła. Wszystko, co obecnie musisz zrobić, to włączyć ukrytą funkcję w chrome://flagsustawieniach i ponownie uruchomić przeglądarkę, po czym będziesz mieć wymaganą funkcjonalność.

Instrukcje

  • W przeglądarce Google Chrome (lub Chromium, w zależności od tego, którego używasz) wpisz następujące polecenie na pasku adresu URL: chrome://flags/#password-import-exporta następnie włącz tę funkcję.
  • Uruchom ponownie przeglądarkę.
  • Przejdź do swoich haseł chrome://settings/passwords(może minąć trochę czasu, zanim je zsynchronizujesz), a następnie przewiń w dół do swoich haseł, a zobaczysz dwa nowe przyciski: Importuj i eksportuj.
  • Kliknij Eksportuj, upewniając się, że wybrałeś prawidłowy format (CSV).
Emilien
źródło
Tak proste .. Dziwię się, że nie jest to najpopularniejsza odpowiedź.
Kris,
Nawet z flagą nie widzę przycisku importu / eksportu zgodnie z opisem. Mogło to zostać całkowicie usunięte teraz, gdy hasła są dostępne na stronie passwords.google.pl .. chociaż na tej stronie również nie ma opcji.
CopyJosh
Obecnie korzystam z Chromium 59.0.3071.109 na Ubuntu 16.04, nadal mam dostępną opcję.
Emilien
To nie działa już od najnowszej wersji Chrome (19 lutego).
SamAndrew81
2
Korzystając z wersji Chromium 73.0.3683.75 na Ubuntu 16.04 (64 bity), potwierdzam, że nie ma już # funkcji importu-eksportu-eksportu hasła, wydaje się, że pozostała tylko funkcja importu: chrome: // flags / # PasswordImport ( czego nie chcemy tutaj). Ta strona productforums.google.com/forum/#!topic/chrome/99KZmH2DRrA potwierdza, że ​​opcja zniknęła, ale wskazuje: „W chrome: // ustawienia / hasła kliknij ikonę menu z trzema kropkami, aby wybrać opcję Importuj i eksportuj”. (Wydaje mi się, że nie mam ikony menu z trzema kropkami ... Ale może dlatego, że nie mam już żadnych haseł zapisanych w Chromium?) FWIW ...
Emilien
2

Inne metody eksportu haseł są dość zaangażowane; z tego powodu napisałem prosty fragment javascript, aby zająć się zadaniem .

simple script to export chrome passwords, run when the password manager is open from the chrome console (hit f12 to access the console) in frame settings( passwords )

out="";out2="";dat=document.getElementsByClassName("password");

for(i=0;i<dat.length;i++){x=dat[i].parentNode;

out+="\n"+x.childNodes[0].innerText+"|"+x.childNodes[1].innerText+"|"+x.childNodes[2].childNodes[0].value;

out2+="br/>"+x.childNodes[0].innerText+"|"+x.childNodes[1].innerText+"|"+x.childNodes[2].childNodes[0].value;};console.log(out);

document.write(out2)
Kłoda
źródło
1
To NIE działa od Chrome 37. Wygląda na to, że jakikolwiek element dom, który ma api, zwraca null na tej stronie :(
Ed Orsi
@EdOrsi Musisz wybrać odpowiednią ramkę (jak wspomina Alog w swojej odpowiedzi)
Stijn de Witt
@alog Dziękuję bardzo Ta odpowiedź naprawdę mi pomogła!
Stijn de Witt
1

Na końcu odpowiedzi ccpizza

  1. Idź do chrome://settings/passwords.
  2. Kliknij trzy kropki po prawej stronie Zapisanych haseł.
  3. Kliknij pozycję menu Eksportuj, która się pojawi.

Wygląda na to, że funkcjonalność Chrome Canary, o której wspomina ccpizza, jest teraz dostępna na zwykłym Chrome. (Obecnie jestem w wersji 72, w systemie Windows).

Mathieu K.
źródło
0

Pracując z odpowiedzi aloga odkryłem, że najnowsze wersje chrome będą wyświetlać tylko adres URL i nazwę użytkownika ze względu na konieczność wprowadzenia hasła do systemu Windows, aby wyświetlić hasło. nadal możesz używać tego fragmentu, ale tylko po kliknięciu i wprowadzeniu hasła do systemu Windows dla każdego wpisu na liście.

więc utworzyłem fragment jquery dla nowszych wersji chrome, aby obejść ten problem.

Tak jak poprzednio, wejdź w tryb programisty (f12) podczas przeglądania menedżera haseł w chrome. Upewnij się, że ramka jest ustawiona na ustawienia (hasło), zwykle w lewym górnym rogu widoku konsoli.

Idź tutaj - Jquery 2.1.4 i skopiuj / wklej kod jquery do konsoli, naciśnij enter.

Teraz możesz wkleić poniższy kod do konsoli, a wyświetli się tam twoje hasło. Następnie możesz wkleić do programu Excel i użyć funkcji ograniczania tekstu do kolumn (pierwszy wynik w Google) . (nie zapomnij ustawić ogranicznika w kodzie i dopasować w programie Excel).

var out = '', delim = "|";
$.each($('.password input'), function(){
    if($(this).hasClass('inactive-password')) $(this).next('button').click();

    var C = $(this).closest('div[role=listitem]'),
        D = C.find('.url').text(),
        U = C.find('.name').text(),
        P = $(this).val();
    out += D + delim + U + delim + P +"\n";
});
console.log(out);

Nadal będziesz musiał wprowadzić hasło do systemu Windows, ale powinno to być tylko raz. Pamiętaj również, aby sprawdzić, czy wszystkie hasła zamieniły się w hasła, ponieważ niektóre mogą zostać pominięte. Jeśli nie powiedzie się to po raz pierwszy, spróbuj ponownie uruchomić kod (strzałka w górę, a następnie enter), ponieważ jquery może pobrać wartość, zanim chrome wprowadzi hasło do wejścia.

Mam nadzieję, że to komuś pomaga, przepraszam za jQuery - było wyłącznie dla mojej wygody.

I oczywiście, jeśli stracisz hasła z powodu tego skryptu (nie że tak powinno być), to ... twoje własne działania ... nie zamierzone ... bla itp

AKTUALIZACJA

jak stwierdza ccpizza, powyższy kod przestał działać, więc oto aktualizacja dla tych, którzy nadal chcą zrobić to po prostu:

var out = '', delim = "|";
$.each($('.password input'), function(){
    if($(this).attr('type') == 'password' ) $(this).next('button').click();

    var C = $(this).closest('div[role=listitem]'),
        D = C.find('.url a').attr('href'),
        U = C.find('.name input').val(),
        P = $(this).val();

    out += D + delim + U + delim + P +"\n";
});
console.log(out);

UPDATE 2 powinna również wspomnieć, jeśli uzyskujesz dostęp do ramki ustawień, chrome://settings/passwordsmusisz najpierw wybrać ramkę. Alternatywnie możesz użyć:, chrome://settings-frame/passwordsktóry powinien umożliwiać bezpośredni dostęp.

slappy-x
źródło
nie działa to w najnowszych wersjach Chrome, np. 51.0.2704.84 - wyświetlane są tylko nazwy logowania.
ccpizza
0
  1. Idź do chrome://flags/#password-import-exportstrony (wklej do paska adresu).
  2. Włącz import i eksport hasła i uruchom ponownie przeglądarkę internetową.
  3. Idź do chrome://settings/passwords, powinieneś zobaczyć przycisk Eksportuj .

    Alternatywnie uruchom ten skrypt w konsoli DevTools (JS):

    chrome.passwordsPrivate.exportPasswords();
    
  4. Wyeksportuj do pliku CSV i sprawdź jego zawartość.

    Uwaga: Jeśli plik CSV jest pusty, sprawdź ten problem 808233 .


Zobacz też

Powiązane: Google Chrome: import / eksport haseł?

Projekty: megmage/chrome-export-passwords, ChromePass .

Gists: Grogs/step4.js, codekoala/export_chrome_passwords.js.

kenorb
źródło
0

Zainstaluj Dashlane (aplikację do zarządzania hasłami), w której możesz automatycznie importować wszystkie hasła przechowywane w Google (powinno pojawić się zapytanie podczas uruchamiania), a następnie za pomocą aplikacji możesz je wyeksportować do pliku archiwum (takiego jak CSV lub Excel).

kenorb
źródło