Thread Sicherheit: PERL-HASH -> Codereferenz (6 answers)
Opened by sosum at 2006-01-22 17:21

sosum
 2006-01-22 17:21
#6725 #6725
User since
2006-01-10
11 Artikel
BenutzerIn
[default_avatar]
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
2
%act = (); # Aktionen mit beschr. Zugang
%pubact = (); # Aktionen für d. öffentlichen Raum.


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 :)

View full thread Sicherheit: PERL-HASH -> Codereferenz