Carica un file nella directory con accesso pubblico in scrittura

2

So che non è giusto impostare un permesso per la cartella come 777, ma se è fatto così sarà possibile caricare un file in quella directory senza accesso ftp? Ecco cosa intendo

Diciamo che l'elenco delle directory non è disabilitato da apache config, e posso accedere alla cartella via ip dal browser, come (sto provando dal mio PC Win che si collega a linux in vmware)

http://192.168.252.138/test/public

e assumiamo che questa cartella public abbia l'autorizzazione 777. Posso in qualche modo (usando php o qualsiasi altra cosa) creare il file test.php in quella cartella. Ho provato smth come (eseguendo questo da localhost di Windows)

file_put_contents('http://192.168.252.138/test/public/test.php', 'test file')

ma ricevo un avviso

failed to open stream: HTTP wrapper does not support writeable connections in

Non so se questo è possibile. E se questi non lo sono, allora che danno può fare l'attaccante se ho una directory come quella con accesso pubblico in scrittura. considerando che non esiste un accesso ftp.

Grazie

    
posta dav 12.01.2015 - 07:05
fonte

1 risposta

2

Quindi ci sono tre scenari in cui ho visto questa trappola nella vita reale:

  1. Configurazione WebDAV non sicura. WebDAV consente al server di rispondere alle richieste HTTP come "PUT / foo / bar / public" ricevendo i file. Se i caricamenti di WebDAV sono accessibili in tutto il mondo, verrai salvato.

  2. Funzionalità di caricamento di file non sicuri. Se riescono a reindirizzare la cartella in cui sono posizionati i file, sei pwned. Oppure, alternativamente, se lasci che le persone caricino file casuali, sei ... speciale. Molto speciale.

  3. Iniezione di comandi. Se gli utenti malintenzionati possono accedere a una riga di comando, hai appena dato loro un posto a portata di mano per mettere tutto il loro malware nel webroot senza bisogno di root o di manipolazione delle autorizzazioni.

777 è un'idea GRANDE. È come lasciare la porta di casa aperta. chmod 605 (-rw ---- r-x) è un permesso di default per le cose del web. Fai solo attenzione al + x; usalo con parsimonia. Sebbene la 777 stessa non crei exploit, rende quelli esistenti molto, molto mortali. Non dare ai tuoi attaccanti alcuna opportunità.

    
risposta data 12.01.2015 - 15:41
fonte

Leggi altre domande sui tag