Michael-Beutling / Amazon-MoneyMoney

Give you a overview about your amazon orders in MoneyMoney
91 stars 8 forks source link

Kein Konto mit 2FA möglich #25

Closed McBoerny closed 3 years ago

McBoerny commented 3 years ago

Ich verwende 2-Factor Authentifizierung mit Amazon. Das geht entweder über ein OTP oder über einen PIN. OTP wird über App erzeugt.

  1. Versuch

Beim ersten Mal anlegen des Kontos wurde das normale Passwort akzeptiert, dann wurde das Passwort nochmal abgefragt (hier nun OTP angegeben) und schliesslich gab es eine Photo-Challange. Konto konnte angelegt werden.

ABER: Refresh von Daten konnte nicht durchgeführt werden. Hier wurde wieder ein passwort abgefragt => Photo-Challange und ab hier bricht der Vorgagng ab mit: Zugangsdaten abgelehnt.

  1. Versuch: Konto gelöscht, neu anlegen.

Nun wird das Passwort überhaupt nicht mehr akzeptiert, man muss gleich mit dem OTP einsteigen, erhält dann sofort die Photo-Challange und danach wird wieder abgebrochen.

Wie verwendet man das Plugin korrekt mit 2FA bzw wird das überhaupt unterstützt? Offensichtlich werden Zugangsdaten gecached: wie kann man hier den Cache leeren/den Zugang komplett zurücksetzen?

Michael-Beutling commented 3 years ago

Hallo,

die Zugangsdaten (Username/Passwort) werden von MoneyMoney gespeichert. Gecached wird vom Plugin die Cookies um die 2FA beim 2. Login zu unterdrücken. Die Cookies werden bei einem fehlerhaften Login gelöscht, siehe https://github.com/Michael-Beutling/Amazon-MoneyMoney/blob/c8dc06775af3bb427ae9b980423459d109cd919c/amazon-orders.lua#L1214-L1215

Bitte 2FA ausschalten und gleich wieder einschalten. IMHO hat Amazon früher mal ein anderes 2FA Verfahren gehabt, leider fehlt noch die Bestättigung dafür, siehe https://github.com/Michael-Beutling/Amazon-MoneyMoney/issues/22

rverst commented 3 years ago

Hallo,

habe hier ein ähnliches Problem, Account gelöscht und neu hinzugefügt (mit aktiver 2FA). Refresh funktioniert nicht, Passwort wird nicht akzeptiert, Amazon schickt bei jedem Versuch SMS mit Link zum allow/deny. Hilft aber nicht, wenn ich die Aktion über den Link erlaube. Habe dann mal 2FA deaktiviert, refresh funktioniert weiter nicht. Accoung gelöscht, kann auch nicht wieder hinzugefügt werden, Anmeldedaten werden nicht akzeptiert. Auch nach dem ich 2FA wieder aktiviert habe, kann ich den Account nicht mehr hinzufügen.

Kann ich sonst noch was versuchen?

McBoerny commented 3 years ago

Ich habe nun nach stundenlangem Experimenten einen ersten Workaround für gefunden der aber leider auch nicht dauerhaft funktioniert.

Situation

Irgenwann stellte sich die Situation wie folgt dar:

Das führte dazu dass ich mehrfach 2FA an und abgeschalten habe ohne wirklich eine Verbesserung zu erzielen.

Workaround

Was letztendlich in dieser Situation helfen könnte, ist Folgendes: Beim Anlegen des Kontos bei aktivem 2FA die Anmeldemethode für "ältere Geräte" von Amazon verwenden.

Bildschirmfoto 2021-01-02 um 14 43 11

Das bedeutet: bei jeder Kontoabfrage wird das Passwort + der OTP Code (bspw aus 1Password) angehängt und schon klappt es. Leider ist das nichts für automatisierte Abfragen, aber definitiv besser wie nichts.

Vielleicht hilft das ja dem ein oder andere mit einem ähnlichen Problem und falls reproduzierbar wäre es etwas für's README.

Beobachtungen

McBoerny commented 3 years ago

Ich scheine mich zu früh gefreut zu haben. Wiederholter Update führt wieder zu Problemen und Outbank stellt parallel den Betrieb auch ein … evtl funktioniert nur "eine" App dauerhaft. Ach Schade … werde weiter "experimentieren".

Aber da scheint irgendwo der Hase im Pfeffer zu liegen. Wenn man in diese Situation kommt:

  1. Abmelden im Browser vom Amazon Konto.
  2. Neu Anmelden im Browser

Das obige scheint in Amazon die Fraud-Detection wieder zurückzusetzen und man kann erneut Kennwörter in anderen Apps eingeben.

Jetzt wieder wechseln zu MoneyMoney

Michael-Beutling commented 3 years ago

Im master liegt eine neue Version die den neuen(?) Auth selector behandelt.

McBoerny commented 3 years ago

Im master liegt eine neue Version die den neuen(?) Auth selector behandelt.

Vielen Dank! Werde ich testen, sobald die Version auch signiert vorliegt. Ich habe die MacApp Store MoneyMoney Version, damit gehen ja keine unsignierten Extensions …

Michael-Beutling commented 3 years ago

Auf der Homepage gibt es eine 30 Tage Probierversion, dort sollte man auch die Beta einschalten können. Die Appstore Variante kurz verschieben. Mit einem neuen Benutzeraccount auf dem Mac kollidiert das Probieren auch nicht mit der Orginalinstallation. Ab und zu wird nämlich die Datenbank auf eine neue Version hochgezogen!

Nach dem Probieren die Rolle-Rückwärts nicht vergessen ;)

jhsagt commented 3 years ago

Habe die neue master ausprobiert. Beim ersten Log-in hat alles geklappt. Beim erneuten Aktualisieren kommt der bekannte Fehler wieder, d.h., Passwort wird nicht akzeptiert.

Es scheint als trete der Fehler auf, wenn eine image Challenge aufgerufen wird.

Ablauf im Browser:

  1. passwort
  2. image Challenge + Passwort (beides auf der gleichen Website)
  3. Anmeldeversuch online bestätigen

Ablauf bei MoneyMoney

  1. Passwort
  2. image challenge
  3. Passwort (neues Fenster)
  4. Fehlermeldung

image

edit: added image and observation

Michael-Beutling commented 3 years ago

Ich habe Schwierigkeiten das Problem nachzustellen. Mit Tor bekomme ich den zusätzlichen Dialog beim ersten Login der behandelt wird, dort habe ich TOPT/SMS probiert-> geht. EIn Captcha kann ich nur provozieren mit einen falschen Kennwort, dann wird es aber korrekt behandelt.

Fragen:

  1. Bestehen Euer Passwort und Benutzername nur aus den regulären ASCII Zeichensatz, keine Unicodes?
  2. Ihr seit in Deutschland, keine VPNs oder über Tor?
  3. Wenn Ihr 2FA abschaltet, klappt dann der Login und Kontoabruf?
TribuneX commented 3 years ago

Ich wollte das Plugin gerade zum ersten Mal ausprobieren. Leider ähnliche Probleme beim anmelden. Ich nutze die aktuelle Version vom Master. Nach Username / Password wird auch der OTP Token abgefragt.

Hier ein Auszug aus dem Log:

1:19:09  Starting account setup assistant.
21:19:24  Getting list of accounts...
          Web Banking Engine: Using user-supplied extension amazon-orders.lua version 1.13.
          clean caches...
          signed Amazon Orders plugin loaded...
          lua debug is usable
          Protocol version: Web Scraping
          Server address: https://www.amazon.de
          run= 1
          Sending: GET https://www.amazon.de
21:19:25  Sending: GET https://www.amazon.de/gp/css/order-history?ref_=nav_orders_first
          enter username/password
          Sending: POST https://www.amazon.de/ap/signin
21:19:27  Challenge: Für mehr Sicherheit geben Sie bitte das von Ihrer Authentifizierungs-App generierte Einmalkennwort ein.
          Asking user for two-factor authentication.
21:19:30  Sending: POST https://www.amazon.de/ap/signin
          Your login credentials (email address, password) have not been accepted by the server of your bank. Please verify all your login credentials
Michael-Beutling commented 3 years ago

Bitte die letzte " > Received: " Zeile nach dem "Sending: POST" markieren und im Terminal 'pbpaste >$TMPDIR/index.html;open $TMPDIR/index.html' eingeben.

Was wird im Browser angezeigt?

Michael-Beutling commented 3 years ago

Ich glaube ich habe die Ursache gefunden, ein derzeit eratischer Dialog welchen Account man nutzen möchte. Im Master liegt eine Version die hoffentlich bei Euch auch funktioniert.

rverst commented 3 years ago

Sieht gut aus, eben ausprobiert, MFA-Abfrage nach Password-Eingabe (beim Anlegen des Accounts). Refresh funktioniert soweit auch einwandfrei.

jhsagt commented 3 years ago

Bitte die letzte " > Received: " Zeile nach dem "Sending: POST" markieren und im Terminal 'pbpaste >$TMPDIR/index.html;open $TMPDIR/index.html' eingeben.

Was wird im Browser angezeigt?

Ich habe das neue Plugin ausprobiert und es hat zunächst nicht geklappt. Dann habe ich mir immer die letzte Receive Message anzeigen lassen. Folgende Punkte wurden nicht erkannt:

Aktuell klappt es, nachdem ich dann die OTP Methode in einem neuen Browser definiert hatte. In meinem Standard Browser wurde die Option nicht abgefragt.

@Michael-Beutling: Vielen Dank für das Plugin und die schnelle Reaktion. Hoffe die verschiedenen Fehlerbilder helfen dir.

Grüße

Jan

Michael-Beutling commented 3 years ago

@janhs-lab Danke für die kleine Aufstellung. Zum 1. Dialog: Ist im master jetzt enthalten. Zum 2. Dialog: Da kann das Plugin nur aussteigen, da der Benutzer das Passwort ändern muss. Zum 3. Dialog: Der Dialog ist/war eigentlich drin... Kann man den irgendwie provozieren?

@all Tester Bitte den master prüfen und feedback geben, Danke. Ich würde ihn dann in den nächsten Tagen zum signieren geben.

jhsagt commented 3 years ago

Dialog 3 konnte ich nicht provozieren.

Dialog 1 konnte ich provozieren. Dazu habe ich 2FA ausgestellt. Ich bekomme dann die Aufforderung den sign-in attempt zu bestätigen. Wenn ich diesen bestätige, bekomme ich eine neue Aufforderung. Das ganze endet in einer Schleife, diese habe ich abgebrochen. Daher hat es ohne 2FA für mich leider nicht funktioniert. Als ich dann 2FA angeschaltet habe, hat es wieder funktioniert.

Michael-Beutling commented 3 years ago

Dialog 1 konnte ich provozieren. Dazu habe ich 2FA ausgestellt. Ich bekomme dann die Aufforderung den sign-in attempt zu bestätigen. Wenn ich diesen bestätige, bekomme ich eine neue Aufforderung. Das ganze endet in einer Schleife, diese habe ich abgebrochen. Daher hat es ohne 2FA für mich leider nicht funktioniert. Als ich dann 2FA angeschaltet habe, hat es wieder funktioniert.

Das war das Verhalten des neuen Masters? Wenn ja, bitte mal ins log gucken, so sollte es aussehen:

05:58:24  Starting account setup assistant.
05:58:40  Lade Kontenliste ...
          Web Banking Engine: Using user-supplied extension amazon-orders.lua version 1.14.
...
          Server address: https://www.amazon.de
          run= 1
          login 1. try
          enter username/password
          login 2. try
          auth link sended

Rückmeldung das der Dialog erkannt wurde.

          waiting for auth confirmation, 300 seconds left
          poll=TransactionPending

Statusabfrage

          waiting for auth confirmation, 297 seconds left
          poll=TransactionPending
...
          waiting for auth confirmation, 260 seconds left
05:59:28  poll=TransactionCompleted

Genehmigt

          work-around, see issue #21
          enter username/password
          login 3. try
          login success
          Getting transactions since 10.01.2020...
...
          Getting transactions since 10.01.2020...
          Refresh yearly
          Logout
          Received 1 transaction, 1 is new.

BTW: Im Master liegt eine neue Version, die Korrektur hat aber mit den Dialog 1 nichts zu tun.

jhsagt commented 3 years ago

Ich hatte den neuen Master verwendet. Das Problem kann ich provozieren, wenn ich 2FA ausschalte und mich dann probiere einzuloggen. Die Statusabfrage wurde erkannt. Wenn ich bestätigt habe, ist er aber wieder in eine neue Statusabfrage gegangen, das heißt die "Genehmigung" wurde nicht erkannt.

Habe heute morgen nochmal das Problem nachgestellt (2FA ausgeschaltet und neu eingeloggt). Dazu habe ich dann wieder den allerneuesten Master verwendet. Er ist wieder in die Statusabfrage, allerdings diesmal nur 2x und dann hat es geklappt.

login 1. try enter username/password

login 2. try auth link sended waiting for auth confirmation, 300 seconds left

poll=TransactionPending waiting for auth confirmation, 296 seconds left

poll=TransactionCompleted work-around, see issue #21

enter username/password

login 3. try auth link sended waiting for auth confirmation, 300 seconds left

poll=TransactionCompleted work-around, see issue #21

enter username/password

login 4. try login success

TheFive commented 3 years ago

Hab gestern seit langen unsere beiden Konten aktualisiert.

OTP Konto klappt, hatte einen sofortigen Hinweis per SMS auf den Anmeldeversuch, aber keinen Abbruch der Anmeldung.

Das andere Konto wurde noch nie um einen zweiten Faktor erweitert und geht auch problemlos.

Michael-Beutling commented 3 years ago

signierte Version https://raw.githubusercontent.com/Michael-Beutling/Amazon-MoneyMoney/release/amazon-orders.lua