02.01.2010, 10:20

Hans-Christian Dirscherl

Ratgeber Website-Sicherheit

Versteckte Formularfelder

Angriffe, die über die URL, also per GET, eingeschleust werden, sind recht einfach zu verstehen und zu erkennen. Etwas schwieriger ist es, wenn die Sicherheitslücke in per POST übertragenen Daten steckt. Hier ein Beispiel: Der Programmierer integriert die ID in ein verstecktes Formularfeld, da ihm bewusst ist, dass Parameter in URLs potenziell gefährlich sind. Die ID wird dazu verwendet, den Nutzer auf Knopfdruck auf eine Seite weiterzuleiten, die die ID im Namen trägt. Hier sind natürlich beliebige Varianten vorstellbar: Die versteckten Inhalte könnten im selben Skript integriert sein, der Wert des versteckten Formularfelds könnte dann an die URL gehängt werden und vieles mehr.
Hier das komplette Skript: Sicherheitslücke mit versteckten Formularfeldern:
<?php
if (isset($_POST['id'])) {
header('Location: index' . $_POST['id'] . '.htm');
}
?>
transitional.dtd">

<head>
<title>Versteckte Formularfelder</title>


<body>

value="1" />
value="Zur geheimen Resource" />


Wenn Sie das Formular im Browser öffnen und auf das Skript klicken, landen Sie auf der Seite index1.htm. Nun nehmen wir an, ein böswilliger Angreifer spaziert eines Tages vorbei und sieht, dass er den geheimen Inhalt sehen darf, geht aber davon aus, dass es noch mehr geheimen Inhalt geben müsste. Er wird dann als Erstes in den Quellcode schauen. Dort sieht er natürlich das versteckte Formularfeld, dessen Wert zur Weiterleitung verwendet wird:
transitional.dtd">

<head>
<title>Versteckte Formularfelder</title>


<body>

value="1" />
value="Zur geheimen Resource" />


Was er nun macht, ist recht simpel:
1. Er kopiert den Quellcode in einen Texteditor.
2. Dort setzt er den Wert des versteckten Formularfelds beispielsweise auf 2.
3. Dann ändert er die Adresse im action-Attribut des
-Tags auf das serverseitige
Formular.
4. Anschließend speichert er den Quellcode in eine HTML-Datei.
5. Nun muss er sie nur noch aufrufen und auf den Knopf drücken.

Für diese "Arbeitsschritte" gibt es auch noch Vereinfachungen für den Angreifer. Er kann Zusatztools verwenden, die die direkte Modifikation des Quellcodes erlauben (z.B. HtmlBar). Alternativ kann der Angreifer auch direkt in die Adressleiste des Browsers JavaScript zum Ändern eintippen: javascript:void(document.forms[0].elements["id"].value = "geaendert")
Die Gegenmaßnahme zu diesem Problem ist offensichtlich: Wichtige Werte gehören nicht in versteckte Formularfelder und natürlich muss auch für geheime Dateien eine bessere Sicherheitskontrolle implementiert werden.
Fehlermeldungen und Versionsnummern ausgeben

Ein häufiger Fehler besteht auch darin, Fehlermeldungen und Versionsnummern auszugeben. Diese sind für potenzielle Angreifer eine der ersten Informationsquellen. Besonders gefährdet sind in PHP beispielsweise die berühmten phpinfo()-Dateien. Sie verraten relativ viel über das System. Vor allem wenn Sie oder Ihr Hoster eine alte Versionsnummer von PHP einsetzen, sollten Sie Dateien mit phpinfo() schnell wieder löschen.
Ähnliches gilt für Fehlermeldungen. So wertvoll sie auf dem eigenen Testrechner sind, so gefährlich können sie auf dem Live-System sein: Beispielsweise bei SQL-Injections sind die Fehlermeldungen das, woran sich der Angreifer entlanghangeln kann, um in das Herz des Systems vorzustoßen. Sollte Ihr Hoster Fehlermeldungen ausgeben und Sie selbst die Einstellungen (beispielsweise in PHP display_errors auf Off) nicht ändern können, fragen Sie nach und wechseln Sie im Zweifel den Anbieter.
Lesen Sie auf der nächsten Seite:
Diskutieren Sie mit anderen Lesern über dieses Thema:
PC-WELT-Experten lösen Ihr PC-Problem
Immer informiert mit dem PC-WELT Newsletter
Best-of PC-WELT   PC-WELT Apps
PC-WELT Business-IT   PC-WELT Community
Facebook-Freunde empfehlen
3x PC-WELT testen!
Ja, ich teste 3x die PC-WELT mit DVD für nur 11,90 € (19,- Sfr). Den 4 GB USB-Stick erhalte ich gratis dazu.
PC-WELT 6/ 2012
Anrede:
Vorname:
Nachname:
Straße/Nr:
PLZ/Ort:
Land:
E-Mail:
Nur wenn ich innerhalb von 2 Wochen nach Erhalt der 3. Ausgabe nichts von mir hören lasse, möchte ich die PC-WELT mit DVD zum gleichen Preis weiterbeziehen (D: 55,80 €/Jahr, EU: 64,80 €/Jahr, CH: 103,70 Sfr/Jahr). Nach dem Testzeitraum ist der Bezug jederzeit kündbar.
Ich bin damit einverstanden, dass die IDG Tech Media GmbH und ihre Partner mich per E-Mail über interessante Vorteilsangebote informieren.
- Anzeige -
Angebote für PC-WELT-Leser

PC-WELT Verleihshop
Keine Abogebühren oder unnötige Vertragsbindungen. DVDs und Spiele bequem von zu Hause aus leihen.

Tarifrechner
Der PC-WELT Preisvergleich für Strom, Gas und DSL. Hier können Sie Tarife vergleichen und bequem viel Geld sparen.

PC-WELT Preisvergleich
In unserem großen Preisvergleich finden Sie die günstigsten Preise und alle redaktionellen Tests auf einen Blick.

- Anzeige -
Marktplatz
DELL

Dell Vostro 3550 Business Notebook
Komfort eines erweiterten Arbeitsbereichs, ohne mobile Anforderungen zu beeinträchtigen.

Congstar

congstar Full Flat nur noch 39,99€
Endlos in alle dt. Netze telefonieren, beste D-Netz-Qualität.

Congstar

Der günstige Tarif für Vielsurfer
congstar Smart 100. Surfen und telefonieren im besten D-Netz.

CosmosDirekt

CosmosDirekt Riesterrente
Mit der Riester-Rente privat mit hohen staatlichen Zulagen fürs Alter vorsorgen.

237457
Content Management by InterRed