Thread Sicherheit: PERL-HASH -> Codereferenz
(6 answers)
Opened by sosum at 2006-01-22 17:21
Hallo Leute,
Ich lese das Forum hier zwar erst seit ein paar Wochen, aber habe den Eindruck, dass sich hier einige Leute mit Know-How tummeln, daher oute ich mich jetzt mal, bevor es evtl. jemand anderes mit mir tut. Es handelt sich um eine Sicherheitsfrage, die ich seit geraumer Zeit verdränge. Also: mein CM System arbeitet über 4 zenralen, ausführbaren .pl Dateien. Diese sind semantisch kodiert: 1. zugang beschränkt -> nur anzeigen 2. zugang beschränkt -> ausführen & anzeigen 3. public -> nur anzeigen 4. public -> ausführen und anzeigen Erläuterungen: a) "anzeigen" und "ausführen" sind als eindeutige Kommandocodes an das Skript zu verstehen. Es wird geprüft, ob für den Kommandocode x eine Hashreferenz auf eine Funktion f(x) definiert ist. Wenn ja, wird der Code ausgeführt. Der Code führt anschliessned noch evtl. Benutzerspezifische Berechtigungsfunktionen aus. Code: (dl
)
if (ref $act{$input->{cmd}} eq 'CODE') { &{$act{$input->{cmd}}} } b) 1 und 2 (1,2) sind also Skripte mit vorgestellter Identitätsprüfung. 3 und 4 sind Skripte ohne Identitätsprüfung. c) die Variablenmengen für (1,2) und (3,4) sind getrennt. Code: (dl
)
1 %act = (); # Aktionen mit beschr. Zugang Kennt ihr eine Möglichkeit um den HTTP-GET Parameter cmd so zu manipulieren, so dass nicht der referenzierte Code ausgeführt wird, sondern ein beliebiger? Mann soll ja Benutzereingaben nie blanko übernehmen. Danke schon mal :) |