C'è un modo per rubare codice PHP o ASP da un server web attraverso i protocolli HTTP (S)?

2

Sto lavorando su un'applicazione web che includa alcuni sviluppi personalizzati e mi preoccupa un po 'del furto di codice.

Quindi la domanda che volevo porre è se sia - in generale - possibile rubare codice PHP o ASP da un server web in esecuzione usando i protocolli HTTP o HTTPS?

La mia comprensione è che ottenere i file PHP / ASP da un server web richiederebbe ENTRAMBI:

  • che l'utente malintenzionato dovrebbe ottenere il server in qualche modo per scaricare i file che normalmente non viene inviato al client e
  • che l'attaccante sta sfruttando alcuni difetti di sicurezza nel server web software

Sto principalmente chiedendo conferma che non è possibile ottenere file PHP / ASP attraverso alcune operazioni "normali" (operazioni che non richiedono l'uso di buchi di sicurezza senza patch).

Inoltre, se esiste un modo un po ' (roundabout) per recuperare questo tipo di file tramite HTTP o HTTPS senza l'uso di falle di sicurezza, cosa si può fare per blocca quello?

    
posta coderworks 20.08.2015 - 02:52
fonte

3 risposte

10

È corretto che ciò non sia possibile senza problemi di configurazione errata o vulnerabilità di sicurezza che lo consentono.

Generalmente, i colpevoli più probabili quando si tratta di tossire il codice dell'applicazione sono i codici commentati, i file di backup che hanno estensioni che consentono loro di essere consegnati direttamente ai client senza elaborazione e probabilmente più probabilmente tutti gli altri colpevoli combinati, sono eccessivamente messaggi di errore dettagliati.

Quindi, non si tratta solo di assicurarsi che l'applicazione si comporti correttamente quando lo si utilizza correttamente, ma anche che si comporta correttamente in caso di abuso.

Ciò detto, il furto di codice è, in generale, un rischio altamente sopravvalutato. Il tuo codice non è speciale Lo dico solo perché nella mia esperienza, c'è pochissimo codice che è. È altamente improbabile che qualcuno voglia davvero rubarlo. È molto più probabile che il tipo di difetti enumerato sopra venga utilizzato per ottenere informazioni sensibili come le credenziali del database o per esporre l'esistenza di punti deboli nella logica dell'applicazione che potrebbero portare allo sfruttamento da parte di vettori comuni come SQL injection.

    
risposta data 20.08.2015 - 03:26
fonte
5

Se il server web che stai utilizzando è configurato correttamente, non ti devi preoccupare degli stessi file ASP / PHP non interpretati che vengono forniti (a meno che, naturalmente, l'autore dell'attacco non stia sfruttando una vulnerabilità, come hai sottolineato) .

Se sei particolarmente preoccupato per il furto del codice, probabilmente è più utile pensare ad altri, più probabili vettori di attacco:

  • Il tuo host di controllo della versione (cioè github, bitbucket, il tuo host di repository privato) viene compromesso. In questi giorni tutti i progetti software di grandi dimensioni dovrebbero utilizzare un qualche tipo di controllo di versione, e non è sicuramente inaudito per gli aggressori accedere al repository stesso.
  • I servizi che utilizzi che hanno accesso in lettura al controllo della versione (i.i Travis CI) vengono compromessi. Probabilmente è più probabile che accada che una massiccia compagnia come github o atlassiano venga hackerata, ed è già successo prima: link
  • Il tuo server viene compromesso da altre vulnerabilità (vulnerabilità ssh, irruzione attraverso un servizio ospitato nella stessa casella, provider di hosting compromesso, ecc.), sebbene tu abbia molte molte cose di cui preoccuparsi in questo caso.

Sono propenso a concordare con Xander su questo - il furto del codice come concetto è sicuramente sopravvalutato - a meno che non si stia lavorando su un IP molto complesso e unico (si noti che anche questo è un estremo rarità).

    
risposta data 20.08.2015 - 04:24
fonte
2

Per la massima sicurezza, tieni il codice importante fuori dalla directory del server web. Inseriscilo in un'altra directory sul server a cui il webserver non può accedere. Nella tua pagina web aggiungi una riga di inclusione per quel file includendo il percorso completo dalla radice al file. La pagina può accedere al codice, ma non c'è codice da visualizzare se la pagina scarica mai il codice. Questo è l'approccio consigliato per tutte le connessioni di database con password nello script.

    
risposta data 19.10.2015 - 20:49
fonte

Leggi altre domande sui tag