Zum jetzigen Zeitpunkt finden in WeChat Moments endlose Abstimmungsaktivitäten statt, die sich meiner Meinung nach bereits auf viele Studenten auswirken, da immer wieder Leute (Verwandte, Freunde oder was auch immer) auftauchen und Sie bitten, für sie zu stimmen.
In diesem Artikel geht es nicht darum, dieses Thema auf moralischer oder emotionaler Ebene zu untersuchen. Was mich interessiert, ist, dass die meisten aktuellen Abstimmungsaktivitäten tatsächlich offensichtliche Lücken aufweisen und „Abstimmungsmanipulation“ durch einfache technische Mittel erreicht werden kann.
Hier ist ein Beispiel.
Ein Online-Friseur-Einkaufszentrum (im Folgenden als „S Mall“ bezeichnet) veranstaltete eine Online-Abstimmungsveranstaltung auf der WeChat-Plattform. Über den Veranstaltungslink können Benutzer auf die Abstimmungsseite zugreifen und für die Arbeiten ihrer Lieblingsfriseursalons abstimmen 1 Stimme für ein einzelnes Werk.
Die Seite mit den Abstimmungsaktivitäten wird unten angezeigt:
Oberflächlich betrachtet hat S Mall bereits Anti-Cheating-Maßnahmen bei Abstimmungsaktivitäten umgesetzt, da jeder WeChat-Benutzer nur eine Stimme pro Tag abgeben darf. Wenn Benutzer auf diesen Abstimmungsdienst normal über WeChat zugreifen, um abzustimmen, wird dies tatsächlich den gewünschten Effekt haben.
Wenn Sie jedoch die ursprüngliche Adresse der Abstimmungsseite anzeigen, d. h. die Seite gedrückt halten und nach unten ziehen, wird oben auf dem Bildschirm „Diese Webseite wird von XXX bereitgestellt“ angezeigt dass „XXX“ hier nicht „mp.weixin. qq.com“ ist, sondern der Domainname von S Mall. Mit anderen Worten: Das Programm für diese Abstimmungsaktivität läuft auf dem Server von S Mall.
Basierend auf der obigen Analyse kann gefolgert werden, dass das Netzwerktopologiediagramm der Benutzerabstimmungsvorgänge wie folgt aussehen sollte:
Wenn ein WeChat-Benutzer auf die Abstimmungsseite zugreift, leitet der WeChat-Server die Anfrage nur weiter und die spezifische Stimmenzählung und -überprüfung erfolgt auf dem S-Mall-Server.
Wie unterscheidet S Mall also abstimmende Benutzer?
Dies beinhaltet das Konzept der öffentlichen WeChat-Plattform OpenID
. Die offizielle Erklärung von OpenID
lautet: Nach der Verschlüsselung der WeChat-ID ist die OpenID jedes Benutzers für jedes offizielle Konto eindeutig.
Dies lässt sich leicht überprüfen. Sie müssen lediglich mehrere WeChat-Konten zum Abstimmen verwenden, während des Abstimmungsprozesses Netzwerkpakete erfassen und zur Bestätigung die Parameter im POST überprüfen.
Auf dieser Grundlage fügt die öffentliche WeChat-Plattform bei der Weiterleitung der Abstimmungsanfrage die OpenID
des Benutzers in den POST-Parameter ein. Nachdem S Mall die Abstimmungs-POST-Anfrage erhalten hat, kann sie eine einzelne Abstimmung verhindern, indem sie abfragt, ob die aktuelle OpenID
an diesem Tag abgestimmt hat. Der Benutzer hat wiederholt abgestimmt.
Allerdings gibt es hier eine große Lücke!
S Mall kann nur feststellen, ob OpenID
dupliziert ist, aber es kann die Gültigkeit OpenID
nicht überprüfen, da es den WeChat-Server nicht anrufen kann, um die OpenID
zu überprüfen.
Nachdem diese Lücke geklärt wurde, ist es sehr einfach, ein Ticket-Brushing zu erreichen.
OpenID
-Parameter und stellen Sie wiederholte POST-Anfragen.Wenn Sie Batch-Brushing von Tickets oder automatisierte Ticket-Brushing-Vorgänge implementieren möchten, können Sie Ticket-Brushing-Anfragen über Python-Skripte implementieren. Sie können sogar LoadRunner verwenden.
Führen Sie VoteRobot.py
aus. Das Ausgabeprotokoll sieht wie folgt aus:
======== Start to vote zpid(38), Total votes: 3
1 tickets has been voted, the next ticket will be voted after 35 seconds.
2 tickets has been voted, the next ticket will be voted after 31 seconds.
3 tickets has been voted, the next ticket will be voted after 10 seconds.
======== Voting Ended!
Es ist zu beachten, dass es normalerweise am besten ist, bei der Automatisierung des Ticket-Bürstens ein zufälliges Zeitintervall zu verwenden und verschiedene Geräte dynamisch zu simulieren, d. h. User-Agent
zu ändern. Andernfalls kann der Server das Betrugsverhalten leicht erkennen.
Wenn man das sieht, sind einige Studenten vielleicht insgeheim froh. Kann diese Methode verwendet werden, um bei zukünftigen Abstimmungen „Stimmen durchzuwischen“?
Leider natürlich nicht.
Tatsächlich sind die Lücken im Fall dieses Artikels sehr gering. Dennoch gibt es immer noch einen großen Teil der Abstimmungsaktivitäten, die dieses Modell nutzen.
Es lässt sich auch leicht erkennen, ob eine Wahlkampagne auf diese Weise betrogen werden könnte. Wenn bei Verwendung der Methode in diesem Artikel die URL der Veranstaltung nicht offiziell WeChat ist und im gesamten Abstimmungsprozess keine zusätzliche Überprüfung erfolgt, ist die Wahrscheinlichkeit eines Betrugs sehr hoch. Erfassen Sie dann das Paket, um den Kommunikationsinteraktionsprozess anzuzeigen. und verwenden Nachdem Sie die Parameter des Netzwerkanforderungstools geändert und erneut angefordert haben, können Sie überprüfen, ob Betrug wirklich möglich ist.
Darüber hinaus fragen sich einige vielleicht: Ist es unmöglich, „Stimmenmanipulation“ bei Online-Abstimmungsaktivitäten zu verhindern?
Die Antwort ist, dass es tatsächlich schwierig ist, es vollständig zu beseitigen. Haben Sie schon einmal vom Scalper 12306 gehört? Haben Sie schon einmal davon gehört, dass der Apple Store Apps professionell bewertet? Haben Sie schon einmal von den „Internet-Trollen“ und der „50-Cent-Party“ gehört?
Allerdings können Veranstalter einige Mittel einsetzen, um die Hemmschwelle für Betrug deutlich anzuheben. Viele aktuelle Aktivitäten verwenden beispielsweise die folgenden Methoden:
Unabhängig davon, welche dieser beiden Methoden verwendet wird, ist die in diesem Artikel beschriebene Methode des „Vote-Brushing“ völlig wirkungslos.