Heim > Artikel > Backend-Entwicklung > So verwenden Sie Python zum automatischen Ausfüllen von Fragebögen
In diesem Artikel werden hauptsächlich relevante Informationen zum automatischen Ausfüllen von Fragebögen über Python vorgestellt. Freunde, die sie benötigen, können darauf verweisen
0X00 Vorwort
Die Schule fängt bald an und ich sah verschiedene Anfragen zum Ausfüllen von Fragebögen im Raum, und dann fiel mir ein, dass ich es noch nicht getan hatte. Ich mag diese Art von bedeutungslosem Fragebogen nicht, deshalb habe ich vor, ihn mit „Stunt“ auszufüllen, also mit Python. Ich werde Python noch einmal überprüfen, was ich schon lange nicht mehr verwendet habe. Als nächstes beginnt die Show...
0X01 Code Writing Ideas
Erstellen Sie zunächst einen Fragebogen
Wir füllen einen zufälligen Fragebogen aus, senden ihn ab und öffnen Burpsuite, um die Datenpakete vor dem Absenden abzufangen.
Analysieren Sie die abgefangenen Datenpakete, von denen einige es sind URL-codiert Es ist für die Analyse nicht förderlich. Sie können das Burpsuite-Codierungsmodul verwenden, um es zu decodieren und zu ersetzen, was die Analyse erleichtert. Durch Beobachtung können wir feststellen, dass eine seltsame Datenfolge gepostet wird: subscribedata=1$2}2$3}3 $3}4$4}5$3}6$2}7$4}8$2}9$3}10$3. Eine sorgfältige Analyse zeigt, dass die Daten wahrscheinlich dies bedeuten.
Verwenden Sie diese Informationen, um mit dem Schreiben von Python-Programmen zu beginnen
Die Ergebnisse sind wie folgt Es scheint, dass die Website über andere Anti-Crawler-Mechanismen verfügt. Nach dem Einreichen mehrerer Wenn Sie nacheinander Formulare ausfüllen, wird ein Bestätigungscode angezeigt. Müssen wir dem Programm zu diesem Zeitpunkt die Funktion zur Identifizierung von Bestätigungscodes hinzufügen? Eigentlich nein, wir können zunächst die gerade von Burpsuite abgefangenen Header-Informationen analysieren, um zu sehen, wie die Website festgestellt hat, dass wir einen Crawler zum Absenden des Fragebogens verwendet haben.Nach einigen Tests stellte ich fest, dass, wenn ich drei Fragebögen hintereinander einreichte und dann eine andere IP änderte, um drei Fragebögen einzureichen, Das heißt, ich habe 6 Fragebögen hintereinander eingereicht, aber der Anti-Crawler-Mechanismus der Website wurde nicht ausgelöst. Wir können also vermuten, dass die Gegenpartei das Crawler-Programm anhand der Häufigkeit der IP-Einsendung von Fragebögen identifiziert. Wenn Sie dies sehen, denken Sie vielleicht, dass wir den Fragebogen über einen kostenlosen Online-Agenten einreichen können. Zum Beispiel diese
Bedeutet das, dass wir dem Python-Code die Funktion zum Extrahieren kostenloser Proxy-IP hinzufügen müssen? NEIN NEIN NEIN! Um die Denkweise zu ändern, werden Sie beim CTF-Wettbewerb auf ein Problem stoßen. Beispielsweise können Sie die Flagge nur erhalten, wenn Ihre IP aus Deutschland stammt. Daher besteht unsere Idee darin, den Header des Datenpakets zu fälschen, unsere IP zu fälschen und den Server zu täuschen. Lassen Sie uns über verschiedene Möglichkeiten sprechen, geistiges Eigentum zu fälschen.
X-Client-IP:1.1.1.1 X-Remote-IP:2.2.2.2 X-Remote-Addr:3.3.3.3 X-Originating-IP:4.4.4.4 X-Forwarded-For:5.5.5.5
Wir probieren jeden einzelnen aus und können dann in der Hintergrundstatistik die Quelle unseres Fragebogens sehen
Hier haben wir festgestellt, dass X-Forwarded-For verwendet werden kann, um es zu umgehen. Wir werden diese Methode verwenden, um das X-Forwarded-For-Feld in die Header-Informationen einzufügen, daher lautet das geänderte Skript wie folgt:
Die Laufergebnisse sind wie folgt
Gehen Sie in den Hintergrund, um die Statistiken zu überprüfen
Zu diesem Zeitpunkt haben wir die Aufgabe perfekt gelöst. Wenn Sie IP-Adressen außerhalb des Fragebogens entfernen möchten, können Sie chinesische IP-Adresssegmente sammeln, diese dann dem Programm hinzufügen und verarbeiten.
0X02 Zusammenfassung
Jeder kann normalerweise das, was er gelernt hat, im wirklichen Leben anwenden. Wenn Sie auf Schwierigkeiten stoßen, geraten Sie nicht in Panik und denken Sie weiter . , Finden Sie die optimale Lösung. Oben habe ich beispielsweise weder ein Bestätigungscode-Erkennungsmodul zum Code hinzugefügt, noch einen Proxy verwendet, um den Anti-Crawler-Mechanismus der Website zu umgehen, sondern den Anti-Crawler-Mechanismus der Website analysiert und das gelernte Sicherheitswissen verwendet (HTTP-Header-Täuschung) Lösen Sie das Problem einfach und erledigen Sie die Aufgabe perfekt mit dem kürzesten Code.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Python zum automatischen Ausfüllen von Fragebögen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!