FollowSymlinks σε cgi-bin directory στον Apache

George Notaras gnot at g-loaded.eu
Thu Apr 23 18:07:30 EEST 2009


V13 wrote:
> On Wednesday 22 April 2009, Giorgos Keramidas wrote:
>> On Wed, 22 Apr 2009 17:17:14 +0300, George Notaras <gnot at g-loaded.eu> wrote:
>>>   ScriptAlias /test/ "/var/www/user1/test/"
>>>   <Directory "/var/www/user1/test">
>>>       Options FollowSymlinks
>>>       AllowOverride None
>>>       [...]
>>>   </Directory>
>>>
>>> Είναι βλακώδες το παραπάνω configuration;
>> Θεωρητικά το FollowSymlinks επιτρέπει σε κάποιον που χάκεψε ένα CGI εκεί
>> μέσα να προσπελάσει οποιοδήποτε μέρος του filesystem είναι readable ή
>> writable από τον χρήστη με τον οποίο τρέχει το apache.
> 
> Den einai problima etsi kai allios ayto? Exontas ena CGI ypo ton elegxo soy 
> kai write sto katalogo ayto mporeis na kaneis diafores patentes. Pio asfales 
> moy fainetai to na min mporei na grapsei sto katalogo ayto o xristis toy 
> Apache.

Αυτό που λες το συνειδητοποίησα πριν από λίγα λεπτά. Εφόσον είναι γνωστό
το path για παράδειγμα για το όποιο xxx-config.php του γειτονικού
χρήστη, τότε με ένα απλούστατο script του στυλ

#! /usr/bin/env bash
echo -e "Content-type: text/plain\n"
echo `cat /home/user2/public/xxx-config.php`

και με τη βοήθεια ενός οποιουδήποτε http client μπορεί να δει τα
περιεχόμενα του αρχείου.

Δεν μπορώ να καταλάβω πώς μπορεί να αποτραπεί αυτό, εκτός από το να μην
έχει write-access ο χρήστης στο script-aliased directory, όπως προ-έγραψες.

Κάτι σαν το παρακάτω δεν έχει καμία επίδραση, καθώς τα περιεχόμενα του
αρχείου διαβάζονται απευθείας από το filesystem και όχι διαμέσου του apache:

<Files ~ "^xxx\-config\.php">
    Order allow,deny
    Deny from all
</Files>

> p.s. Isos na'nai kalitero na mas peis ti theleis na kaneis mipos kai yparxei 
> kaliteros tropos.

Ήθελα να κάνω 2 πράγματα άσχετα μεταξύ τους.

1) να γράφω (μαζί με τον αδερφό μου) και να δοκιμάζω ταυτόχρονα ένα cgi
script

2) να κάνω ένα central installation του awstats και παράλληλα ο κάθε
χρήστης να μπορεί να το τρέχει ως cgi script. Στην περίπτωση αυτή είναι
σχεδόν αναγκαστική η χρήση symlink προς το awstats.pl μέσα στο
script-aliased directory, εκτός κι αν κάθε φορά που γίνεται update του
central installation του awstats μεταφέρεται το εκτελέσιμο awstats.pl
στον κατάλληλο script-aliased κατάλογο του κάθε χρήστη.




More information about the Linux-greek-users mailing list