Voting-Script verstehen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Voting-Script verstehen

    Guten Tag allerseits,

    ich bin neu hier im Forum.
    Und zwar sieht mein Anliegen wie folgt aus:
    Es gibt ein Voting-Verfahren, das wie folgt aussieht.
    Es stehen mehrere Optionen (personen,gegenstände,etc) zur auswahl über die man entscheiden kann. Als Möglichkeiten gibt es ja oder nein.
    In beiden Fällen öffnet sich ein Captcha-Popup, bei dem die Webadresse am Ende so aussieht: /popup.php?id="die ID des Gegenstandes"&value=0 (oder 1)

    0 oder 1 entscheidet sich je nach dem, ob man für Ja oder Nein votet.

    Ich habe leider nicht viel Ahnung von Coding, habe mal ein paar Grundlagen zu php und visual basic gelernt, ist aber nur noch in Bruchstücken vorhanden.
    Ich versuche nun, herauszufinden, was für Möglichkeiten es gibt, ohne umschreiben des Quelltextes das Voting zu beeinflussen.
    Basiert dieses Value-Verfahren auf dem true/false Verfahren oder könnte man beispielsweise 2 statt 1 eingeben und man würde zwei Stimmen abgeben?
    Kamm man zB auch das eintippen des Captchas umgeben? Ich möchte nichts hacken oder dergleichen, ich versuche nur, das Verfahren zu verstehen.
    Wenn mich jetzt jemand als Hacker bezichtigen will, bitte einfach nicht antworten :) Nur weiterführende Antworten sind in meinen Augen produktive Antworten.

    MfG
    Tim
  • Hi,
    nur anhand der URL kannst du das Verfahren leider nicht so einfach erschließen.

    Ein normales Captcha kannst du nicht umgehen. Ob der Datenbankeintrag nun gemacht wird oder nicht hängt nicht vom
    GET Parameter ab, sondern wird innerhalb des Codes entschieden.

    Auch welcher Wert nun in der Datenbank gespeichert wird ist so nicht nachvollziehbar.
    Vielleicht wird der Eintrag nur gemacht, wenn der wert = 1 ist.
    Dann steht in der Datenbank ein "userid, objectid" und gezählzt wird mit COUNT

    Da aber auch erfasst werden muss, dass du für "Nein" gestimmt hast, wird die Datenbank vermutlich so aussehen:
    "userid, objectid, wert"

    Dann ist die Frage ob nun so gezählt wird...

    Quellcode

    1. COUNT(IF(wert,1,NULL)) AS ja,
    2. COUNT(IF(wert,0,NULL)) AS nein


    oder einzeln:

    Quellcode

    1. SELECT COUNT .. WHERE wert > 0

    Quellcode

    1. SELECT COUNT .. WHERE wert = 0


    Die Anzahl wirst du also nicht manipulieren können.
  • Danke schonmal für die Hilfe,

    was ich schon herausgefunden habe ist, dass man beliebig oft wählen kann, solange man den Popup-Link kopiert und die Captcha-Kennung eingibt.
    Könnte man mit einem HTML Reader die Zeile raussuchen, die sozusagen den Vote-Befehl abgibt, und spie öfter senden.
    Also sozusagen dass man einmal das Captcha eintippt, der Befehl zum Voten wird aber 10 mal gesendet und durch das eine Captcha verifiziert?

    MfG
  • Das das Script lückenhaft ist, ist mir schon aufgefallen.
    Denn eigentlich soll man eine Stimme abgeben, man klickt auf ja oder nein, es kommt ein popup mit dem captcha und nach eintippen unter enter schließt es sich und die Stimme ist gezählt.
    Wie gesagt, wenn ich den Popup Link kopiere, kann ich den x-beliebig mal aufrufen und das captcha eingeben und die stimme wird gezählt.
    Ich muss hinzufügen, dass man sich für das voting nicht anmelden muss, es ist also nicht account gebunden oder so. So wie es aussieht speichert sich irgendein coockie in deinen dateien damit du nicht nochmal wählen kannst...denn beim wechsel des windows benutzer-kontos kann man ohne ip-reset nochmal voten.
    Aber wie gesagt, mit dem Popup kopieren hat man selbst das schon umgangen.
    Die Frage ist nur, ob man es theoretisch noch höher treiben könnte und es in etwa so machen wie ich oben schon erwähnt habe oder könnte man ne art html injection machen. WIe gesagt ich kenn mich da nicht so aus und frage daher euch :)

    MfG
  • Bei Votingscripten bei denen man für bestimmte "Teams" votet, sollte man dennoch aufpassen.
    Auch wenn die Manipulation oberflächlich nicht gut geschützt ist, so kann im nachhinein immer noch eine menschliche/oder automatisierte Kontrolle stattfinden, bei der dann anhand der IP Adresse relativ einfach herausgefunden werden kann, dass das Voting manipuliert wurde.
    Damit könnte man das "Team" einfach disqualifizieren.
  • Wie gesagt, ich will da nichts manipulieren :)
    Abgesehen kann man ja entweder einfach Gegen andere voten statt für einen...nen ip resetter oder proxy würde das auch erfüllen.
    Ne die frage ist nur, kann es ne schnellere Methode zum voten gibt, als jedesmal den Link einzufügen und das captcha einzugeben.
    Ich hab da auch nicht viel rumprobiert, fand es nur ohnehin schon lustig, dass man durch kopieren des popup links nochmal voten kann

    MfG