Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Webprogrammierung und Sicherheit

Mitglied: Raphael

Raphael (Level 1) - Jetzt verbinden

01.06.2006, aktualisiert 09.01.2009, 20907 Aufrufe, 1 Danke

Worauf man als Webprogrammierer beim erstellen von Formularen, etc achten sollte bezüglich Sicherheit


Einleitung

In der letzten Zeit habe ich immer wieder festgestellt, dass viele Webseiten eigene Logins oder ähnliches benutzen, welche zum Tei gravierende Sicherheitsmängel aufweisen. Aus diesem Grund schreibe ich nun hier eine Anleitung, in der Hoffnung einige Webprorammierer für diese Thematik sensibilisieren zu können.

Grundlagen

Das Grundproblem ist, dass viele Webprogrammierer zuwenig Ahnung von der Technik haben wenn es um Datenübertragung im Web geht. Ein Webprogrammierer muss ja nicht gleich das ganze Protokoll kennen. Aber er sollte immerhin das Grundprinzip kennen. Es muss insbesondere Wissen wo und wie Daten zum Beispiel manipuliert werden können.

Was sind Manipulationen?

Bei Manipulationen handelt es sich in diesem Fall um Veränderungen von Daten welche vom Server an den Benutzer oder vom Benutzer an den Server gesendet werden.

Wie kommt es zu Manipulationen

Diese treten zum einen Unbeabsichtigt auf (zum Beispiel durch einen Proxy, welcher bestimmte Sachen filtert oder ähnliches) und zum anderen natürlich auch Beabsichtigt. Ein Hacker kann zum Beispiel einen eigenen Proxy bei sich installieren mit welchem er Die Daten zuerst beabreiten kann, bevor er sie an seinen Browser weiter sendet. Auf der anderen Seite kann er natürlich auch die Anfragen die der Browser an den Server sendet manipulieren. Dies ist zum Beispiel durch WebScarab möglich, welches durch The Open Web Application Security Project (OWASP) zur verfügung gestellt wird. Eine andere möglichkeit ist zum Beispiel mit Browser-Plugins (Tamper für Firefox) und ähnlichem. Für einen Programmierer wird es ziemlich mühsam sich nun mit diesen Programmen vertraut zu machen. Es gibt auch weitaus einfachere Methoden als einen Proxy, eben zum Beispiel Browser-Plugins.
Eine weitere Möglichkeit bieten Userscripts. Mit ihnen lassen sich Webseiten beliebig verändern, während sie betrachtet werden. Über Greasemonkey (für Firefox) oder Trixie (für den IE) lassen sich diese Scripts in den Browser integrieren. Ich habe ein Beispiel-Script auf meine Homepage gestellt, welches deaktivierte Felder und Buttons aktiviert, sowie versteckte Felder anzeigt. Ihr findet das Script hier: http://www.black-silence.ch/userscripts/formhelp.user.js

Wie funktionieren Manipulationen genau bzw. was ist daran Schlimm?

Das wichtigste für Programmierer kommt nun in diesem Abschnitt. Ich versuche kurz zu erklären was an diesen Manipulationen genau eine Sicherheitslücke darstellt.
Im Grunde genommen dürfen solche Manipulationen nichts machen. Dazu muss der Code der Webseite (sei das ASP, PHP oder Perl) entsprechend programmiert sein. Ist dies nicht der Fall, können Hacker unter umständen Dinge anstellen die man nicht will. Ich gebe ein Beispiel:

Auf einer Homepage gibt es eine Kundenverwaltung. Wenn der Admin sich einlogt, kann er durch alle Benutzer Blättern und durch Buttons einzelne Benutzer zum Beispiel löschen. Bei den Normalen Benutzer wird dann der Button einfach grau (also deaktiviert). Wenn ein normaler Benutzer nun diesen Button aktivieren kann (oder zumindest seinem Browser vorgaukeln kann der Button sie aktiviert), dan hat der Benutzer quasi Adminrechte.

Ein anderes Beispiel:

Wieder eine Benutzer-Verwaltung. Es wird eine Liste ausgegeben wo jeder Benutzer aufgeführt ist. 2 Felder eines für seinen Namen und eines (mit sternchen) für das Passwort welches aus der Datenbank eingefüllt wird. Eigentlich wäre das Passwort ja nicht lesbar (sind ja nur Sternchen ;)) wenn man aber im Quelltext nachschaut steht es im Klartext da.

Dies sind viele kleine Details ... im Grunde genommen sind einzelne solche Punkte nicht schlimm ... es kann aber unter Umständen dazu führen, dass ein Benutzer mehr machen kann als er sollte.

Ein anderes Problem können versteckte Felder sein in welchen bestimte Informationen übertragen werden (wie Session-IDs, Rechte, usw).
Auf versteckte Felder sollte unbedingt verzichtet werden, sofern es nicht anders geht. Vorallem sollten Rechte nicht über versteckte Felder übertragen werden. Was hier noch erwähnt werden sollte sind die Cookies. Auch ihn ihnen werden manchmal sensible Informationen gespeichert. Cookies können eben so bearbeitet werden die so ziemlich jede information die Client-Seitig gespeichert wird.

Hier kommen wir langsam zum nächsten Thema:

Was kann man dagegen machen?

Als erstes: möglichst wenig Informationen in Cookies und versteckten Feldern, etc speichern. So viel wie möglich auf Serverseitige Variabeln (Session-Variabeln oder ähnliches) verlagern. Dies schliesst Manipulation im Grunde genommen aus.
Als zweites: Jede Eingabe die von einem Benutzer kommt muss überprüft werden ob sie auch zulässig ist. (Alles ist Böse, solange nicht das Gegenteil bewiesen ist)
Drittens: Knöpfe die ein Benutzer nicht drücken darf muss er auch nicht sehen, also sollten sie gar nicht erst angezeigt werden
Viertens: Felder in die man nicht reinschrieben darf sollten weggelassen werden und der Text sollte direkt drgestellt werden. (Wenn man einen Rahmen darum herum will kann man ihn ja mithilfe einer Tabelle oder CSS anzeigen)
So ... ich denke die grundlegensten Dinge wurden gesagt. Das Thema ist riesig und man könnte fast endlos weiterschreiben.
Ich hoffe der Text war einigermassen verständlich und ich konnte ein paar Denkanstösse geben.

Viele Grüsse
Ähnliche Inhalte
Sicherheit
Microsoft und Skype: Sicherheit
Information von kgbornSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Sicherheitsgrundlagen

BSI-Chef: IT-Sicherheit muss für Firmen wichtiger werden

Information von Penny.CilinSicherheitsgrundlagen8 Kommentare

Interessantes Thema, welches bei zu vielen Unternehmen stiefmütterlich behandelt wird: BSI-Chef: IT-Sicherheit muss für Firmen wichtiger werden

LAN, WAN, Wireless

WPA2 und WLAN-Sicherheit: Direkter Angriff auf WLAN-Router

Information von magicteddyLAN, WAN, Wireless

Siehe Bericht auf Heise, WPA2 und WLAN-Sicherheit: Direkter Angriff auf WLAN-Router Laut Bericht wurde eine direkte Angriffsmöglichkeit auf verwundbare ...

Verschlüsselung & Zertifikate

Neue Adware entdeckt: Privdog hebelt die HTTPS-Sicherheit komplett aus

Information von FrankVerschlüsselung & Zertifikate5 Kommentare

Es sieht so aus, als hätte Comodo, eine der größten Zertifizierungsstellen für TLS-Zertifikate, auch eine Adware verbreitet: Privdog. Diese ...

Neue Wissensbeiträge
Router & Routing

Zyxel VMG 1312 B30A - Firmwareupdate nur im "privaten" Firefox Modus möglich

Tipp von the-buccaneer vor 11 StundenRouter & Routing2 Kommentare

Hatte hier ein Zyxel 1312 das ums verrecken kein Firmwareupdate durchführen wollte. Datei ist auswählbar, dann kommt der Fortschrittskreisel ...

Windows 7

Windows 7 u. Server 2008 (R2) SHA-2-Update kommt am 12. März 2019

Information von kgborn vor 1 TagWindows 75 Kommentare

Kleine Info für die Admins der oben genannten Maschinen. Ab Juli 2019 werden Updates von Microsoft nur noch mit ...

Firewall
PfSense 2.5.0 benötigt doch kein AES-NI
Information von ChriBo vor 3 TagenFirewall2 Kommentare

Hallo, Wie sich einige hier erinnern werden hat Jim Thompson in diesem Aritkel beschrieben, daß ab Version 2.5.0 ein ...

Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 5 TagenInternet1 Kommentar

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter den Seitenbetreibern ...

Heiß diskutierte Inhalte
Hardware
IT-Werkzeugkoffer bis 50,- EUR
gelöst Frage von departure69Hardware48 Kommentare

Hallo. Ich bin als IT-Systembetreuer einer Gemeinde zusätzlich auch der IT-Systembetreuer einer Grund- und Hauptschule. Dort muß ich jedoch ...

Netzwerke
Verteilung von Programmdaten außerhalb des internen Netzwerkes
Frage von mertaufmbergNetzwerke27 Kommentare

Guten Morgen liebe Administratoren, ich versuche zurzeit eine möglichst sichere und einfache Lösung zu suchen, um ein Programmverzeichnis über ...

Netzwerkmanagement
Richtfunknetzwerk mit vielen Hops stabiler gestalten
Frage von turti83Netzwerkmanagement22 Kommentare

Hallo, in meinem Dorf habe ich vor ca. einem Jahr ein Backbone aufgebaut um die Nachbarschaft mit Internet zu ...

Hyper-V
Intel MSC Raid 5 Rebuild
Frage von DannysHyper-V19 Kommentare

Hallo Community, Ich habe einen Modul Server von Intel in Betrieb. Dort ist eine Festplatte aus dem Raid 5 ...