Seite 1 von 1

Webseite im Standardbrowser mit POST-Parametern aufrufen

Verfasst: 30.11.2015 17:54
von Kiffi
Hallo,

ich rufe eine Webseite mit dem Standardbrowser auf:

Code: Alles auswählen

RunProgram("http://MeineSeite.de")
Das funktioniert.

Auf der Seite muss man sich einloggen. Das kann ich mittels GET-Parametern bewerkstelligen:

Code: Alles auswählen

RunProgram("http://MeineSeite.de/?user=MeinUsername&pass=MeinPassword")
Das funktioniert ebenfalls.

Unschön ist hier, dass jeder, der auf den Monitor schaut, das Passwort in der Adresszeile des Browsers sieht.

Der Login funktioniert allerdings auch mittels POST-Parametern. Nur weiß ich nicht, wie ich das bewerkstelligen soll.

Hat jemand eine Idee?

Grüße ... Peter

Re: Webseite im Standardbrowser mit POST-Parametern aufrufen

Verfasst: 30.11.2015 17:56
von RSBasic

Re: Webseite im Standardbrowser mit POST-Parametern aufrufen

Verfasst: 30.11.2015 18:10
von Kiffi
nöh, leider nicht. Ich will die Seite ja im Standardbrowser öffnen und nicht deren Inhalt auslesen.

Dennoch Danke & Grüße ... Peter

Re: Webseite im Standardbrowser mit POST-Parametern aufrufen

Verfasst: 30.11.2015 18:13
von NicTheQuick
Mein Dropbox-Client macht es so: Er erstellt eine temporäre HTML-Datei, die den Login-Token in einer HTML-Form enthält und diese dann nach dem Laden der Seite vom Browser per JS submitted und damit die POST-Daten an die eigentliche Dropbox.com-Seite schickt.

Re: Webseite im Standardbrowser mit POST-Parametern aufrufen

Verfasst: 30.11.2015 18:39
von Kiffi
NicTheQuick hat geschrieben:Mein Dropbox-Client macht es so: Er erstellt eine temporäre HTML-Datei, die den Login-Token in einer HTML-Form enthält und diese dann nach dem Laden der Seite vom Browser per JS submitted und damit die POST-Daten an die eigentliche Dropbox.com-Seite schickt.
das ist ja mal tricky! Danke für den Tipp! :allright:

Grüße ... Peter

Re: Webseite im Standardbrowser mit POST-Parametern aufrufen

Verfasst: 30.11.2015 18:50
von NicTheQuick
Die genaue Vorgehensweise ist wie folgt:
  1. Erstelle Token, mit dem man sich bei Dropbox.com authentifizieren kann.
  2. Wandle Token in HEX-String A um.
  3. Erstelle zweiten gleichlangen kryptographisch sicheren und zufälligen HEX-String B.
  4. Berechne C = A XOr B
  5. Schreibe B als Attribut in ein verstecktes Input-HTML-Tag.
  6. Hänge C als Hash an die URL an, die aufgerufen werden soll.
  7. Nach Laden der HTML-Datei führe nachfolgenden Algorithmus mit Javescript aus:
    1. Lies Hash aus der Adresszeile aus und speichere in C.
    2. Lösche den Hash aus der Adresszeile.
    3. Lies B aus dem Attribut des versteckten Input-HTML-Tags aus.
    4. Berechne A = B XOr C.
    5. Speichere A in einem weiteren versteckten Input-HTML-Tag.
    6. Submitte die Form mit den beiden Input-HTML-Tags und der Action "https://webseite.de/login.php".
  8. Rufe die Datei 'zufall.html' mit dem Standard-Browser auf.
  9. Lösche die Datei nach einer gewissen Zeit, z.B. 30 Sekunden.
Edit:
Falls die Webseite, die du ansprechen möchtest, keine Authentifzierungstokens zulässt, kannst du ja dennoch in Purebasic einen Token basteln, der Login und Passwort in irgendeiner Form getrennt beinhaltet, und ihn nach dem Entschlüsseln mit dem XOr in Javascript wieder auseinanderpflücken und in beide versteckten Input-Tags packen. Dadurch, dass nach einmaligem Aufruf der Hash in der URL entfernt wurde, kommt man auch nicht mehr per Zurückbutton an das Passwort, weil es nicht mehr entschlüsselt werden kann. Hier wird dann quasi ein One-Time-Pad benutzt.

Re: Webseite im Standardbrowser mit POST-Parametern aufrufen

Verfasst: 30.11.2015 20:01
von Kiffi
oh, so umfangreich brauche ich das gar nicht. Habe mir jetzt eine kleine HTML-Seite gebaut, die eine Form mit zwei hidden Inputs ('user' und 'pass') beinhaltet, welche ich bei body.onload submitte. Klappt super! <)

Nochmals Danke & Grüße ... Peter