Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   https post problem (https://www.delphipraxis.net/182568-https-post-problem.html)

Shrek_III 1. Nov 2014 17:55


https post problem
 
Moin zusammen,

mal wieder ein Problem bei dem ich einen Stoß gebrauchen könnte, um in die richtige Richtung weiterzudenken.

Auf diese web-app möchte ich gerne zugreifen:

https://www.easports.com/fifa/ultimate-team/web-app

zuvor muss ich mich jedoch bei EA's Origin einloggen - und schon da fehlen mir anscheinend einige Basics.

Was ich bisher herausgefunden habe (und das ist nicht gerade viel):
1. Es wird SSL 3.0 verwendet.
2. Es wird TLS 1.0 verwendet.
3. Beim Click auf "Log in" wird
Code:
email=EMAILADRESS&password=PASSWORT&_rememberMe=on&rememberMe=on&_eventId=submit&facebookAuth=
übergeben (sollte ja wohl eigentlich ein POST sein).
4. der content type von idhttp muss
Code:
application/x-www-form-urlencoded
lauten

Jedweder POST den ich generiere endet in einem 400 BAD RQUEST ERROR...
...hier mein Versuch:
Code:
var
  S: TStringList;
  M: TStream;
begin
 S := TStringList.Create;
 M := TMemoryStream.Create;
 try
   S.Values['email']       := OriginEmail_Edit.Text;
   S.Values['password']    := OriginPassword_Edit.Text;
   S.Values['_rememberMe'] := 'on';
   S.Values['rememberMe']  := 'on';
   S.Values['_eventId']    := 'submit';
   S.Values['facebookAuth'] := '';

   IdHTTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
   IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
   IdHTTP1.Post('https://signin.ea.com/p/web/login', S, M);
   Memo1.Lines.Add(Format('Response Code: %d', [IdHTTP1.ResponseCode]));
   Memo1.Lines.Add(Format('Response Text: %s', [IdHTTP1.ResponseText]));

   M.Position := 0;
   S.LoadFromStream(M);
   Memo1.Lines.AddStrings(S);
 finally
   S.Free;
   M.Free;
 end;
end;
Für ein paar Hinweise was ich lesen sollte, wäre ich sehr dankbar.

Valle 2. Nov 2014 02:11

AW: https post problem
 
Hi,

du kennst bereits Firebug und den Netzwerk-Tab?

Eventuell sind es auch weitere Header die du korrekt setzen musst, z.B. den User-Agent.

Versuche einfach mal nach und nach den Request den du sendest mir den Daten des Browser anzugleichen.

mjustin 2. Nov 2014 11:05

AW: https post problem
 
Um die Kommunikation zu protokollieren kann Fiddler2 als Proxy eingesetzt werden. (Funktioniert auch mit HTTPS.)

Ein Check der Webseite von easports.com zeigte allerdings keine Verwendung von SSL3 an, verständlich wegen der Poodle Attacke.

Der Client (Webbrowser oder Indy) hat möglcherweise versucht SSL3 zu verwenden, dies wurde dann vom Server abgewiesen. Da der Server TLS 1.2 unterstützt kann man den Indy SSL Handler von Anfang an auf TLS 1.2 einstellen, das ist der neueste verfügbare Standard des easports Servers und von Indy.

Shrek_III 2. Nov 2014 12:54

AW: https post problem
 
Zitat:

Zitat von mjustin (Beitrag 1278396)
Ein Check der Webseite von easports.com zeigte allerdings keine Verwendung von SSL3 an, verständlich wegen der Poodle Attacke.

Der Client (Webbrowser oder Indy) hat möglcherweise versucht SSL3 zu verwenden, dies wurde dann vom Server abgewiesen. Da der Server TLS 1.2 unterstützt kann man den Indy SSL Handler von Anfang an auf TLS 1.2 einstellen, das ist der neueste verfügbare Standard des easports Servers und von Indy.

Hm, easports.com nutzt keine SSL3 Version - das ist soweit korrekt https://sslcheck.globalsign.com/de/s....203.235.9-ssl

Für den Login wird jedoch zunächst auf eine andere Seite weitergeleitet, nämlich https://signin.ea.com und diese hat gem. https://sslcheck.globalsign.com/de/s...159.153.228.77 die von mir aufgezeigten Versionen aktiviert.

Ich habe in Fiddler 2.0 und auch mit Firebug den kompletten Referer, aber damit kann ich irgendwie nichts anfangen und zu allem Überdruss nutzt das Ganze auch noch Cookies, damit bin ich nun bei einer Geschichte, die ich bisher definitiv noch nicht gemacht habe...

Valle 2. Nov 2014 12:57

AW: https post problem
 
Zitat:

Zitat von Shrek_III (Beitrag 1278406)
Ich habe in Fiddler 2.0 und auch mit Firebug den kompletten Referer, aber damit kann ich irgendwie nichts anfangen und zu allem Überdruss nutzt das Ganze auch noch Cookies, damit bin ich nun bei einer Geschichte, die ich bisher definitiv noch nicht gemacht habe...



Oh. Dann schau dir das aber mal an, denn ohne Cookies wird das mit Sicherheit nicht funktionieren.

Du wirst online sicherlich genug dazu finden. :)

Shrek_III 2. Nov 2014 14:12

AW: https post problem
 
Zitat:

Zitat von Valle (Beitrag 1278407)
Oh. Dann schau dir das aber mal an, denn ohne Cookies wird das mit Sicherheit nicht funktionieren.

Du wirst online sicherlich genug dazu finden. :)

:roll: ah - interessant, naja, wirklich hilfreich war das jetzt nicht unbedingt...

Valle 2. Nov 2014 14:23

AW: https post problem
 
Ich kann dir mit den Betriebsmitteln auch leider nicht helfen, da ich von Delphi tatsächlich keine Ahnung habe. :mrgreen:

Wenn du dich bei EA einloggen willst, dann wirst du nach erfolgreichen Login-Vorgang allerdings einen Cookie bekommen. Dieser Cookie wird deine Session-ID beinhalten. Die wirst du brauchen, um alles weitere zu tun, was du vor hast. Eventuell brauchst du beim Login bereits einen Cookie, den du mitsenden musst. Dann musst du zuerst die Login-Seite aufrufen und dich dann erst einloggen. Mit dieser Techniken prüfen Seiten manchmal, ob Cookies überhaupt aktiviert sind, was eben Voraussetzung ist.

Gerade bei solch großen Seiten könnte dein Vorhaben leider aufwendig werden.

Übrigens: Wir wissen natürlich nicht genau, was du vor hast, aber viele große Webseiten verbieten die automatisierte Nutzung ihrer Dienste. Vielleicht überprüfst du das vorher mal oder stellst dich darauf ein, dass EA alles nötige tun wird um das zu unterbinden.

Also: Versuche erstmal alle möglichen HTTP-Header anzugleichen (User-Agent, Referrer), mach dich im Umgang mit Cookies vertraut (eventuell vorher mit einer anderen Seite testen) und sende auf jeden Fall alle POST-Daten mit, die du mit Fiddler oder Firebug angezeigt bekommst. Damit solltest du voran kommen! :thumb:

Für weitere Fragen zu Delphi und den Indys findest du dann hier sicherlich genug Leute die dir dann noch helfen können. :)

mjustin 2. Nov 2014 18:06

AW: https post problem
 
Zitat:

Zitat von Shrek_III (Beitrag 1278406)
Für den Login wird jedoch zunächst auf eine andere Seite weitergeleitet, nämlich https://signin.ea.com und diese hat gem. https://sslcheck.globalsign.com/de/s...159.153.228.77 die von mir aufgezeigten Versionen aktiviert.

Tatstächlich, es werden nur SSL 3 und TLS 1.0 (16 Jahre alt) unterstützt. Oha. Nun denn, es ist ja "nur" deren Login-Seite :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz