Kleine Anmerkung…
Grundsätzlich gebe ich meinem Vorredner recht…
Aaaaaber…
Es ist natürlich bei ASP wie auch bei PHP oder sonstigen Server-Seitigen Dingen immer dasselbe:
Sobald irgendwelche Daten (egal ob per http oder https) übermittelt werden, muss natürlich eine Prüfung stattfinden, welche Daten denn eigentlich übermittelt wurden. Sonst kann es leicht vorkommen, dass der Angreifer ein Gästebuch nutzt um gewisse Funktionen im GB-Kommentar unterzubringen…also unbedingt HTML-Tags entfernen bevor der Eintrag in der DB oder wo auch immer gespeichert wird…
Ist nicht ein direktes Problem von ASP, wird aber leider vielerorts vergessen… meistens sind die Sicherheitslücken nicht Sache der Sprache oder des Servers, sondern des Programmieres…
Und was bei ASP sehr gefährlich ist (aus meiner Sicht) ist, dass viele ASP-Hilfeseiten bei Includes empfehlen, die Dateien xyz.INC zu nennen. Wenn dies so gemacht wird und der Angreifer per Zufall erfährt wie die Include-Datei heisst, dann kann er ganz einfach den kompletten ASP-Code anschauen, da .inc vom Server nicht geblockt wird…daher JEDE Datei, welche ASP enthält auch mit .ASP abspeichern !!!
Ach ja…noch etwas… ASP kann auch für den Server „gefährlich“ sein… folgendes Beispiel einer Datenbank:
Recordset.Open "SQL String etc", DB, OpenType, LockType
Do while not Recordset.EOF
...Datenbank auslesen...
Loop
Recordset.Close
Tja… Und schon hat man einen unendlichen Loop, da die Anweisung „Recordset.MoveNext“ nicht verwendet wird. Somit steht der Server so etwa 60sek. still (je nach ScriptTimeout)… Und wenn ich still stehen schreibe, dann meine ich still stehen… Es gibt meines Wissens keine vernünftige Möglichkeit wie man dieses Problem beheben kann…
Es gibt viele mögliche Sicherheitslücken und auch viele mögliche Probleme… es ist immer eine Sache der Programmierung wie gross die Gefahr ist, dass sowas passiert…
So…genug geschrieben…
Hoffe ein bisschen geholfen zu haben…
Chris