Newsgroup: it.comp.www.server
Titolo: IIS e FileSystem : due righe di Asp e il server mostra l'ira di dio

ciao a tutti,
provando in locale con iis5 un'applicazione in asp che usa il FileSystem, ho
notato che posso accedere ai drives, tipo c:\ ecc.. e con poche righe di
codice asp (e qualche "on error resume next") riesco a navigare praticamente
dentro TUTTO l'hard disk, comprese cartelle sottocartelle files ecc.. e
addirittura, sempre col FyleSystem e Stream visualizzare il codice sorgente
di ogni file.
ora.... finchè tizio lo fa sul suo server tutto ok, ma... cosa succede se
qualche malintenzionato lo fa su un server condiviso tra chissà quanti
utenti?
praticamente vede TUTTO quello che vuole!!!
porc... !!
c'è un modo per evitare che l'utente "IUSR_SERVER" faccia i propri comodi
impunemente???
sono un pò... anzi MOLTO preoccupato :(
ciao
sp-

 ha scritto nel messaggio
news:RLoUb.191584$VW.78...@news3.tin.it...

Spintop potresti mandarmi, in privato, il codice?
Così tento una soluzione...
Il mio indirizzo è: p i e r o (at) g i o c h i (dot) o r g
Grazie,
-- 
PieroB
http://www.giochi.org
Il tuo divertimento online gratis!
PieroB on 
irc.azzurra.net
 #
giochi.org

 Grazie,
ehm...... ti dico subito che non è il codice ad avere problemi, anzi
funziona anche troppo bene :(
in sostanza, l'unica riga che interessa è
set cartella = fs.getfolder("c:/")
scusami, mi scoccia un pò distribuire il codice (che comunque si può
facilmente trovare in un'infinità di siti per asp), non me ne volere.
però ho provato a fare questa cosa e funziona :))))
sono andato sulle permissioni del disco (in questo caso C:\) e ho tolto
"everyone", lasciando "Administrators" e "System" con pieno controllo del
disco.
fanculo alla microsoft che infila sto "everyone" un pò dove cakkio gli
pare... :-/
funziona :)
quindi, quello che c'è da fare è di togliere le permissioni a "everyone" dal
disco dove sono ospitati i siti web.
esempio:
sul mio server ho il disco Z: che ha una cartella chiamata "websites".
ho tolto ogni permissione a "everyone" di Z:, poi sono andato sulla cartella
"websites" e gli ho dato le permissioni di IUSR_SERVER e funzika :)
sp-

è sbagliato anche come ho fatto anche io con le permissioni
:-/
in pratica, se si imposta una cartella che conterrà i siti web, e a quella
cartella gli si dice che IURS_SERVER ha la possibilità di leggerne i
contenuti, è chiaro che anche tutte le sottocartelle avranno queste
proprietà.
il problema sta nel fatto che PROPRIO perchè è la "cartella madre" ad avere
le permissioni di lettura di IUSR_SERVER è possibile spulciarne files e
sottocartelle.
quindi "tizio" che ha un hosting può vedere le cartelle degli altri "tizi"
che hanno a loro volta un hosting.
e ciò è molto sbagliato :(
l'unica cosa da fare, imho, è di togliere tutte le permissioni di "everyone"
e IUSR_SERVER alla cartella madre, e volta dopo volta impostarle alle
sottocartelle, aggiungendo IUSR_SERVER.
così sembra funzionare bene, poi magari se qualche vero esperto (io di certo
non lo sono) volesse esprimere il proprio parere ben venga... anzi magari :)
sp-

 set cartella = fs.getfolder("c:/")
A me dice che è necessario specificare un url relativo e non assoluto (come
c:/)


 c:/)
mi pare strano.
o gli dici di partire da dove si trova il file asp, e allora verrebbe piů o
meno qualcosa del genere:
set cartella=fs.getfolder(server.mapPath(".") & "/")
oppure gli dai la path assoluta, come ho fatto sopra.
in ogni caso confermo che la procedura delle permissioni (quella sul msg
"contrordine", per intendersi) funziona e se chiamo il file asp, IIS mi
risponde cosě:
Microsoft VBScript runtime  error '800a004c'
Path not found
/spionedemmerdatummorissiallistantemandovaitoglitedallepallesubbito.asp,
line 3
dove, per l'appunto sulla linea 3 c'č : set cartella = fs.getfolder("c:/")
sp-

 set cartella=fs.getfolder(server.mapPath(".") & "/")
<The Path parameter for the MapPath method must be a virtual path. A
physical path was used. >


 physical path was used. >
mahh.... non saprei.
a me funziona :-(
cmq direi che č orami competenza di un altro ng, dedicato alle asp.
nel frattempo scarica questo script, in una sola pagina fa tutto :)
http://www.anyportal.com
ciao
sp-