Ora, prima di approfondire come sfruttare e scoprire le vulnerabilità, vorrei fare una pausa e tornare indietro per un
secondo e vedere cosa succede esattamente quando un utente fa clic su un determinato collegamento.
Quindi abbiamo qui abbiamo il sito del cliente.
Quindi questo è il tuo computer con il sito web di posta elettronica che viene visualizzato all'utente.
Quindi questo è tutto caricato sul tuo computer, sul client.
E poi abbiamo il server, che contiene il codice che viene eseguito se il sito web è funzionante e se
utilizza il codice.
Quindi, quando fai clic su un collegamento.
Il sito Web di posta elettronica o il lato client, parte della pagina del sito Web, genererà una richiesta in modo da non
eseguire alcun calcolo per la maggior parte del tempo.
Ora, a volte c'è un codice lato client e lo vedremo.
Ma di solito il codice del sito client genererà una richiesta che viene inviata al sito Web, al server
Web e il server Web avrà del codice funzionale come BHP o Python, Ruby, qualsiasi linguaggio di programmazione.
E questo è il più delle volte che il codice interagisce con il database, ottiene una sorta
di informazione e quindi invia le informazioni come risposta al sito Web, al browser e il browser verrà visualizzato
come HTML.
Quindi il codice, il codice funzionale o il codice di calcolo è solitamente memorizzato sul lato server.
E il modo in cui funziona la maggior parte di questi siti Web è che generano una richiesta, la inviano al server, al
server, eseguono la richiesta e la rimandano indietro.
Quindi, quando cerchiamo di hackerare siti Web e sfruttarli, di solito giochiamo con le richieste e proviamo
a modificare quella richiesta in modo che esegua alcune azioni che ci aiuterebbero a ottenere informazioni o eseguire un certo
tipo di codice che ci darebbe una connessione inversa.
Ora, ci sono due tipi di richieste, ci sono richieste di ricezione e richieste di pubblicazione.
Facciamo un esempio, quindi se andiamo qui sull'inclusione finale, vedrai che abbiamo una variabile
chiamata Page e il valore di quella è include that.
Quindi proprio qui, questa è una richiesta get perché possiamo vederne i valori nell'URL.
Quindi possiamo vedere che pagina uguale include quello.
Quindi questa pagina richiede un'altra pagina per includere un'altra pagina chiamata Index Dot.
Ora, non entreremo nei dettagli di cosa significhi.
Ci interessa solo avere un esempio, e questo è l'esempio.
Quindi questa è la variabile per cui ci viene dato un valore, che è Page, e le stiamo dando
un valore di include Dogpatch.
Quindi questa è una richiesta di acquisizione.
Un esempio di richiesta di post è il caricamento del file, quindi se andiamo al caricamento del file quando carichi qualcosa
qui.
Quindi fammi caricare qualcosa.
Vedrai che l'URL non viene modificato, ma la richiesta, un senso del sito Web, l'immagine viene effettivamente
caricata sul server e tutto il resto, ma l'URL sembra ancora lo stesso.
Ma il sito web ha inviato informazioni.
Quindi il sito Web di Hatami ha inviato informazioni al server.
Non hai visto le informazioni qui perché è stato inviato come posta invece di ottenere.
Così.
Il primo problema ora è che non possiamo vedere i costi del poster, non
possiamo modificarli perché non sono mostrati qui nell'URL nel caso ancora, possiamo modificarli direttamente dall'URL.
Un altro problema è che molti di questi siti Web in futuro verranno utilizzati per la sicurezza
e utilizzeranno il codice lato client.
Quindi, se viene utilizzato, la richiesta viene effettivamente modificata prima di essere inviata.
Quindi ci saranno filtri e cose che funzioneranno sul lato client che modificheranno il nostro codice prima di inviarlo.
Quindi il modo migliore per intercettare le richieste e in modo da poter vedere le richieste di posta, useremo un
proxy.
Il proxy che useremo è il proxy di nascita.
Quindi, come funzionerà la nascita, abbiamo il nostro cliente qui e abbiamo il server Web, proprio come l'abbiamo visto
prima, e abbiamo il sito web di posta elettronica caricato sulla nostra macchina per dolci.
Quindi, quando inviamo la richiesta, invece di inviarla direttamente al browser Web, configureremo effettivamente il nostro
browser per inviare la richiesta a berp.
Quindi questo è il nostro proxy in esecuzione qui.
Berp vedrà tutti i parametri che vengono pubblicati sul sito web.
Quindi vedremo le richieste di post per ottenere richieste e le vedremo.
Dopotutto, il codice cliente è stato applicato.
Quindi alcuni siti web applicano il codice Clydeside, come ho detto alla richiesta prima di inviarla.
Quindi saremo in grado di vedere le richieste dopo che il codice del sito client è stato applicato.
Questo è molto importante perché molti siti Web utilizzano i filtri come client e quindi saremo
in grado di ignorare tutti questi filtri intercettando la richiesta.
Quindi, una volta modificata la richiesta in berp, la inoltreremo al sito web.
Il sito web lo eseguirà e ce lo restituirà.
Tutto questo diventerà più chiaro nella prossima lezione poiché in pratica utilizziamo il proxy berp per intercettare e
modificare le richieste.