Jump to content
Froxlor Forum
  • 0

Sicherheitsl?cke?


peperoni

Question

Hi Zusammen,

 

habe soeben mal was ausprobiert, wenn ich ne PHP-Datei mit folgendem Inhalt erstelle:

 

<?php
include('../../../../../../etc/proftpd/sql.conf');	
?>

sehe ich den Inhalt (also auch das SQL Passwort) der sql.conf Datei von Proftp.

 

Mal ganz davon zu schweigen das ich /etc/passswd/ usw...auch ausgegeben bekomme...

Ich dachte eigentlich das ich mit fast-cgi das unterbinde, aber ist ja bl?dsinn, da die Datei ja chmod rw-r--r-- hat.

 

Wie kann ich das verhindern (ohne die chmod) ?ndern zu m?ssen, am besten das der user NICHT aus seinem chroot raus kommt.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

<?php
include('../../../../../../etc/proftpd/sql.conf');	
?>

sehe ich den Inhalt (also auch das SQL Passwort) der sql.conf Datei von Proftp.

 

Dann d?rften eher bei 2 L?cken bestehen:

 

a) open_basedir ist nicht aktiv, dass sollte sowas verhindern

B) die Datei ist f?r den Nutzer lesbar, schlechte Idee wenn Kennw?rter drin stehen

 

Mal ganz davon zu schweigen das ich /etc/passswd/ usw...auch ausgegeben bekomme...

Warum auch nicht? Da stehen ?blicherweise keine sensiblen Daten drin, entsprechend ist sie bei den meisten Distros f?r jeden lesbar.

 

Wie kann ich das verhindern (ohne die chmod) ?ndern zu m?ssen, am besten das der user NICHT aus seinem chroot raus kommt.

 

So erst mal nicht - wenn die Angabe bei den Berechtigungen so ist, dass die Datei f?r den Nutzer lesbar ist, dann ist sie es auch. Wenn du ein chroot f?r den Nutzer m?chtest musst du es erst mal einrichten - standardm??ig existiert so etwas nicht. F?r die meisten F?lle ist open_basedir bzw. eine korrekte Rechtevergabe ausreichend.

Link to comment
Share on other sites

Ich habe in der php.ini open_basedir auskommentiert, da ich sonst immer "no Input File" bekomme, ich wei? leider nicht woran das liegt...

 

Wie sieht denn die Zeile bei euchaus f?r open_basedir?

 

bei mir im Moment so:

 

;open_basedir = "{OPEN_BASEDIR}:{TMP_DIR}"

 

Und geparst sieht es so aus:

 

;open_basedir = "none:/var/customers/tmp/peperoni/"

 

Ich habe da mal irgendwas ver?ndert in einer Datei, leider wei? ich nicht mehr welche es war, es ging da um einen BUG der im BUGTRACKER das als L?sung vorgeschlagen hat...

Link to comment
Share on other sites

;open_basedir = "{OPEN_BASEDIR}:{TMP_DIR}"

sollte so aussehen:

 

{OPEN_BASEDIR_C}open_basedir = "{OPEN_BASEDIR}"

 

Und geparst sieht es dann n?mlich so aus:

 

wenn aktiviert:

open_basedir = "/var/customers/webs/peperoni/:[usw]"

 

wenn deaktiviert:

;open_basedir = "none"

 

Wo du das :{TMP_DIR} noch her hast, frag ich mich allerdings, das hat da nichts verloren. Das geh?rt zu

session.save_path = "{TMP_DIR}", sowie upload_tmp_dir = "{TMP_DIR}".

Link to comment
Share on other sites

Vgl.: demo.Froxlor.org bzw. aktuelle Froxlor Version

 

{OPEN_BASEDIR_C}open_basedir = "{OPEN_BASEDIR}"

 

 

php.ini auf meinem System f?r den Kunden "KUNDE":

 

open_basedir = "/var/customers/webs/KUNDE/:/var/customers/tmp/KUNDE/:/usr/share/php/:/usr/share/php5/:/tmp/"

 

EDIT//

 

d00p mal wieder schneller ..:D

Link to comment
Share on other sites

ich habs ge?ndert, funktioniert einwandfrei...

 

Die Einstellung kommt bestimmt von syscp Zeiten...

Ich habe doch von syscp auf Froxlor geupdated, allerdings gab es doch massive Probleme damals, ich wei? nicht ob du (d00p) dich noch erinnern kannst.

Ich werde demn?chst sowieso mal froxlor komplett neu installieren, dann bin ich zumindest von dieser Art Bugs sicher...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...