Im Zuge der Sicherheits-Fragen für BRG_HP habe ich mich ein bisschen mit Spam und Hacks beschäftigt… Dabei bin ich auch geniale Sicherheitslücken gestoßen.
- SQL-Injektion: Dürfte wohl jeder erfahrener Informatiker kennen. Statt
?id=42schicke ichID=42; UPDATE USER SET TYPE="admin" WHERE ID=23;ab. So kann man sich wunderbar Adminrechte beschaffen und Kontrolle über den Server übernehmen. Finde ich natürlich genial, wobei es sehr einfach ist (das schließt sich nicht aus!). Ich bin mir sicher bei ein paar unerfahrenen Leuten kann man das ausnutzen, aber das probiere ich besser nicht aus.
Tipps: Natürlich muss derjenige, der das ausführt wissen, welche Tabellen, welche Spaltennamen und welche Inhalte verwendet werden. Aber ich denke einmal einen Profi hält das nicht auf!
Vorbeugung: Einfach die GET-Übermittlung überprüfen. In dem Fall wollen wir nichts weiter als eine Zahl übermitteln. Deshalb formatieren wird das Ergebnis in einen Integer:$sql = sprintf("SELECT [...] ID = %u", $_GET['ID']);Oder einfachis_int()
Außerdem: phpBB hat sich natürlich dagegen geschützt. Sämtliche Tests von mir an BRG3 sind fehlgeschlagen
- Gefälschte URLs im IE:
http://brg-viktring-board.at@192.168.1.1/
Dir kommt diese URL nicht ganz geheuer vor? Wieso? Wegen dem @-Zeichen? Das bedeutet doch nur, dass er nicht auch brg-viktring-board.at sondern auf den Server mit der IP 192.168.1.1 zugreift. OK… dann stimmt’s. Also: Rühre nie solch eine Adresse an! OK… bist du dann sicher? Nein…. denn der IE 6.x zeigt die Adresse nach dem @ nicht einmal an. Das heißt du siehst du Adressehttp://brg-viktring-board.atin der Adressleiste und du gelangst aber auf den Server192.168.1.1!
Ganz schön gefährlich, aber ich verwende den IE sowieso nicht. Darum habe ich das Problem nicht. Und der Prof. Schmiddy hat aber gesagt, der IE sei der sicherste Browser (wobei er sicher sein Gründe hat!). Komisch.
Tipp: Nachdem es bei meinem IE 6.0 funktioniert hat, mein Tipp: Verzicht auf den IE! (bzw. Umstieg auf 7.0) Sowohl Opera als auch Firefox haben bei mir diesen Test bestanden. PS: Um es noch gemeiner zu machen, kann man die Adresse mit unescape (JS) verschlüsseln.
- Harvester: Jeder Betreiber einer Webseite kennt das Problem: Für eine Webseite legt man sich extra eine neue Support-E-Mail-Adresse zu (ich zB: BRG_HP – NViktring@gmx.at). Wunderbar… (zB) gmx und gmail bieten auch die Möglichkeiten dazu. Doch kaum ist einmal die Webseite online, finden Spam-Mails ein neues Zuhause.
Problem: Der Harvester ist gekommen! Er hat den Quelltext der Seite nach einem vermeintlichenmailto:(dabei wird es eh aus diesem Grunde selten verwendet) durchforstet. Und schon wird die E-mailadresse an den Harvester-Papa geschickt.
Tipp: Da der Harvester den kompletten Quelltext durchsuchen muss, nimmt er auch vor Kommentaren keinen Halt. Wie zum Beispiel diesem:<?php echo '<!--'. date('YmdHis-') . "${_SERVER['REMOTE_ADDR']}@{$_SERVER['HTTP_HOST']} -->"?>
Diesen genialen Einfall haben wir Daniel Rehbein zu verdanken. Es täuscht im HTML-Quelltext eine E-mailadresse vor. Der Harvester findet sie und verschickt an diese natürlich sofort (nicht der Harvester sondern der Harvester-User
) eine Spam-Mail. Was er nicht ahnt: Statt die Mail an eine richtige Adresse zu schicken, liefert er seine IP-Adresse und den Zeitpunkt seines Zugriffs mit. Dadurch kann genau ermittelt werden, wer wann einen Harvester benutzt hat. Voraussetzung: Dir gehört der POP3-Server!
Sollte ich auch ausprobieren
(leider kein POP3-Server
)
Wer weitere Infos haben will, kann sich über XSS informieren. Und wer weitere Tipps und Tricks hat, bitte per Kommentar informieren!


Recent Comments