posta10100 ha scritto:[...]
I malintenzionati non possono far danni, tutto quello che c'e` sul sito sara` distribuito gratuitamente a tutti coloro che lo visitano, non c'e` motivo di piratare le pagine!
[...]
Diversi anni fa (mi pare intorno al 2001 o al 2002) i server IIS (Microsoft) avevano un bug che permetteva di accedere in lettura a qualunque file sul server.
In pratica chi aveva realizzato il server, aveva imposto il controllo sul percorso richiesto, eliminando tutti i percorsi contenenti rimandi alla cartella superiore "..". Il problema però era che l'indirizzo richiesto dal client veniva riprocessato più volte prima di essere utilizzato. Se invece del punto si usava la stringa %2E per richiedere un file, non c'era alcun problema. Però qualcuno si accorse che se il simbolo di percentuale "%" fosse stato scritto usando lo stesso encoding (% diventa %25), si poteva scrivere %252E o qualcosa del genere... Per cui al primo processamento la stringa diventava %2E, poi venivano fatti i controlli e non era rilevato alcun ".."! Dopodiché la stringa veniva nuovamente processata ed ecco che apparivano i ".."!!!
In quel modo era possibile richiedere di leggere il file
- Codice: Seleziona tutto
cmd.exe comando che mi pare a me
(IIS lavora su server Microsoft e cmd.exe è il terminale... Facendo seguire a cmd.exe un qualsiasi comando o programma, questo viene eseguito sulla macchina)
Questo significa che, con questa disattenzione, non era soltanto a rischio il contenuto del server, ma anche il server poteva essere utilizzato a piacimento di chiunque, come se fosse il proprio computer.
Se quindi c'è un simile bug (come nel tuo codice, che permette di risalire le cartelle), io potrei usare il tuo server per fare qualcosa di illegale (ad esempio attacchi di altro genere ad altri server); dopodiché dare il comando che cancella tutti i LOG dal tuo server e allora la farei franca. E risulterebbe essere stato l'indirizzo IP del tuo server ad aver effettuato gli attacchi!
Vabbè, a parte queste chiacchiere, era tanto per dire che secondo me non bisogna trascurare questi aspetti, non solo per il corretto funzionamento del proprio sito...
Poi, spesso, se il server è gestito da qualcun altro (amministratore esperto), queste operazioni vengono impedite attraverso altre misure di sicurezza.
Scusa per le chiacchiere, ma spero che possano interessarti ugualmente!
P.S.:
Una nota: il bug di cui ho parlato era diffusissimo e tantissimi server non avevano fatto l'aggiornamento che lo correggeva. Ricordo che, per sperimentare, avevo provato la cosa su diversi siti e avevo visto che effettivamente era fattibile: ricordo bene che il sito di Enrico Papi (non ricordo come ci fossi finito

) era affetto dal problema e lo rimase per più di un mese dopo che io ero venuto a conoscenza del bug (pubblicato su una rivista di programmazione). Ovviamente non ho fatto niente, oltre al verificare l'effettiva esistenza dl bug!
D'altra parte, vista la mia poca esperienza, mi avrebbero beccato subito... Senza metterci poi i sensi di colpa che avrei avuto se avessi fatto qualcosa!
