Hallo,
folgendes Szenario:
ein User kann eine Kleinanzeige auf mein Internetportal einstellen, daraufhin erhält er eine Mail, in der er die Anzeige[list=1][*]aufrufen[*]löschen[*]bearbeiten[*]erneut einstellen[/list=1]
kann. Dazu sind in der Mail jeweils ein Link pro Funktion enthalten. Diese Links sehen folgendermaßen aus:
http//www.meineDomain.de/aufrufen.php?AnzeigenId=1231365&
Anzeigenticket=10718d86-e430-a011-8696-69f6ffffffac
http//www.meineDomain.de/loeschen.php?AnzeigenId=1231365&
Anzeigenticket=10718d86-e430-a011-8696-69f6ffffffac
usw...
Es wird also das Skript zum aufrufen, löschen etc... aufgerufen mit den Get-Variablen AnzeigenId und dem Anzeigenticket. Auf dieses Anzeigenticket kommt es auch in meiner Frage an. Würde man das Ticket nicht übergeben müssen, dann könnte ein Hacker ein Skirpt schreiben, in dem er mithilfe einer Schleife die Seite http//www.meineDomain.de/loeschen.php?AnzeigenId=1
immer wieder aufruft mit einer stets steigenden ProdId. Er würde also alle Anzeigen aus der DB eins nach dem anderen löschen.
Zur Sicherheit generiere ich also für jede eingestellte Anzeige zusätzlich ein Anzeigenticket, das mit den Links übergeben werden muss um eine der Aktionen mit der jeweiligen Kleinanzeige ausführen zu können.
Das Ticket wird mit einer random-Funktion generiert und sieht immer folgendermaßen aus:
/^[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-
[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}$/
Nun wird es dem Hacker deutlich erschwert, da er erstmal das Ticket für die jeweilige Kleinanzeige herausfinden muss, bevor er diese bearbeiten kann, doch unmöglich ist es nicht, es dauert halt nur länger.
Ich würde nun gerne eure Meinung dazu wissen, ist das ein ausreichender Schutz oder bedarf es noch weiterer Sicherheitsmaßnahmen. Um das ganze besser nachzuvollziehen, könnt ihr es Euch auf www_kijiji_de anschauen. Wenn man dort eine Kleinanzeige einstellt, erhält man eine E-Mail mit Links für bestimmte Aktionen mit der Kleinanzeige. Ich hab mir das da abgeguckt und konnte weitere Sicherheitsmaßnahmen nicht feststellen.
Was ich mir noch denken könnte wäre z.B. eine Überprüfung des letzten Seitenbesuchs und der Häufigkeit der Besuche durch eine bestimmte IP. Wenn z.B ein User versucht mit einem selbsgebastelten Skript das Anzeigenticket rauszufinden, dann merkt mein Skript, daß er halt zu häufige Zugriffe hintereinander hat und es sich aus diesem Grund um ein Hacker handeln muss.
Meint Ihr daß sowas die Mühe wirklich wert ist (vor allem wegen der Performance), oder daß die Generierung des Anzeigentickets ausreichend ist?
Ich danke schon mal für jede Hilfe.
Nube2021
folgendes Szenario:
ein User kann eine Kleinanzeige auf mein Internetportal einstellen, daraufhin erhält er eine Mail, in der er die Anzeige[list=1][*]aufrufen[*]löschen[*]bearbeiten[*]erneut einstellen[/list=1]
kann. Dazu sind in der Mail jeweils ein Link pro Funktion enthalten. Diese Links sehen folgendermaßen aus:
http//www.meineDomain.de/aufrufen.php?AnzeigenId=1231365&
Anzeigenticket=10718d86-e430-a011-8696-69f6ffffffac
http//www.meineDomain.de/loeschen.php?AnzeigenId=1231365&
Anzeigenticket=10718d86-e430-a011-8696-69f6ffffffac
usw...
Es wird also das Skript zum aufrufen, löschen etc... aufgerufen mit den Get-Variablen AnzeigenId und dem Anzeigenticket. Auf dieses Anzeigenticket kommt es auch in meiner Frage an. Würde man das Ticket nicht übergeben müssen, dann könnte ein Hacker ein Skirpt schreiben, in dem er mithilfe einer Schleife die Seite http//www.meineDomain.de/loeschen.php?AnzeigenId=1
immer wieder aufruft mit einer stets steigenden ProdId. Er würde also alle Anzeigen aus der DB eins nach dem anderen löschen.
Zur Sicherheit generiere ich also für jede eingestellte Anzeige zusätzlich ein Anzeigenticket, das mit den Links übergeben werden muss um eine der Aktionen mit der jeweiligen Kleinanzeige ausführen zu können.
Das Ticket wird mit einer random-Funktion generiert und sieht immer folgendermaßen aus:
/^[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-
[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}$/
Nun wird es dem Hacker deutlich erschwert, da er erstmal das Ticket für die jeweilige Kleinanzeige herausfinden muss, bevor er diese bearbeiten kann, doch unmöglich ist es nicht, es dauert halt nur länger.
Ich würde nun gerne eure Meinung dazu wissen, ist das ein ausreichender Schutz oder bedarf es noch weiterer Sicherheitsmaßnahmen. Um das ganze besser nachzuvollziehen, könnt ihr es Euch auf www_kijiji_de anschauen. Wenn man dort eine Kleinanzeige einstellt, erhält man eine E-Mail mit Links für bestimmte Aktionen mit der Kleinanzeige. Ich hab mir das da abgeguckt und konnte weitere Sicherheitsmaßnahmen nicht feststellen.
Was ich mir noch denken könnte wäre z.B. eine Überprüfung des letzten Seitenbesuchs und der Häufigkeit der Besuche durch eine bestimmte IP. Wenn z.B ein User versucht mit einem selbsgebastelten Skript das Anzeigenticket rauszufinden, dann merkt mein Skript, daß er halt zu häufige Zugriffe hintereinander hat und es sich aus diesem Grund um ein Hacker handeln muss.
Meint Ihr daß sowas die Mühe wirklich wert ist (vor allem wegen der Performance), oder daß die Generierung des Anzeigentickets ausreichend ist?
Ich danke schon mal für jede Hilfe.
Nube2021
Kommentar