Andreas: Kann Seite nicht direkt verlinken

Hallo!

Ich würe gerne dei Zugangsseite zur Commerzbank Online-Banking Webseite direkt aus dem Intranet verlinken.

Aber ich komme nur bis:
http://onlinebanking.commerzbank.de/onlinebankingweb/

Die nächste Seite, in die man die Eingabe der Zugangsdaten macht kann ich nicht verlinken. Da bekommt man wohl vorher irgrndeine SessionID, oder mache ich irgendwas falsch? Was hat das für einen Sinn?

Grüße
Andreas

  1. hi

    Die nächste Seite, in die man die Eingabe der Zugangsdaten macht kann ich nicht verlinken. Da bekommt man wohl vorher irgrndeine SessionID, oder mache ich irgendwas falsch? Was hat das für einen Sinn?

    einer der Sicherheitsversuche - oder schein-Sicherheit.. Man glaubt darüber wohl von Leuten, die die Verbindung abfangen sicher zu sein. Da die meisten Leute eh Cookies aktiviert haben, kann man die dem Rest auch aufzwingen - auch wenn Cookies nun jeedr Sicherheit zuwiederlaufen, aber soweit denken die nicht...

    Grüße aus Bleckede

    Kai

  2. Hi,

    Die nächste Seite, in die man die Eingabe der Zugangsdaten macht kann ich nicht verlinken. Da bekommt man wohl vorher irgrndeine SessionID,

    soweit ich es beurteilen kann, wird der Referrer überprüft, der natürlich dann von Deiner Site stammt (je nach clientseitiger und Firewall-Konfiguration) und somit abgelehnt wird. Das hätte der Verantwortliche Dir aber eigentlich auch sagen können, als er Dir die Erlaubnis zum Deeplink gegeben hat, um die Du selbstverständlich gebeten hast.

    Cheatah

    1. Hallo!

      soweit ich es beurteilen kann, wird der Referrer überprüft, der natürlich dann von Deiner Site stammt (je nach clientseitiger und Firewall-Konfiguration) und somit abgelehnt wird. Das hätte der Verantwortliche Dir aber eigentlich auch sagen können, als er Dir die Erlaubnis zum Deeplink gegeben hat, um die Du selbstverständlich gebeten hast.

      Wird einem jetzt schon vorgeschreiben über welche Seiten hinweg man sein Online-Banking zu betreten hat?

      Ist ja schließlich keine allgemein zugängliche Internetseite, (wie gesagtm, Intranet, uand auch das beschränkt), das ist ja dasselbe als würde er mir verbieten das direkt in den Browser einzutippen!

      Grüße
      Andreas

      1. Hi,

        Wird einem jetzt schon vorgeschreiben über welche Seiten hinweg man sein Online-Banking zu betreten hat?

        es liegt im berechtigten Interesse der Besitzer eine Website, dass das Angebot vollständig gesehen werden kann. Gerade da die Seite hier in einem Frameset dargestellt wird, reißt Du sie aus ihrem Kontext. Man spricht von "Zueigenmachung fremden Inhalts" - wobei "man" zumeist Anwälte sind, mit denen Du bei solchen Dingen rechnen darfst. Und dabei verlierst.

        Ist ja schließlich keine allgemein zugängliche Internetseite,

        Das entschärft die Situation natürlich. Dennoch möchte ich Dir empfehlen, eine schriftliche Genehmigung einzuholen.

        das ist ja dasselbe als würde er mir verbieten das direkt in den Browser einzutippen!

        Wenn jemand das macht, dürfte er in aller Regel Kenntnis von der Site oder zumindest deren Besitzer und/oder Zweck haben. Bei einem Link irgendwo auf einer Seite ist dies nicht gegeben.

        Cheatah

  3. Aloha!

    Ich würe gerne dei Zugangsseite zur Commerzbank Online-Banking Webseite direkt aus dem Intranet verlinken.

    Aber ich komme nur bis:
    http://onlinebanking.commerzbank.de/onlinebankingweb/

    Weiter als bis zur Login-Maske zu verlinken macht ja ohnehin keinen Sinn, also nimm dies hier:

    https://portal03.commerzbanking.de/P-Portal/XML/IFILPortal/pgf.html?Tab=80&Doc=/de/GB/hauptnavigation/onlinebanking/uebersicht/bereichsgabelseiten_online_banking.htm

    Keine Gewähr dafür, dass die Seite immer auf "portal03" liegt. Aber diese Seite auf commerzbankbanking.de ist scheinbar die zukünftig korrekte Adresse - der alte Zugang wird laut News abgeschaltet.

    Und wenn die Commerzbank irgendwelche Zicken macht, dann erinnere sie mal nett daran, dass es bei der comdirect-Bank doch auch geht. Und der Link ist auch viel kürzer:
    https://brokerage.comdirect.de

    Stichwort: Weiterleitungsseite anlegen. :)

    - Sven Rautenberg

    1. Hallo!

      Weiter als bis zur Login-Maske zu verlinken macht ja ohnehin keinen Sinn, also nimm dies hier:

      und ob, aber da weird es unsicher, aber ich sucher verzweifelt nach einer Möglichkeit Kontodaten automatisiert zu digitalisieren.

      https://portal03.commerzbanking.de/P-Portal/XML/IFILPortal/pgf.html?Tab=80&Doc=/de/GB/hauptnavigation/onlinebanking/uebersicht/bereichsgabelseiten_online_banking.htm

      gute idee, geht sogar mit https://portal03.commerzbanking.de/P-Portal/XML/IFILPortal/pgf.html

      ich hab auchmal da hin geschrieben, mal gucken was die sagen, denn das ist ja nun wirklich nur ne html-Datei, auf die man etwas eleganter verweisen könnte!

      Keine Gewähr dafür, dass die Seite immer auf "portal03" liegt. Aber diese Seite auf commerzbankbanking.de ist scheinbar die zukünftig korrekte Adresse - der alte Zugang wird laut News abgeschaltet.

      Vermutlich wird das wohl so bleiben nur bei bestimmt mal intern umgelinkt, vielleicht bei änderungen, aber Du hast Recht, das ist kein Zustand!

      Und wenn die Commerzbank irgendwelche Zicken macht, dann erinnere sie mal nett daran, dass es bei der comdirect-Bank doch auch geht. Und der Link ist auch viel kürzer:
      https://brokerage.comdirect.de
      Stichwort: Weiterleitungsseite anlegen. :)

      Sehr gutes Argument :-)

      Aber nochmal, zur Posting-Überschrift:

      Ich suche nach der Möglichkeit, Kontodaten - wie auch immer - möglichst automatisiert in eine eigene Datenbank zu übertragen. Ich will nur auslesen können, klar, Überweisungen tätigen wäre natürlich noch ne ecke netter, aber das muß (erstmal) nicht sein.

      Ich sehe da nur 2 Möglichkeiten:
      1. Ich versuche mich mit PHP/PERL über den Server mit meine Benutzerdaten beim Online-Banking einzuloggen... aber wenn dann was passiert bin ichs wohl selber Schuld, also nicht so gut, oder?
      2. per HBCI
      Ich habe mir mal igrendwoher ne Spezifizierung besorgt, die ist ja einfach nur Wahnsinn. Hat da hier jemand schonmal was mit gemacht? und wie sollte das dann praktisch laufen? Mit hbci stelle ich eine http-Verbindung zu einem Bankenserver her oder?  Obwohl mir http sehr ungeeignet erscheint, da Zustandslos, naja.
      Dann generiere ich halt Datenpakete, und dekodiere die empfangenen, und dann sehe ich ja was ich machen muß, nur ist die Spezifikation wirklich etwas kryptisch zu lesen ;-)

      Oder haltet Ihr so eine HBCI Selbstentwicklung auf einem Linux-Server für ein größeres Sicherheitsleck?

      Vielleicht habt Ihr ja ne Idee, oder kennt irgendwelche Ansätze!

      Grüße
      Andreas

      1. Aloha!

        Aber nochmal, zur Posting-Überschrift:

        Aha, in jedem kleinen Problem steckt ein großes, dass gerne heraus will (Murphys Computergesetze). :)

        Ich suche nach der Möglichkeit, Kontodaten - wie auch immer - möglichst automatisiert in eine eigene Datenbank zu übertragen. Ich will nur auslesen können, klar, Überweisungen tätigen wäre natürlich noch ne ecke netter, aber das muß (erstmal) nicht sein.

        Ich sehe da nur 2 Möglichkeiten:

        1. Ich versuche mich mit PHP/PERL über den Server mit meine Benutzerdaten beim Online-Banking einzuloggen... aber wenn dann was passiert bin ichs wohl selber Schuld, also nicht so gut, oder?

        Du bist ohnehin selber Schuld, wenn was passiert. Banken, die hohe Sicherheitsmassnahmen betreiben, auferlegen ihren Kunden meist das gesamte Risiko der Transaktion, d.h. wenn etwas passiert, muss der Kunde beweisen, dass er alles richtig und die Bank den Fehler gemacht hat. Es gab (gibts die heute noch) mal eine Sparkasse, die hat nur minimale Sicherheitsvorkehrungen getroffen (https war's zwar wohl schon, aber ansonsten nur schlichte PIN/TAN), aber auch das Risiko getragen. Eigentlich ein gutes Argument: Wenn der Kunde ohnehin kein Risiko trägt, dann reichen übliche Verschlüsselungsmechanismen aus, um möglichen Mitlesern den Inhalt zu verschleiern (irgendwann kommt man mit genügend Rechenpower ja doch dran), aber das System wird durch die (vermeintlich) geringere Sicherheit einfacher bedienbar. HBCI ist schlicht und einfach nur wahnsinnig umständlich und auch sehr immobil. Mit PIN kann ich locker von allen Internet-Rechnern der Welt meinen Kontostand abfragen. HBCI-Kommunikation erfordert mindestens eine Diskette, deren Inhalt niemand wissen soll - die schleppe ich nicht mit mir herum, und im Zweifel hat der Rechner, den ich benutzen will, kein Laufwerk, oder es ist kaputt, oder wegen Virengefahr abgeschaltet.

        Zurück zur Frage:
        Ja, mit einem hinreichend ausgestatteten Skript kannst du im Prinzip den Browserzugriff emulieren. Du benötigst allerdings die Fähigkeit, HTTPS zu sprechen, denn unverschlüsselt wirst du keinen Zugang kriegen.

        Der weitere Verlauf ist dann ganz schlicht der, dass du ein POST des Login-Formulars abschickst (eventuell ist es notwendig, das Formular vorher zu parsen und auf irgendwelche Session-IDs zu untersuchen), danach ein GET der Kontostandsseite (parsen und abspeichern des Kontostandes), und am Ende ein GET der Logoutseite.

        Verhalte dich einfach wie ein ganz normaler Browser. Sende HTTP-Header, welche von einem echten Browser kommen. Bedenke, dass du unter Umständen Javascript analysieren musst, falls die Navigation es zwingend erfordert. Die Kontostandsseite dürfte sich aber vermutlich normal ermitteln und vom Skript abrufen lassen, sofern sie nicht ohnehin die erste Seite ist, die man kriegt.

        1. per HBCI
          Ich habe mir mal igrendwoher ne Spezifizierung besorgt, die ist ja einfach nur Wahnsinn. Hat da hier jemand schonmal was mit gemacht? und wie sollte das dann praktisch laufen? Mit hbci stelle ich eine http-Verbindung zu einem Bankenserver her oder?  Obwohl mir http sehr ungeeignet erscheint, da Zustandslos, naja.

        Zustandlos ist korrekt - was zwei verschiedene Requests angeht. Ein einzelner Request hat aber immer Frage und Antwort. Und HBCI sorgt dafür, dass zwei aufeinanderfolgende Fragen identifizierbar sind, denn der Kunde signiert seine Frage ja digital - das ist besser als jede Cookie-Session-ID, das identifiziert den Benutzer nicht nur pseudonym, sondern eindeutig persönlich. Anders gehts ja gar nicht im Bankverkehr. HTTP ist wirklich nur das Transportprotokoll, um die Daten von A nach B zu kriegen.

        Oder haltet Ihr so eine HBCI Selbstentwicklung auf einem Linux-Server für ein größeres Sicherheitsleck?

        Mit gewissen mulmigen Gefühlen wäre ich dabei. Allerdings: Kann man den kommerziellen Herstellern mehr Vertrauen schenken? Man benutzt etwas, von dem die Bank behauptet, dass es sicher sei, von dem aber sonst niemand den Quelltext gesehen hat. Wie gut sind die Bankexperten? Wie gut die Softwareentwickler? Wie gut wärst du, und wieviel Vertrauen schenkst du dir?

        Allerdings musst du bedenken, dass auch bei Methode 1 die Zugangsdaten zur Bank sicher verwahrt werden müssen. Wer die PIN kennt, der kann den Kontostand abfragen - jederzeit wieder. Regelmäßige Änderungen der PIN sollten erfolgen. Andererseits: Solange die Kontostände, egal, wie sie gewonnen werden, ohnehin auf einem Rechner gespeichert werden, ist es auch egal, ob dort die PIN zusätzlich gespeichert ist. Wer widerrechtlich und unbefugt Zugriff auf diesen Rechner erlangt, kann spionieren, egal ob ein Webinterfaceskript existiert, oder nicht. Unter Linux kann man diesen Angriff relativ schwer machen, sofern der Angreifer keinen Zugriff auf die Hardware hat (und beispielsweise die Festplatte ausbaut und auf einem anderen Rechner, auf dem er Root ist, mountet).

        - Sven Rautenberg

        1. Hallo!

          Ja, mit einem hinreichend ausgestatteten Skript kannst du im Prinzip den Browserzugriff emulieren. Du benötigst allerdings die Fähigkeit, HTTPS zu sprechen, denn unverschlüsselt wirst du keinen Zugang kriegen.

          Da sagst Du was, genau dasselbe Problem habe ich zur Zeit auch an anderer Stelle und habe im Augenblick keinen Schimmer wie ich das lösen soll.
          Mit PHP und fsockopen() jedenfalls scheint es nicht zu funktionieren. Wenn ich da einen Request an Port 443 sende bekomme ich einen bad request.
          Aber was gibt es da für andere Möglichkeiten? Geht das überhaupt mit PHP? Und mit welcher Technik? Welchen Funktionen? Ich finde dazu auch 0 Infos im Netz. Hast Du vielleicht einen Denkanstoß für mich? Bin da nämlich leider etwas aufgeschmissen :-(
          Wie soll ich vom Server aus ein SSL Zertifikat verifizieren, wie der Browser das macht? Wenn das denn funktioniert würde mir das vielerlei Möglichkeiten zur sichern Übertragung von Daten eröffnen!

          Viele Grüße und Danke für die hilfreiche Antwort,
          Andreas

          1. Hallo!

            Ja, mit einem hinreichend ausgestatteten Skript kannst du im Prinzip den Browserzugriff emulieren. Du benötigst allerdings die Fähigkeit, HTTPS zu sprechen, denn unverschlüsselt wirst du keinen Zugang kriegen.
            Da sagst Du was, genau dasselbe Problem habe ich zur Zeit auch an anderer Stelle und habe im Augenblick keinen Schimmer wie ich das lösen soll.
            Mit PHP und fsockopen() jedenfalls scheint es nicht zu funktionieren. Wenn ich da einen Request an Port 443 sende bekomme ich einen bad request.

            Dem Mann kann geholfen werden. Zitat aus http://www.php.net/manual/en/function.fopen.php
            "As of PHP 4.3.0, if you have compiled in support for OpenSSL, you may use "https://" to open an HTTP connection over SSL."

            Mit fsockopen() könnte es im Prinzip auch gehen - sofern du in der Lage bist, die Verschlüsselung hinzukriegen - behaupte ich jetzt einfach mal.

            Aber was gibt es da für andere Möglichkeiten? Geht das überhaupt mit PHP? Und mit welcher Technik? Welchen Funktionen? Ich finde dazu auch 0 Infos im Netz. Hast Du vielleicht einen Denkanstoß für mich? Bin da nämlich leider etwas aufgeschmissen :-(

            Google suchen lassen: "php fsockopen https" und "php fsockopen ssl"

            Letzteres liefert auch noch dies Zitat von http://www.php.net/manual/en/function.fsockopen.php
            "As of PHP 4.3.0, if you have compiled in OpenSSL support, you may prefix the hostname with either 'ssl://' or 'tls://' to use an SSL or TLS client connection over TCP/IP to connect to the remote host."

            Mit anderen Worten: Du musst PHP 4.3 selbst kompilieren und in deinen Apache einbinden, und zusätzlich OpenSSL-Unterstützung einbinden. OpenSSL zu kompilieren ist relativ leicht (hab ich schon einige Male gemacht, um OpenSSH kompilieren zu können). Wie einfach PHP 4.3 zur Mitarbeit im Apache zu bewegen ist, kann ich nicht sagen, da habe ich bislang immer fertige Pakete verwendet, in denen PHP schon drin war.

            - Sven Rautenberg

            1. Hi!

              Dem Mann kann geholfen werden. Zitat aus http://www.php.net/manual/en/function.fopen.php
              "As of PHP 4.3.0, if you have compiled in support for OpenSSL, you may use "https://" to open an HTTP connection over SSL."

              Naja, 4.3 ist 1. noch nicht stable und 2. benötigt man doch PHP als Modul, oder sehe ich das falsch? Beides habe ich auf besagtem Server noch nicht und kann es auch nicht selbst installieren. 4.3 wird wohl früher oder später kommen, aber nicht als Modul.

              Google suchen lassen: "php fsockopen https" und "php fsockopen ssl"

              Letzteres liefert auch noch dies Zitat von http://www.php.net/manual/en/function.fsockopen.php
              "As of PHP 4.3.0, if you have compiled in OpenSSL support, you may prefix the hostname with either 'ssl://' or 'tls://' to use an SSL or TLS client connection over TCP/IP to connect to the remote host."

              Mit anderen Worten: Du musst PHP 4.3 selbst kompilieren und in deinen Apache einbinden, und zusätzlich OpenSSL-Unterstützung einbinden. OpenSSL zu kompilieren ist relativ leicht (hab ich schon einige Male gemacht, um OpenSSH kompilieren zu können). Wie einfach PHP 4.3 zur Mitarbeit im Apache zu bewegen ist, kann ich nicht sagen, da habe ich bislang immer fertige Pakete verwendet, in denen PHP schon drin war.

              Genau darauf bin ich auch gestoßen, aber aus den obigen Gründen wird das erstmmal nicht möglich sein.
              Aber mir ist auch eine Alternative untergekommen: CURL

              Folgedes habe ich mal probiert(ich weiß das CURL funktioniert):

              <?php

              $URL="www.ccc.de/index.html";

              exec("curl -m 120 -d https://$URL -L",$return_message_array, $return_number);

              for ($i = 0; $i < count($return_message_array); $i++) {
                  $results = $results.$return_message_array[$i];
              }

              $res = explode(",",$results);

              if ($res[0]=="0") {
                  print "Passed !!";
              } else {
                  print "Failed :-(";
              }

              ?>

              Naja, und ich erhalte immer "Failed". Ne ganz wage IDee was ich falsch machen könnte? Und ich verstehe das richtig das mir dieser Aufruf der komplette Code der angefragten Adresse ausgegeben werden sollte, oder?

              Grüße
              Andreas