Sicherheit bei Variablen Ã?bergabe
-
tenshinhan10
- Posts: 64
- Joined: 2003-02-25 15:47
Sicherheit bei Variablen Ã?bergabe
Ich suche derzeit Infos zur sicheren Ã?bergabe von Variablen Mittels Formularen an eine PHP-Datei.
1.) Kann man einzelne Ã?bertragungsmethoden wie z.B. Get in einzelnen Dokumente deaktivieren ? (ohne Veränderung des Register_Globals Eintrag in der PHP.ini)
2.) Gibts gute Tutorials zum übertragen von Variablen bei Register_Globals = On ?
3.) Gute Tutorials zum Check / Validierung von Variablen
Thx
1.) Kann man einzelne Ã?bertragungsmethoden wie z.B. Get in einzelnen Dokumente deaktivieren ? (ohne Veränderung des Register_Globals Eintrag in der PHP.ini)
2.) Gibts gute Tutorials zum übertragen von Variablen bei Register_Globals = On ?
3.) Gute Tutorials zum Check / Validierung von Variablen
Thx
Re: Sicherheit bei Variablen Ã?bergabe
Au ja, lass alle GET-Requests deaktivieren... ;-)tenshinhan10 wrote: 1.) Kann man einzelne Ã?bertragungsmethoden wie z.B. Get in einzelnen Dokumente deaktivieren ? (ohne Veränderung des Register_Globals Eintrag in der PHP.ini)
Nein, so direkt geht es AFAIK nicht, ich wüsste aber auch nicht, wozu das gut sein sollte. Solange mit den Variablen aus $_GET[] nix gemacht wird kann ja auch nix passieren.
Was suchst du denn da für Tutorials? Einfach ansprechen. Oder meinst du...2.) Gibts gute Tutorials zum übertragen von Variablen bei Register_Globals = On ?
?3.) Gute Tutorials zum Check / Validierung von Variablen
Dazu bemühst du am Besten eine Soochmaschine deiner Wahl und liest dir das PHP-Handbuch durch.
Gruß,
Dominik
-
tenshinhan10
- Posts: 64
- Joined: 2003-02-25 15:47
Re: Sicherheit bei Variablen Ã?bergabe
Deine Antwort hilft leider nicht weiter .. so weit war ich auch schon.
P.S. Ich will ja mit den Variabel was machen - daher die Frage ...
und 2. und 3. schließén sich gegenseitig nicht aus ...
... die Suchmaschinen habe ich auch durch und noch nicht das gefunden was ich suche ...wer noch gute Links kennt ..bitte posten.
P.S. Ich will ja mit den Variabel was machen - daher die Frage ...
und 2. und 3. schließén sich gegenseitig nicht aus ...
... die Suchmaschinen habe ich auch durch und noch nicht das gefunden was ich suche ...wer noch gute Links kennt ..bitte posten.
Re: Sicherheit bei Variablen Ã?bergabe
Ohne das "was" zu kennen, kann man da auch nicht groß was dazu sagen, außer auf das PHP-Manual zu verweisen.Ich will ja mit den Variabel was machen
-
tenshinhan10
- Posts: 64
- Joined: 2003-02-25 15:47
Re: Sicherheit bei Variablen Ã?bergabe
Ich will System und Exec Aufrufe machen. Dafür ist eine Absicherung sicherlich nötig. Ich hab diesbezüglich auch schon ein paar Dinge gelesen .. was die Validierung betrift ..das reicht aber noch nicht.
Kann man eventuell feststellen von welcher Seite das PHP-Script aufgerufen wird ...sozusagen eine Kontrolle über die Herkunft ?
Kann man eventuell feststellen von welcher Seite das PHP-Script aufgerufen wird ...sozusagen eine Kontrolle über die Herkunft ?
Re: Sicherheit bei Variablen Ã?bergabe
Lass am besten die Finger von solchen Sachen, da reicht eine Validierung gar nicht aus, und einmal "Spitz" bekommen, kannst du deinen Server gleich reinitialisieren lassen.
Wenn du sagen wir mal 10 feste exec() Commands hast, könntest du mit einer Switch-Case Anweisung arbeiten
Solltest du aber so irgendwas vor haben:
also ich könnte dann nicht mehr gut schlafen ;)
Wenn du sagen wir mal 10 feste exec() Commands hast, könntest du mit einer Switch-Case Anweisung arbeiten
Code: Select all
$cmd = $_REQUEST['cmd'];
switch(intval($cmd))
{
case 1:
exec("irgendein cmd");
break;
case 2:
exec("irgendein anderer cmd");
break;
}
Code: Select all
exec($cmd);
Re: Sicherheit bei Variablen Ã?bergabe
Ja, nennt sich Referer, aber kann man ohne weiteres fälschen.tenshinhan10 wrote: Kann man eventuell feststellen von welcher Seite das PHP-Script aufgerufen wird ...sozusagen eine Kontrolle über die Herkunft ?
Genauso wie deine Begrenzung auf POST rein überhaupt nix bringt, da man mit einem kleinen Handgriff aus einem GET Request ein POST Request machen kann.
-
tenshinhan10
- Posts: 64
- Joined: 2003-02-25 15:47
Re: Sicherheit bei Variablen Ã?bergabe
@ Danke .. das hilft mir schon weiter.
Das mit dem Referer hatte ich auch gelesen ..gerade in Verbindung mit Proxys ect. kann dies teilweis komplett abgeschaltet werden.
Ich werde wahrscheinlich erstmal die Switch-Case Lösung nehmen, da es nur eine kleine Anzahl an Befehlen ist. Vielleicht führe ich noch einen zusätzlichen Test ..ich dächte ich hätte auf einer PHP Seite noch ein spezielles Commando zum checken von System aufrufen gefunden.
Ich glaub der war das:
http://www.php3.de/EscapeShellCmd
Das mit dem Referer hatte ich auch gelesen ..gerade in Verbindung mit Proxys ect. kann dies teilweis komplett abgeschaltet werden.
Ich werde wahrscheinlich erstmal die Switch-Case Lösung nehmen, da es nur eine kleine Anzahl an Befehlen ist. Vielleicht führe ich noch einen zusätzlichen Test ..ich dächte ich hätte auf einer PHP Seite noch ein spezielles Commando zum checken von System aufrufen gefunden.
Ich glaub der war das:
http://www.php3.de/EscapeShellCmd
verschlüsseln
nimm doch einen zufalls-string und verschlüssel den mit einem secret key.
dann schickst du den verschlüsselten string und den zufalls-string per POST an das ziel.
dort entschlüsselt dann wieder der secret key den verschlüsselten string und vergleicht beide.
aber ich würde trotzdem niemals eine POST-var direkt an einen system aufruf übergeben ! ! !
eine gute maskierung macht da schon sinn. also eine case-verzweigung wie weiter oben erwähnt ist sicherlich brauchbar....
ciao,
preacher
dann schickst du den verschlüsselten string und den zufalls-string per POST an das ziel.
dort entschlüsselt dann wieder der secret key den verschlüsselten string und vergleicht beide.
aber ich würde trotzdem niemals eine POST-var direkt an einen system aufruf übergeben ! ! !
eine gute maskierung macht da schon sinn. also eine case-verzweigung wie weiter oben erwähnt ist sicherlich brauchbar....
ciao,
preacher