La vulnerabilità di cui ci siamo occupati è stata l'inclusione finale e abbiamo esaminato due tipi di
inclusione del file locale, consentendoci di includere qualsiasi file sul sistema e quindi di leggere i file che causerebbero
una vulnerabilità di divulgazione di file.
E poi sarai in grado di leggere qualsiasi file sul server.
E poi abbiamo esaminato l'inclusione del file remoto che è molto pericoloso e ci ha permesso di includere
qualsiasi file da qualsiasi server web.
Quindi siamo stati in grado di includere gli scaffali BHB e quindi ottenere la connessione dal computer dell'obiettivo per prevenirli.
Prima di tutto assicurati di prevenire l'intrusione dei file remoti.
Quindi, nel caso in cui qualcosa vada storto, le persone possono includere file al di fuori del tuo server
e puoi farlo nello stesso modo in cui l'abbiamo abilitato usando il BHB solo disabilitando il Permetti te stesso aperto e consenti
il tuo includerò.
E se andiamo qui al nostro tavolo espositivo ti mostrerò solo molto velocemente.
Quindi facciamo pseudo Nano, che è l'editor di testo che è il lettore di pagine IPH di PTG.
Ho bisogno dello stesso file che usiamo.
Questo è il file per le impostazioni di HP.
Se apri quel file e io farò il controllo w cercherò il tuo el, assicurandoti che l'opzione Consenti
a te stesso sia attiva, e permetti al tuo di includere anche un set.
Controlla X Y e entra e lo salverà per te.
L'altro modo per prevenire questi exploit è usare l'inclusione di file statici.
Quindi, invece di usare l'inclusione dinamica dei file che vediamo, puoi codificare i file che vuoi includere
nel codice e non ottenerli usando GET o POST.
Ad esempio, che cosa sta succedendo e gli esempi che vediamo negli esempi vulnerabili è che
abbiamo una pagina chiamata Pagina o indice che BHP e poi questo indice fa, che prende un parametro chiamato pagina e poi prende un'altra pagina
per esempio notizie che Ph. D. e include questa notizia BHB nel codice.
Quindi, come appare il codice nel codice APHC, vedrai qualcosa di simile.
Includi
Quindi cosa farà.
Fondamentalmente sembra proprio che io creda a questo.
Comprende tutto ciò che viene dopo il parametro della pagina.
Quindi il codice prende dinamicamente tutto ciò che arriva dopo il parametro della pagina e lo include nella pagina
corrente.
Quindi questo sarà nella pagina indice.
Ok, questo è pessimo perché anche se non capita a volte la gente usa il post e in post
non lo vedrai, quindi verrà pubblicato.
Ma puoi usare un proxy come il barer proxy e questo sembrerebbe quello.
E poi puoi modificarlo e farlo includere tutto ciò che vuoi.
E poi viene visualizzato nella pagina in cui si vuole veramente fare: vogliamo usare o non essere in
grado di manipolare ciò che verrà incluso.
Quindi, se volessi includere una pagina chiamata news che BHB includesse appena all'interno di questo senza dare all'utente
la possibilità di cambiarlo, so che stai andando a programmare il tuo codice per farlo
sembrare così.
Ma gli utenti che conosciamo vedono come gli utenti possono giocare con questo e solo farli includere tutto ciò che
vogliono.
Quindi il modo migliore per farlo è solo per farlo includere pagina quella pagina.
Quindi il tuo codice non sta usando nessuna variabile.
È difficile da codificare.
Potrebbe rendere più lungo il tuo codice LOEG ma è molto più sicuro.
E questo è esattamente ciò che fa l'opzione di alta sicurezza.
Quindi torniamo prima all'intrusione di file.
E siamo al minimo e se guardo la fonte ora vedrai che fondamentalmente il file è ciò che hai passato
il file di parole è ciò che lo attraversiamo qui nel parametro after the page.
E puoi vedere che prova a mostrare tutto ciò che gli inviamo.
Quindi quando inviamo la password ATC ci mostra la password ATC.
Ora in realtà lo terrò aperto e passerò attraverso il livello di sicurezza attraverso
la sicurezza e lo metterò in alto.
Ora il mezzo è simile al basso, quindi puoi effettivamente usare lo stesso, puoi sfruttarlo nello stesso modo in cui
abbiamo sfruttato il carico.
Quindi andiamo sull'alto rettilineo e vedremo la fonte e minimizzerò questo perché hanno le due
fonti non così possiamo confrontarle.
Quindi, come puoi vedere qui nel livello di sicurezza basso e medio puoi vedere
che tutto ciò che passiamo attraverso il file molto variabile verrà mostrato a noi mentre qui a
livello di sicurezza elevato puoi vedere che è hardcoded che è solo permesso di mostrarci il file include in modo da poter modificare questa
istruzione if.
Se hai un numero di file che desideri includere, puoi permetterli di entrare qui o puoi averli
in una lista.
Ma fondamentalmente il concetto è che si consentono solo i file che l'utente è autorizzato a vedere.
Quindi puoi semplicemente averli in una lista qui puoi usare una dichiarazione OR o puoi semplicemente avere
una lista e dire se il file è in questa lista allora visualizzato altrimenti dare un errore dicendo che il file non è stato trovato.
Quindi evita questo con il metodo hard coded.
Sì, non sembra bello come questo, ma è molto più sicuro.