derwowusste
Goto Top

Frage an Experten in punkto Webserver-Authentifizierung (Paypal)

Moin.

Ich nutze Paypal mit einem Sicherheitsschlüssel. Zum Einloggen gebe ich mein Kennwort ein und danach fragt die Website nach dem Code, den der Sicherheitsschlüssel generiert - funktioniert soweit so gut.
Kaufe ich in einem Webshop ein und lasse mich dann vom Warenkorb direkt zu Paypal leiten, funktioniert der Login nur, wenn ich den Sicherheitsschlüssel zuvor deaktiviere.

Paypal-Support war dies Problem bekannt und Ihr Workaround ist: "Geben Sie den generierten Sicherheitscode einfach direkt hinter Ihrem Kennwort ein, in das selbe Feld" - und tatsächlich, das funktioniert.

Kann mir jemand sagen, ob das irgendeine Aussage über das verwendete System zulässt? Was für ein System ist in der Lage, dem Kennwort die letzten 6 Stellen abzukneifen und das als Pin-Code zu nutzen?

Content-Key: 287407

Url: https://administrator.de/contentid/287407

Printed on: April 19, 2024 at 07:04 o'clock

Member: colinardo
colinardo Nov 03, 2015 updated at 23:06:10 (UTC)
Goto Top
Hi DWW,
ich vermute die bilden aus dem normalen Passwort-Hash in der Datenbank und der generierten Pin einen weiteren Hash (nach einem Algorithmus des Tokens) der dann miteinander verglichen wird.
Das lässt sich mit handelsüblichem PHP-Code realisieren, da könnte eigentlich alles dahinter stecken.
Kann mir jemand sagen, ob das irgendeine Aussage über das verwendete System zulässt?
Worauf willst du genau hinaus, was meinst du mit System (OS/Webserver/PHP/ASP.Net), oder meinst du die Passwortverwaltung in Kombination mit dem Token ?

Grüße Uwe
Member: DerWoWusste
DerWoWusste Nov 03, 2015, updated at Nov 04, 2015 at 00:05:31 (UTC)
Goto Top
Hi.

Ja, meine Frage war schwammig.
Ich muss weiter ausholen. Jeder mit Paypal-Account und Symantec-VIP-Tokenabsicherung kann dies testen, dazu Token einrichten siehe hier - klicken auf abbrechen nicht vergessen face-wink *.
Wo es ohne Weiteres geht: beim normalen Login zur Kontoeinsicht ohne Kauf und z.B. beim "Direkt zu Paypal"-kauf über Jacob-Elektronik.de
Dabei (jacob) wird ein Link folgender Art generiert: https://www.paypal.com/webscr&cmd=_express-checkout&token=EC-71V ...
Was nicht geht, ist beispielsweise der Checkout bei Foxitsoftware (z.B. Kauf von Foxit Phantom), dabei wird folgendes generiert:
https://www.paypal.com/de/cgi-bin/webscr?cmd=_flow&SESSION=wcEqBHPa8 ... [nein, man muss für diesen Test natürlich keinen Kauf abschließen]

Bei letzterem kann man aber den vom Support genannten Workaround nutzen, um reinzukommen.
Es ist Paypal also bewusst, dass verschiedene Shops Ihr Bezahlsystem inkorrekt (bzw. inkompatibel zu 2FA) ansprechen. Da es aber diesen Workaround gibt, frage ich mich, was das für eine Art Hintertür ist und warum sie nur bei der einen Art des Logins benötigt wird und nicht bei den anderen beiden.

Da Paypal in meinen Augen ein Gaunerverein ersten Ranges ist, würde es mich nicht wundern, wenn die mit ihren Sicherheitsmaßnahmen schludrig umgehen. Meine Frage ist also genauer: wer kann sich erklären, warum es so läuft, wie es läuft und deutet das auf Sicherheitsversäumnisse hin?
--
*
So einfach können Sie Ihren Sicherheitsschlüssel direkt in Ihrem PayPal-Konto aktivieren:
• Loggen Sie sich in Ihr PayPal-Konto ein und gehen Sie auf Ihr Unternehmensprofil.
• Klicken Sie unter “Einstellungen“ auf "Aktualisieren" neben "Sicherheitsschlüssel".
• Klicken Sie auf den Link "Kostenlos bestellen".
• Klicken Sie auf der nächsten Seite auf "Abbrechen"
• Wählen Sie rechts "Aktivieren" aus.
• Tragen Sie unter "Seriennummer" die "Credential ID" Ihres VIP Access-Sicherheitsschlüssels ein. Bitte geben Sie einen sechsstelligen "Security Code" ein.
• Bestätigen Sie Ihren Sicherheitsschlüssel mit der Eingabe des nächsten "Security Codes" und klicken Sie "Aktivieren". Fertig
Member: LordGurke
LordGurke Nov 04, 2015 updated at 00:18:49 (UTC)
Goto Top
Aus Entwicklersicht ist das ziemlich einfach implementiert ohne dabei Sicherheitsrisiken zu bekommen:

1. Prüfe, ob das eingegebene Kennwort passt (Hash berechnen, vergleichen u.s.w.).
2. Wenn das fehlschlägt trenne die letzten 6 Zeichen ab, mache mit dem ersten Teil die Passwortverifizierung und mit dem zweiten Teil die Token-Prüfung.
3. Wenn das auch fehlschlägt, ist das Kennwort oder Token tatsächlich nicht korrekt.

Das Kennwort wird ja nicht bereits clientseitig verschlüsselt oder gehashed - es wird ja lediglich über eine TLS-Gesicherte Verbindung übertragen.
Mit deiner Eingabe (die ja irgendwann als Klartext in der Software von Paypal ankommt) kann man dann Hashes und Salts berechnen und meinetwegen dann auch mit Teil-Strings weiterarbeiten.

Selbst wenn es jemandem gelingt, die so eingegebene Kombination aus Token und Kennwort abzugreifen stellt das kein Sicherheitsrisiko dar. Denn der Angreifer hat dann zwar eine gültige Kombination aus Benutzernamen und Kennwort, ist aber nicht in der Lage neue gültige Token zu generieren, was ja auch Sinn und Zweck dieser Tokens ist.
Member: DerWoWusste
DerWoWusste Nov 04, 2015 at 00:30:38 (UTC)
Goto Top
Moin.

So soll es funktionieren, tut es aber nicht. Schritt eins schlägt z.B. beim Webshop von Foxit ja fehl bzw. die Weiterleitung zur Eingabemaske für den Token erscheint gar nicht erst, der Logonvorgang bleibt stehen.
Member: LordGurke
LordGurke Nov 04, 2015 at 00:55:56 (UTC)
Goto Top
Ich bezog mich damit auf die Frage: Wenn man den Token einfach ans Kennwort klebt und es funktioniert, was sagt das über das System aus?
Diese vorgehensweise soll ja - wenn ich das richtig verstehe - funktionieren?
Member: DerWoWusste
DerWoWusste Nov 04, 2015 at 01:19:56 (UTC)
Goto Top
Sei's drum, ich finde es peinlich genug, dass man wieder sieht, dass die Leute keine Tests machen, die über 0815 (aka single-factor-auth.) hinausgehen - sowohl Paypal, als auch hier Foxitsoftware.
Meine Frage war wohl naiv, klar, was ist technisch schon dabei, das so zu machen.

Bei den beiden Webshops jacob elektronik vs. foxitsoftware wäre mal interessant zu wissen, was deren Vorgehen unterscheidet. Hat da jemand einen Einblick anhand der Links die ich reinkopiert habe?