E questa conferenza andremo a dare un'occhiata all'alto livello di sicurezza e vedremo
perché è un iniettabile.
Quindi andiamo avanti e abbiamo detto che il livello di sicurezza è troppo alto.
Ora tornerò alla mia iniezione di abilità e assicuriamoci che la pagina funzioni per prima.
Sto solo mettendo il numero uno come abbiamo sempre fatto.
E come puoi vedere ora la pagina funziona.
Ora proviamo a iniettarlo dopo quello dopo il parametro ID, come abbiamo sempre fatto e lo metterò e
uno è uguale a uno, quindi sto mettendo una dichiarazione vera.
E come puoi vedere ora la pagina non funziona davvero.
Quindi proviamo a mettere una singola citazione qui per chiuderla come abbiamo fatto con il livello basso.
E ancora questa iniezione non funziona neanche se ci viene data una dichiarazione vera che
non dovrebbe interferire con la richiesta corrente.
Di solito non guardiamo il codice quando stiamo tentando di hackerare, ma come ho detto questo è un iniettabile.
Diamo un'occhiata al codice e lo confronteremo con il codice utilizzato per il livello di sicurezza
medio e vedremo quale differenza c'è tra i due codici in modo che possiamo imparare come proteggere i
nostri siti web.
Quindi cercherò e cambierò il livello di sicurezza in medium qui
solo per poter confrontare i due codici e tornerò all'iniezione delle abilità e visualizzerò anche la sorgente.
E Dio li ha messi l'uno accanto all'altra.
Quindi qui a livello di sicurezza medio puoi vedere che l'idea viene letta qui e installata nella
variabile ID.
E poi c'è una funzione app chiamata my Eskew, la vera fuga.
Quindi, in che modo questa funzione passa a tutti i caratteri della variabile ID e cercherà caratteri
speciali come virgolette singole e virgolette doppie e rimuoverli.
Pertanto qualsiasi virgoletta usata o iniettata nella variabile ID verrà effettivamente rimossa su questa linea a causa
dell'uso del mio oscuro ceppo di fuga reale.
Ora la cosa è una volta che andiamo giù alla dichiarazione delle abilità vedrai che in realtà non abbiamo bisogno di usare
le virgolette per iniettare il codice nelle dichiarazioni la nostra affermazione è selezionare il cognome del nome degli utenti dove
un ID utente è uguale a ID.
Quindi in realtà non abbiamo bisogno di chiudere alcuna citazione.
Non abbiamo bisogno di iniettare virgolette nella variabile ID.
Tutto quello che dobbiamo fare è solo dare qualche idea come abbiamo fatto nell'ultimo video, così possiamo mettere solo il
numero uno e poi iniettare il codice subito dopo il numero uno.
Quindi, quando usiamo questo codice qui, in pratica, non abbiamo usato le virgolette nei media.
Quindi stiamo letteralmente dando l'ID come numero uno.
E poi stiamo dicendo che Union seleziona il nome della colonna, indipendentemente dalle tabelle dello schema delle informazioni.
Quindi il codice è stato appena iniettato subito dopo l'ID e quindi il database lo leggerà
ed eseguirà.
Non è necessario utilizzare nuovamente le virgolette perché il codice non utilizza alcun codice singolo, quindi il codice
dice semplicemente che l'ID utente è uguale all'ID.
Ora confrontando questo con il codice che abbiamo per l'alto livello di sicurezza
vedrete che usa la stessa funzione per saltare caratteri speciali ma è implementato nel modo giusto.
Ed è usando le virgolette singole nell'istruzione Escurial attorno all'idea, quindi, poiché il codice è tra le
virgolette che inseriamo e poiché usano le virgolette, qualsiasi codice in cui cerchiamo di
iniettare qui sarà effettivamente considerato come se fosse parte dell'ID.
Quindi, quando usiamo questo codice qui, quindi se usiamo il codice così com'è senza una
citazione, ovviamente verrà inserito invece della variabile ID tra le due virgolette singole.
Quindi sarà considerato come l'ID.
Considerando che se inietti quel codice qui dentro verrà effettivamente eseguito come parte dell'istruzione kill.
Diamo uno sguardo a come apparirà l'affermazione inaspettata quando inseriremo il nostro codice sia nei
media che nell'alto livello di sicurezza.
Quindi qui farò scendere i tech qui, quindi abbiamo la migliore dichiarazione per il medium qui e la skill statement per l'alto
livello di sicurezza e proveremo solo a iniettare e uno è uguale a 1 perché come abbiamo visto che è
possibile iniettarlo, è possibile iniettare tutto ciò che si desidera realmente e farlo eseguire
sul database.
OK.
Quindi, guardando la frase media, copiamo questo codice.
Ora questo codice andrà effettivamente e passerà attraverso il mio carattere di fuga reale.
Quindi sarà rimosso da qualsiasi singolo codice che ha ma non ha nulla e il codice sarà simile
a uno.
E uno è uguale a uno.
Quindi questa affermazione è valida e vuole essere uguale e verrà iniettata.
Osservando ora il livello di sicurezza elevato, questo uso della citazione singola significa che l'ID utente è
uguale a uno e uno è uguale a uno.
Così e uno è uguale a e non sarà considerato come parte dell'istruzione
OR ma sarà considerato come parte dell'ID utente.
Ora proviamo ad aggiungere la singola citazione e vediamo quale effetto avrebbe sullo schermo o sulle affermazioni.
In realtà mi sbarazzerò di questa affermazione perché siamo riusciti a iniettarla e ci concentreremo
solo sugli alti delle affermazioni utilizzate nel livello di sicurezza elevato.
Quindi stiamo usando una singola citazione qui per chiuderla e la copiamo.
Ora questo effettivamente passerà attraverso lo schermo e sfuggirà alla forza.
Quindi la singola citazione che stiamo usando qui verrà effettivamente rimossa.
E questa linea diventerà uno e uno è uguale a uno in modo che sarà uguale o uguale
alla linea che abbiamo usato prima.
Ora si vuole che questo sia sostituito di nuovo qui.
L'uno e uno è uguale a e sarà considerato come parte della Z dell'ID utente e non
sarà considerato come parte dell'istruzione scarola.
Da questo possiamo vedere che l'uso del mio s q r la vera forza di fuga non è sufficiente.
Deve essere usato con le virgolette singole proprio qui e combinato con quella funzione, quindi
questo specifico come istruzione kill diventa un iniettabile.
Ora nelle prossime conferenze parleremo in realtà di un modo migliore per costruire applicazioni web in modo
che non possano essere iniettate con le dichiarazioni SKM.
Ma se hai bisogno di una soluzione rapida, puoi andare avanti fino a quando non hai tempo e puoi cambiare
l'implementazione del tuo sito web in modo che non possa essere iniettato.