1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:10,300 >> LUCIANO ARANGO: OK, ragazzi. 3 00:00:10,300 --> 00:00:11,550 Il mio nome è Luciano Arango. 4 00:00:11,550 --> 00:00:13,915 Sono al secondo anno in Adams House. 5 00:00:13,915 --> 00:00:17,550 E stiamo andando a parlare di sicurezza web difesa attiva. 6 00:00:17,550 --> 00:00:24,220 Così io lavoro per l'Ufficio di Informazioni Sicurezza in SEAS. 7 00:00:24,220 --> 00:00:28,670 E durante l'estate, ho internato a SeguraTec, che era una informazione 8 00:00:28,670 --> 00:00:31,310 società di sicurezza che ha servito per la Bank of Columbia. 9 00:00:31,310 --> 00:00:34,740 Questo è soprattutto lì che ho imparato quello che ho imparato finora. 10 00:00:34,740 --> 00:00:37,990 >> E così una parte del materiale che siamo intenzione di andare oltre oggi, non abbiamo 11 00:00:37,990 --> 00:00:39,670 davvero parlato in classe. 12 00:00:39,670 --> 00:00:40,410 Ma lo faremo presto. 13 00:00:40,410 --> 00:00:42,360 Sta andando essere come SQL, JavaScript. 14 00:00:42,360 --> 00:00:44,870 E non abbiamo davvero andato su di esso. 15 00:00:44,870 --> 00:00:47,730 Così che io possa ordinare di volo attraverso di essa, e si potrebbe non sapere alcune cose. 16 00:00:47,730 --> 00:00:48,890 Ma presto, per conoscere esso. 17 00:00:48,890 --> 00:00:52,080 E sarà tutto un senso. 18 00:00:52,080 --> 00:00:54,010 Anche un'altra cosa - 19 00:00:54,010 --> 00:00:55,780 rimanere etico. 20 00:00:55,780 --> 00:01:00,560 Alcune delle cose che si impara, si potrebbe utilizzare in modo non etico. 21 00:01:00,560 --> 00:01:01,950 >> Se è tuo, provare. 22 00:01:01,950 --> 00:01:04,500 Io sicuramente motivare i ragazzi provare i tuoi propri server, provare 23 00:01:04,500 --> 00:01:05,519 andando al loro interno. 24 00:01:05,519 --> 00:01:08,500 Vedere se è possibile penetrare, se è possibile ottenere al loro interno. 25 00:01:08,500 --> 00:01:09,560 Ma non chiunque altro. 26 00:01:09,560 --> 00:01:12,390 I poliziotti non piace molto le battute e Nel complesso, abbiamo messo questo qui. 27 00:01:12,390 --> 00:01:14,040 Siamo stati guai. 28 00:01:14,040 --> 00:01:15,780 Ottengono veramente arrabbiato. 29 00:01:15,780 --> 00:01:18,700 >> Quindi, oltre al capo questo sito web. 30 00:01:18,700 --> 00:01:23,560 Ce l'ho aperto proprio qui. 31 00:01:23,560 --> 00:01:26,780 Questo è un sito web, ed è ha un sacco di esempi. 32 00:01:26,780 --> 00:01:30,000 Succede che il primo esempio è una sorta di andare a essere molto più facile 33 00:01:30,000 --> 00:01:33,470 che l'ultimo esempio in senso che il primo esempio 34 00:01:33,470 --> 00:01:34,970 è completamente insicura. 35 00:01:34,970 --> 00:01:40,850 E l'ultimo è una sorta di quello che un persona normale sicurezza web farebbe. 36 00:01:40,850 --> 00:01:42,760 Ma è ancora possibile ordinamento di ottenere intorno a quello. 37 00:01:42,760 --> 00:01:44,860 E stiamo andando a concentrarsi su un e due esempi, uno e due. 38 00:01:44,860 --> 00:01:49,880 39 00:01:49,880 --> 00:01:49,920 >> OK. 40 00:01:49,920 --> 00:01:52,780 Cominciamo con cross-site scripting. 41 00:01:52,780 --> 00:01:56,100 Il codice JavaScript viene eseguito su browser del client. 42 00:01:56,100 --> 00:01:59,980 Si tratta di un linguaggio di programmazione che si utilizza per funzionare su browser del client in modo 43 00:01:59,980 --> 00:02:04,120 non c'è bisogno di aggiornare il sito e tornare al server. 44 00:02:04,120 --> 00:02:04,940 Avete in esecuzione. 45 00:02:04,940 --> 00:02:08,870 Ad esempio, Facebook, non hai per ricaricare il sito web per nuovo status 46 00:02:08,870 --> 00:02:09,710 aggiornamenti a venire. 47 00:02:09,710 --> 00:02:12,170 Sta utilizzando JavaScript per generare tutte queste cose. 48 00:02:12,170 --> 00:02:16,290 Così possiamo iniettare codice JavaScript dannoso nei siti web. 49 00:02:16,290 --> 00:02:20,890 E in questo modo, quando inviamo un link a qualcuno, potremmo sorta di inviarlo con 50 00:02:20,890 --> 00:02:23,050 parte del codice che vogliamo. 51 00:02:23,050 --> 00:02:26,450 >> Ci sono persistenti e non persistenti JavaScript - 52 00:02:26,450 --> 00:02:30,640 persistente e non persistente cross-site scripting, voglio dire. 53 00:02:30,640 --> 00:02:33,760 E la differenza che persistente è JavaScript che sarà 54 00:02:33,760 --> 00:02:36,060 salvato sul sito. 55 00:02:36,060 --> 00:02:39,780 E non persistente saranno JavaScript che sarà effettivamente capita una volta. 56 00:02:39,780 --> 00:02:41,795 Quindi diamo un'occhiata a un esempio reale veloce. 57 00:02:41,795 --> 00:02:45,660 58 00:02:45,660 --> 00:02:46,130 >> OK. 59 00:02:46,130 --> 00:02:51,620 Quindi questo sito, semplice, non succede niente qui. 60 00:02:51,620 --> 00:02:53,070 E stiamo andando a cercare di inserire qualche JavaScript. 61 00:02:53,070 --> 00:02:58,110 Così il nostro modo di iniziare a scrivere JavaScript è iniziamo con lo script iniziale. 62 00:02:58,110 --> 00:03:00,570 E chiudiamo con lo script. 63 00:03:00,570 --> 00:03:03,770 Stiamo semplicemente andando a mettere un messaggio - 64 00:03:03,770 --> 00:03:05,410 Ti faccio vedere - 65 00:03:05,410 --> 00:03:06,500 allarme. 66 00:03:06,500 --> 00:03:11,150 Alert è una funzione che JavaScript utilizza per mostrare qualcosa. 67 00:03:11,150 --> 00:03:12,400 Allora proviamo reale veloce. 68 00:03:12,400 --> 00:03:15,600 69 00:03:15,600 --> 00:03:18,944 Ho intenzione di andare, allarme ciao. 70 00:03:18,944 --> 00:03:20,400 Beh, ho dimenticato di mettere - 71 00:03:20,400 --> 00:03:24,510 72 00:03:24,510 --> 00:03:25,460 OK. 73 00:03:25,460 --> 00:03:26,540 Ecco, questo è semplice. 74 00:03:26,540 --> 00:03:28,730 >> Abbiamo messo JavaScript su un sito web, e si avvicinò. 75 00:03:28,730 --> 00:03:31,200 Ed è una sorta di succede solo sul nostro sito web, giusto? 76 00:03:31,200 --> 00:03:33,040 Quindi sembra che non è un problema, giusto? 77 00:03:33,040 --> 00:03:34,920 Voglio dire, come si potrebbe usare questa cattiveria? 78 00:03:34,920 --> 00:03:39,930 Quindi il modo che gli hacker fanno questo è davvero semplice. 79 00:03:39,930 --> 00:03:40,970 Stanno andando ad afferrarlo. 80 00:03:40,970 --> 00:03:43,750 Possono inviare questo link per voi. 81 00:03:43,750 --> 00:03:46,780 Se mando questo link per te in questo momento, e aprirlo, sta andando a 82 00:03:46,780 --> 00:03:51,620 dire ciao, dicendo che il mio sito web si sta dicendo ciao. 83 00:03:51,620 --> 00:03:57,280 >> E così, se dovessi dire qualcosa di un po 'più intelligente, se mi tiro su un 84 00:03:57,280 --> 00:03:59,880 JavaScript funzione I tipo di già scritto - 85 00:03:59,880 --> 00:04:03,940 ma se la si guarda, vado Su di esso prima l'ho scritto. 86 00:04:03,940 --> 00:04:06,650 Quindi stiamo andando a impostare un timeout. 87 00:04:06,650 --> 00:04:08,450 Stiamo andando ad aspettare un paio di secondi. 88 00:04:08,450 --> 00:04:13,970 In realtà, stiamo andando ad aspettare, se Non sbaglio, cinque secondi. 89 00:04:13,970 --> 00:04:15,870 Questo va in millisecondi. 90 00:04:15,870 --> 00:04:18,640 E allora che cosa stiamo andando a fare è che siamo andando per avvisare che l'accesso 91 00:04:18,640 --> 00:04:21,459 timeout per accedere interattiva 92 00:04:21,459 --> 00:04:23,990 E stiamo andando a modificare il percorso in una posizione diversa. 93 00:04:23,990 --> 00:04:30,370 94 00:04:30,370 --> 00:04:32,970 >> Quindi, se io mando questo sito a qualcuno, che stanno andando essere 95 00:04:32,970 --> 00:04:34,380 navigazione intorno, la calma. 96 00:04:34,380 --> 00:04:35,650 Niente sta succedendo. 97 00:04:35,650 --> 00:04:38,550 E in cinque secondi, è in corso per dire, il tuo login scaduta. 98 00:04:38,550 --> 00:04:40,200 Effettua il login interattiva 99 00:04:40,200 --> 00:04:43,400 Una volta che si fa clic su OK, ho intenzione di portarli a un altro sito. 100 00:04:43,400 --> 00:04:45,980 Presumibilmente, il sito sta per essere simile al sito web che 101 00:04:45,980 --> 00:04:47,280 cui si trovavano prima. 102 00:04:47,280 --> 00:04:50,770 E andranno a registrare il loro credenziali nel mio sito web invece di 103 00:04:50,770 --> 00:04:51,850 il loro sito web. 104 00:04:51,850 --> 00:04:54,780 >> E così posso mandare la gente un la posta elettronica con questo link. 105 00:04:54,780 --> 00:04:56,240 Io dico, oh, ecco un link. 106 00:04:56,240 --> 00:04:57,290 Questa è una banca, per esempio. 107 00:04:57,290 --> 00:05:01,390 Dico, qui, vado su questo link. 108 00:05:01,390 --> 00:05:03,730 E una volta che inviano, sono andando a curiosare. 109 00:05:03,730 --> 00:05:07,560 Posso aspettare per 15 secondi, 20 secondi, e poi pop che fai il login nel 110 00:05:07,560 --> 00:05:08,840 Login indietro. 111 00:05:08,840 --> 00:05:10,120 Voi potete provare con molte più cose. 112 00:05:10,120 --> 00:05:13,190 E 'complicato perché voi ragazzi non hanno visto JavaScript, per cui si potrebbe 113 00:05:13,190 --> 00:05:14,750 Non so alcune funzioni. 114 00:05:14,750 --> 00:05:18,625 Ma tutto quello che dovete fare è iniziare con lo script, terminare con lo script. 115 00:05:18,625 --> 00:05:22,105 116 00:05:22,105 --> 00:05:25,510 E si potrebbe mettere nulla nel mezzo. 117 00:05:25,510 --> 00:05:27,350 >> Alert è una funzione, attendere. 118 00:05:27,350 --> 00:05:29,365 Posizione della finestra vi porta in una nuova posizione. 119 00:05:29,365 --> 00:05:31,370 Ma si può fare molto di più. 120 00:05:31,370 --> 00:05:32,630 E così l'idea è che prendiamo che fuori. 121 00:05:32,630 --> 00:05:39,350 Se vado a esempio due, e io si inserisce in questo stesso codice, è 122 00:05:39,350 --> 00:05:40,210 non andare a lavorare. 123 00:05:40,210 --> 00:05:43,620 Quindi è la stampa di tutto a causa ciò che questo sito originariamente 124 00:05:43,620 --> 00:05:50,350 fa è se metto qualcosa qui, che sarà stamparlo proprio qui. 125 00:05:50,350 --> 00:05:52,390 Quindi non è la stampa di nulla. 126 00:05:52,390 --> 00:05:55,560 Questo esempio è effettivamente controllando per vedere se lo script è lì. 127 00:05:55,560 --> 00:05:57,163 Quindi sì, andare avanti. 128 00:05:57,163 --> 00:05:57,606 Chiedi a me. 129 00:05:57,606 --> 00:05:59,560 >> AUDIENCE: non sta inviando una richiesta GET o POST? 130 00:05:59,560 --> 00:06:00,670 >> LUCIANO ARANGO: Già. sono inviando una richiesta GET. 131 00:06:00,670 --> 00:06:01,350 >> PUBBLICO: E '? 132 00:06:01,350 --> 00:06:02,490 >> LUCIANO ARANGO: Già. 133 00:06:02,490 --> 00:06:04,030 Anche i browser utilizzano richieste POST. 134 00:06:04,030 --> 00:06:07,470 Ma sto cercando di mostrare richieste GET in modo che possiamo vedere ciò che è 135 00:06:07,470 --> 00:06:10,760 realmente accadendo. 136 00:06:10,760 --> 00:06:12,880 E così, se guardiamo a questo codice - quindi non funziona più. 137 00:06:12,880 --> 00:06:24,870 E se diamo uno sguardo a questo codice, sta andando ad essere in esempio due. 138 00:06:24,870 --> 00:06:29,300 Che questa persona sta facendo, la persona responsabile di questo browser - 139 00:06:29,300 --> 00:06:35,370 aprire, OK - 140 00:06:35,370 --> 00:06:39,290 sta sostituendo lo script parola. 141 00:06:39,290 --> 00:06:42,850 Questo è PHP, che voi ragazzi potrebbe hanno visto un po 'di vuoto. 142 00:06:42,850 --> 00:06:46,250 >> E 'solo la sostituzione del script di parole con il nome. 143 00:06:46,250 --> 00:06:50,895 Quindi, tuttavia, se vado avanti e appena messo in - 144 00:06:50,895 --> 00:06:58,520 145 00:06:58,520 --> 00:07:02,360 se prendo di nuovo il mio codice, e sto andando per modificarlo solo un po '. 146 00:07:02,360 --> 00:07:15,010 Invece di sceneggiatura, ho intenzione di cambiare per script con un capitale R. e 147 00:07:15,010 --> 00:07:16,390 stiamo andando a vedere se questo codice funziona. 148 00:07:16,390 --> 00:07:19,090 Così non è stato stampato fuori, che è un buon segno. 149 00:07:19,090 --> 00:07:21,990 E si spera in due secondi, sta andando a pop-up. 150 00:07:21,990 --> 00:07:22,820 >> Il tuo login scaduta. 151 00:07:22,820 --> 00:07:23,210 OK. 152 00:07:23,210 --> 00:07:24,460 Va bene. 153 00:07:24,460 --> 00:07:27,670 Così, controllando lo script potrebbe non necessariamente funzionare. 154 00:07:27,670 --> 00:07:28,130 La persona - 155 00:07:28,130 --> 00:07:32,290 si può anche verificare la presenza di script maiuscolo, scritto minuscolo, caso str 156 00:07:32,290 --> 00:07:34,180 confrontare, assicurarsi che siano la stessa cosa. 157 00:07:34,180 --> 00:07:38,480 Ma l'hacker può ancora fare una sorta di quello che abbiamo fatto in Vigenere quando ci siamo trasferiti 158 00:07:38,480 --> 00:07:40,620 indietro di un paio di personaggi, andare avanti. 159 00:07:40,620 --> 00:07:43,470 E si può capire come mettere lo script torna in là in modo che possa iniettare 160 00:07:43,470 --> 00:07:44,460 quello script. 161 00:07:44,460 --> 00:07:50,370 >> Quindi, ciò che si desidera utilizzare è htmlspecialchars a 162 00:07:50,370 --> 00:07:51,330 proteggere il vostro sito web. 163 00:07:51,330 --> 00:07:56,490 E ciò che fa è fa in modo che ciò che si mette in - 164 00:07:56,490 --> 00:07:59,610 per esempio, corsi o questa superiore o inferiore a - 165 00:07:59,610 --> 00:08:04,701 è sostituito con qualcosa che non sarà - 166 00:08:04,701 --> 00:08:05,951 mi permetta di zoomare qui - 167 00:08:05,951 --> 00:08:08,730 168 00:08:08,730 --> 00:08:09,685 la commerciale vero e proprio. 169 00:08:09,685 --> 00:08:13,420 Essa sostituirà quelli speciali HTML personaggi che vedremo quando siamo 170 00:08:13,420 --> 00:08:14,670 parlando - 171 00:08:14,670 --> 00:08:18,635 172 00:08:18,635 --> 00:08:20,740 oh, questo sta andando a prendere me tornare a - 173 00:08:20,740 --> 00:08:24,220 174 00:08:24,220 --> 00:08:25,380 questi personaggi proprio qui. 175 00:08:25,380 --> 00:08:28,180 >> Questi significano che qualcosa è in arrivo. 176 00:08:28,180 --> 00:08:31,570 Per HTML, quella fascia di inizio ci dice che qualcosa 177 00:08:31,570 --> 00:08:33,299 HTML relativo è in arrivo. 178 00:08:33,299 --> 00:08:33,980 E vogliamo sbarazzarsi di quella. 179 00:08:33,980 --> 00:08:36,200 Noi non vogliamo mettere HTML in un website.k Non vogliamo che l'utente sia 180 00:08:36,200 --> 00:08:40,260 in grado di mettere qualcosa nel loro sito web che possono influenzare il loro sito web, come 181 00:08:40,260 --> 00:08:43,480 script o HTML o qualcosa di simile. 182 00:08:43,480 --> 00:08:53,090 Quello che è importante è che si sterilizzare l'input dell'utente. 183 00:08:53,090 --> 00:08:54,720 >> Così gli utenti possono ingresso molte cose. 184 00:08:54,720 --> 00:08:58,110 Si può inserire un mucchio di roba da provare per ingannare il browser in ancora 185 00:08:58,110 --> 00:08:59,410 l'esecuzione di questo codice di script. 186 00:08:59,410 --> 00:09:02,870 Che cosa si vuole fare non è solo guardare per lo script, ma cercare per tutto 187 00:09:02,870 --> 00:09:04,250 che potrebbe essere dannoso. 188 00:09:04,250 --> 00:09:06,800 E htmlspecialchars lo farà per voi, quindi non è necessario 189 00:09:06,800 --> 00:09:07,340 di preoccuparsi. 190 00:09:07,340 --> 00:09:12,280 Ma non provate a fare da soli una sorta di con il proprio codice. 191 00:09:12,280 --> 00:09:14,055 È tutto chiaro XSS? 192 00:09:14,055 --> 00:09:14,370 >> OK. 193 00:09:14,370 --> 00:09:16,355 Andiamo a SQL injection. 194 00:09:16,355 --> 00:09:21,010 Così SQL injection è probabilmente il il numero uno della vulnerabilità 195 00:09:21,010 --> 00:09:22,490 in diversi siti web. 196 00:09:22,490 --> 00:09:24,350 Voglio dire, un buon esempio - 197 00:09:24,350 --> 00:09:27,350 Stavo ricercando più lontana per questa cosa. 198 00:09:27,350 --> 00:09:34,430 E ho trovato questo articolo fantastico, dove Ho visto che Harvard è stato violato, 199 00:09:34,430 --> 00:09:35,390 è stato violato. 200 00:09:35,390 --> 00:09:37,370 E mi chiedevo, bene, come lo farebbero? 201 00:09:37,370 --> 00:09:41,660 Harvard è la più impressionante, più garantire l'università mai. 202 00:09:41,660 --> 00:09:43,850 Giusto? 203 00:09:43,850 --> 00:09:45,410 Beh, di violare i server, gli hacker hanno usato un 204 00:09:45,410 --> 00:09:47,710 tecnica chiamata SQL injection. 205 00:09:47,710 --> 00:09:50,250 >> Quindi, questo accade in un giorno per giorno. 206 00:09:50,250 --> 00:09:53,590 La gente dimentica di prendere in considerazione per l'iniezione SQL. 207 00:09:53,590 --> 00:09:54,930 Harvard fa. 208 00:09:54,930 --> 00:10:00,050 Penso che qui si dice, Princeton, Stanford, Cornell. 209 00:10:00,050 --> 00:10:03,550 Quindi, come possiamo - così che cosa è questo SQL iniezione che sta portando tutti questi 210 00:10:03,550 --> 00:10:05,668 persone Down? 211 00:10:05,668 --> 00:10:08,010 OK. 212 00:10:08,010 --> 00:10:12,090 Quindi SQL è un linguaggio di programmazione usiamo per accedere ai database. 213 00:10:12,090 --> 00:10:14,560 Quello che facciamo è selezioniamo - 214 00:10:14,560 --> 00:10:18,510 così che cosa questa legge adesso è selezionare tutto dalla tabella. 215 00:10:18,510 --> 00:10:22,640 >> SQL, si trasforma in questi database che hanno tavoli pieni di informazioni. 216 00:10:22,640 --> 00:10:26,550 Quindi seleziona tutto da utenti dove il nome è nome utente. 217 00:10:26,550 --> 00:10:28,120 Giusto? 218 00:10:28,120 --> 00:10:30,770 Abbastanza semplice. 219 00:10:30,770 --> 00:10:34,490 L'idea di iniezione SQL è che inserire del codice maligno che avrebbe 220 00:10:34,490 --> 00:10:37,270 ingannare il server in esecuzione qualcosa diverso da quello che 221 00:10:37,270 --> 00:10:38,430 in origine era in esecuzione. 222 00:10:38,430 --> 00:10:44,970 Quindi diciamo che per il nome utente, mettiamo in 1 o uguale a 1. 223 00:10:44,970 --> 00:10:46,700 Così abbiamo messo in 1 o uguale a 1. 224 00:10:46,700 --> 00:10:49,890 Il modo in cui leggerà ora sarà select da parte degli utenti, tutto da 225 00:10:49,890 --> 00:10:51,360 utenti - questo è tutto - 226 00:10:51,360 --> 00:10:55,880 dove nome è il nome utente, ma username è 1 o uguale a 1. 227 00:10:55,880 --> 00:11:01,760 >> Così il nome è nulla o 1 è uguale a 1. 228 00:11:01,760 --> 00:11:04,060 1 uguale 1 è sempre vero. 229 00:11:04,060 --> 00:11:07,690 Quindi questo sarà sempre tornare informazioni da parte degli utenti. 230 00:11:07,690 --> 00:11:08,100 OK. 231 00:11:08,100 --> 00:11:10,030 Non abbiamo bisogno di avere la Nome utente. 232 00:11:10,030 --> 00:11:14,240 Possiamo solo avere tutto ciò che vogliamo, e restituirà le informazioni 233 00:11:14,240 --> 00:11:15,690 di cui abbiamo bisogno. 234 00:11:15,690 --> 00:11:17,160 Diamo un'occhiata a un altro esempio. 235 00:11:17,160 --> 00:11:22,720 >> Se abbiamo selezionare tutto da utente, dove nome è utenti drop table - 236 00:11:22,720 --> 00:11:26,420 Allora, cosa pensi che questo testamento fare se ho messo il nome utente 237 00:11:26,420 --> 00:11:29,560 come utenti DROP TABLE? 238 00:11:29,560 --> 00:11:30,230 Qualcuno ha un'idea? 239 00:11:30,230 --> 00:11:31,050 Sì. 240 00:11:31,050 --> 00:11:32,470 >> AUDIENCE: Sta andando a raccontare a discarica tutte le tabelle. 241 00:11:32,470 --> 00:11:35,460 >> LUCIANO ARANGO: E 'intenzione di dirci per scaricare tutto nel sito, 242 00:11:35,460 --> 00:11:38,290 tutto nel database. 243 00:11:38,290 --> 00:11:41,910 E ciò che la gente usa questo per - così Io vado a mostrarvi ragazzi. 244 00:11:41,910 --> 00:11:45,462 Ho disabilitato cadere le tabelle perché non volevo che tu 245 00:11:45,462 --> 00:11:48,240 ragazzi a cadere le mie tabelle. 246 00:11:48,240 --> 00:11:49,850 Diamo uno sguardo a questo. 247 00:11:49,850 --> 00:11:54,410 Quindi questo prende semplicemente il backup delle informazioni per una certa persona. 248 00:11:54,410 --> 00:11:57,550 Quindi, come facciamo a sapere se si tratta di colpite da SQL injection. 249 00:11:57,550 --> 00:12:01,545 Stiamo andando a controllare la reale veloce se possiamo mettere qualcosa - 250 00:12:01,545 --> 00:12:04,990 251 00:12:04,990 --> 00:12:06,080 fammi copiare il codice. 252 00:12:06,080 --> 00:12:08,140 Ho intenzione di andare oltre in un secondo. 253 00:12:08,140 --> 00:12:12,210 Ho intenzione di mettere radici e 1 è uguale a 1. 254 00:12:12,210 --> 00:12:15,510 >> Questo qui, questo segno di percentuale 23 - 255 00:12:15,510 --> 00:12:19,970 ciò che realmente è, se io guardare direttamente qui su - 256 00:12:19,970 --> 00:12:23,820 il modo HTML prende in numeri, se si dare un'occhiata a quando ho messo in uno spazio 257 00:12:23,820 --> 00:12:28,380 qui - se dovessi spazio qualcosa qui, esso cambia in percentuale 2. 258 00:12:28,380 --> 00:12:31,420 Voi ragazzi vedo questo qui quando ho messo in uno spazio? 259 00:12:31,420 --> 00:12:36,710 Il modo in cui funziona è che si può solo trasmettere valori ASCII tramite HTML. 260 00:12:36,710 --> 00:12:40,330 In modo che sostituisce, per esempio, uno spazio con 20 per cento. 261 00:12:40,330 --> 00:12:41,970 Non so se voi ragazzi hanno visto prima. 262 00:12:41,970 --> 00:12:45,100 >> Esso sostituisce un hashtag con 23 per cento. 263 00:12:45,100 --> 00:12:50,840 Abbiamo bisogno di un hashtag di fine o dichiarazione di modo che possiamo dire la 264 00:12:50,840 --> 00:13:00,885 database per dimenticare di commentare questo ultimo punto e virgola alla fine. 265 00:13:00,885 --> 00:13:03,060 Noi vogliamo che non pensare a questo. 266 00:13:03,060 --> 00:13:05,980 Vogliamo solo che funzioni tutto che abbiamo in precedenza e 267 00:13:05,980 --> 00:13:07,450 commentare che fuori. 268 00:13:07,450 --> 00:13:08,710 Diamo un'occhiata a questo. 269 00:13:08,710 --> 00:13:14,670 >> Quindi se dovessi mettere qualcosa di sbagliato - diciamo per esempio, ho messo 2 equals 270 00:13:14,670 --> 00:13:15,690 1, non mi dà nulla. 271 00:13:15,690 --> 00:13:22,930 Quando ho messo in 1 uguale a 1, e lo fa ritorno qualcosa, questo mi dice che 272 00:13:22,930 --> 00:13:24,660 questa è vulnerabile a una iniezione SQL. 273 00:13:24,660 --> 00:13:29,090 Ora so che qualunque cosa Ho messo dopo questo - 274 00:13:29,090 --> 00:13:39,110 e, per esempio, eliminare tabelle o qualcosa di simile 275 00:13:39,110 --> 00:13:41,190 sarà sicuramente il lavoro. 276 00:13:41,190 --> 00:13:44,350 So che è vulnerabile a SQL injection perché so che 277 00:13:44,350 --> 00:13:49,850 sotto la cappa, si sta lasciando Mi faccio la 1 è uguale a 1 cosa. 278 00:13:49,850 --> 00:13:51,100 OK? 279 00:13:51,100 --> 00:13:53,950 280 00:13:53,950 --> 00:13:56,540 >> E se guardiamo a questi altri, numero due e numero tre, è 281 00:13:56,540 --> 00:13:59,110 intenzione di fare un po 'di più di controllo sotto la 282 00:13:59,110 --> 00:14:03,680 Cappa di quello che è. 283 00:14:03,680 --> 00:14:07,425 Così chiunque abilitare la caduta ancora niente o provato? 284 00:14:07,425 --> 00:14:08,760 Voi ragazzi sorta di GET SQL? 285 00:14:08,760 --> 00:14:10,430 Perché so che voi ragazzi non hanno ancora visto, quindi è una specie di 286 00:14:10,430 --> 00:14:11,759 confusione per voi ragazzi. 287 00:14:11,759 --> 00:14:16,160 288 00:14:16,160 --> 00:14:18,480 Diamo uno sguardo. 289 00:14:18,480 --> 00:14:21,270 Allora qual è il modo per prevenire SQLI? 290 00:14:21,270 --> 00:14:21,390 OK. 291 00:14:21,390 --> 00:14:23,330 Quindi questo è molto importante perché si ragazzi sicuramente vogliono impedire 292 00:14:23,330 --> 00:14:24,090 questo nei vostri siti web. 293 00:14:24,090 --> 00:14:28,040 >> In caso contrario, tutti i tuoi amici stanno per fare gioco di te quando cadono tutti 294 00:14:28,040 --> 00:14:29,390 le tabelle. 295 00:14:29,390 --> 00:14:36,150 Così l'idea è che si ripristina il SQL in un certo modo, che è partita 296 00:14:36,150 --> 00:14:41,940 ciò che gli input utente con una certa stringa. 297 00:14:41,940 --> 00:14:46,120 Quindi il modo in cui funziona è che si preparare il database. 298 00:14:46,120 --> 00:14:50,830 Si seleziona il nome, il colore, e calorie da un database chiamato frutta. 299 00:14:50,830 --> 00:14:53,580 E allora dove calorie è inferiore, e mettiamo un punto interrogativo lì 300 00:14:53,580 --> 00:14:56,530 dicendo che stiamo andando a ingresso qualcosa in un secondo. 301 00:14:56,530 --> 00:14:58,850 >> E il colore è uguale, e abbiamo messo una domanda dicendo marchio che andremo a 302 00:14:58,850 --> 00:15:00,913 ingresso qualcosa in un secondo pure. 303 00:15:00,913 --> 00:15:02,660 OK? 304 00:15:02,660 --> 00:15:09,920 E poi noi eseguiamo essa, mettendo in 150 e rosso. 305 00:15:09,920 --> 00:15:12,820 E questo controllare per Assicurarsi che questi due - 306 00:15:12,820 --> 00:15:15,300 questo array controllerà che questi due sono un numero intero e 307 00:15:15,300 --> 00:15:16,550 che questa è una stringa. 308 00:15:16,550 --> 00:15:18,810 309 00:15:18,810 --> 00:15:20,890 Poi andiamo, e noi recuperiamo tutto, mettiamo in rosso. 310 00:15:20,890 --> 00:15:21,964 Questo significa che noi recuperiamo tutti. 311 00:15:21,964 --> 00:15:26,790 Significa che in realtà eseguiamo SQL dichiarazione e rimetterlo in rosso. 312 00:15:26,790 --> 00:15:30,530 Qui facciamo lo stesso, ma noi fare lo stesso per il giallo. 313 00:15:30,530 --> 00:15:32,490 E noi recuperiamo tutti. 314 00:15:32,490 --> 00:15:36,140 >> E in questo modo, si impedisce all'utente da essere in grado di inserire qualcosa 315 00:15:36,140 --> 00:15:41,710 non è questo che abbiamo specificato, una stringa o un numero intero, ad esempio. 316 00:15:41,710 --> 00:15:45,100 317 00:15:45,100 --> 00:15:46,610 Io parlavo in precedenza su fare affidamento sugli altri. 318 00:15:46,610 --> 00:15:50,010 Quando voi ragazzi iniziare il vostro progetto, siete sicuramente intenzione di utilizzare 319 00:15:50,010 --> 00:15:52,310 bootstrap o qualcosa di simile. 320 00:15:52,310 --> 00:15:53,490 Avete ragazzi mai usato Wordpress? 321 00:15:53,490 --> 00:15:57,170 Probabilmente voi ragazzi avete usato Wordpress più probabile. 322 00:15:57,170 --> 00:16:00,050 Quindi il problema con l'utilizzo cose altrui - 323 00:16:00,050 --> 00:16:05,940 Sto solo andando a pratica reale di Google Vulnerabilità Wordpress. 324 00:16:05,940 --> 00:16:07,495 >> Se mi tiro questo proprio ora - 325 00:16:07,495 --> 00:16:08,995 Ho letteralmente fatto un due secondi di Google. 326 00:16:08,995 --> 00:16:12,300 327 00:16:12,300 --> 00:16:13,800 Possiamo vedere che Wordpress - 328 00:16:13,800 --> 00:16:17,450 questo è datato nel settembre '12. 329 00:16:17,450 --> 00:16:19,120 26 viene aggiornato. 330 00:16:19,120 --> 00:16:23,620 La configurazione di default di Wordpress prima della 3.6 non impedisce a tali 331 00:16:23,620 --> 00:16:27,110 alcuni caricamenti, che potrebbe rendere più facile per 332 00:16:27,110 --> 00:16:29,790 attacchi di cross-site scripting. 333 00:16:29,790 --> 00:16:34,530 Quindi una storia veloce, una volta che stavano lavorando con - quindi ero, in estate, lavorando un 334 00:16:34,530 --> 00:16:34,970 stage. 335 00:16:34,970 --> 00:16:40,400 E stavamo lavorando con una sorta di come una grande azienda della carta di credito. 336 00:16:40,400 --> 00:16:42,020 >> E si basano su qualcosa chiamato - 337 00:16:42,020 --> 00:16:45,740 Non so se voi ragazzi mai giocato con un prodotto chiamato Joomla. 338 00:16:45,740 --> 00:16:51,750 Joomla è un prodotto che viene utilizzato per controllo - sorta di simile a 339 00:16:51,750 --> 00:16:54,340 Wordpress, usata per costruire siti web. 340 00:16:54,340 --> 00:16:56,060 Così hanno avuto il loro sito web lavorando su Joomla. 341 00:16:56,060 --> 00:16:59,290 Questo è in realtà una carta di credito società in Colombia. 342 00:16:59,290 --> 00:17:01,000 Ti porterò alla loro sito reale veloce. 343 00:17:01,000 --> 00:17:04,550 344 00:17:04,550 --> 00:17:05,400 >> Quindi hanno usato Joomla. 345 00:17:05,400 --> 00:17:08,630 E non avevano aggiornato Joomla per l'ultima aggiunta. 346 00:17:08,630 --> 00:17:12,160 E così quando stavamo prendendo uno sguardo a il loro codice, siamo stati in grado di effettivamente 347 00:17:12,160 --> 00:17:18,430 andare dentro il loro codice e rubare tutto il dati della carta di credito che avevano, 348 00:17:18,430 --> 00:17:21,670 tutti i numeri di carta di credito, i nomi, gli indirizzi. 349 00:17:21,670 --> 00:17:22,740 E questo era solo - 350 00:17:22,740 --> 00:17:23,569 e il loro codice era perfettamente soddisfacente. 351 00:17:23,569 --> 00:17:24,710 Avevano grande codice. 352 00:17:24,710 --> 00:17:25,389 Era tutto la sicurezza. 353 00:17:25,389 --> 00:17:26,520 Hanno controllato tutti i database. 354 00:17:26,520 --> 00:17:29,020 Hanno fatto in modo cross-site scripting era soddisfacente. 355 00:17:29,020 --> 00:17:34,390 >> Ma hanno usato qualcosa che non era aggiornato, che non era sicuro. 356 00:17:34,390 --> 00:17:36,940 E così che li ha portati a - così voi ragazzi sono assolutamente intenzione di utilizzare altri 357 00:17:36,940 --> 00:17:40,650 codice, quadri altrui persone per costruire il tuo sito web. 358 00:17:40,650 --> 00:17:43,860 Assicurarsi che sono sicuro perché a volte non sei tu, quello che 359 00:17:43,860 --> 00:17:44,480 fa un errore. 360 00:17:44,480 --> 00:17:47,440 Ma qualcuno fa un errore, e poi si cade giù a causa di questo. 361 00:17:47,440 --> 00:17:51,190 362 00:17:51,190 --> 00:17:53,885 >> Password e PII. 363 00:17:53,885 --> 00:17:56,820 Quindi password. 364 00:17:56,820 --> 00:17:58,070 OK. 365 00:17:58,070 --> 00:17:59,980 366 00:17:59,980 --> 00:18:04,230 Diamo uno sguardo alle password reale veloce. 367 00:18:04,230 --> 00:18:04,590 OK. 368 00:18:04,590 --> 00:18:06,520 Ti prego, dimmi che tutti utilizza Secure - 369 00:18:06,520 --> 00:18:09,030 Spero che tutti qui utilizza password sicure. 370 00:18:09,030 --> 00:18:12,890 Sto solo lasciando che come un presupposto. 371 00:18:12,890 --> 00:18:14,850 Quindi voi ragazzi sono sicuramente memorizzare le password per i vostri siti web. 372 00:18:14,850 --> 00:18:17,440 Stai andando a fare qualcosa di simile un login o qualcosa di simile. 373 00:18:17,440 --> 00:18:19,610 Quello che è importante è di non conservare password in testo normale. 374 00:18:19,610 --> 00:18:20,860 Questo è estremamente importante. 375 00:18:20,860 --> 00:18:23,960 Se non si desidera memorizzare un password in testo normale. 376 00:18:23,960 --> 00:18:27,370 >> E sicuramente non si vuole veramente per conservarlo in un senso unico hash. 377 00:18:27,370 --> 00:18:32,440 Quindi, ciò che un senso unico hash è che quando si generare una parola, quando si mette questa 378 00:18:32,440 --> 00:18:36,200 parola in una funzione di hash, lo farà generare retro una sorta di criptico 379 00:18:36,200 --> 00:18:39,390 messaggio o un set di chiavi criptico. 380 00:18:39,390 --> 00:18:40,640 Io vi mostrerò un esempio. 381 00:18:40,640 --> 00:18:44,620 382 00:18:44,620 --> 00:18:50,250 Ho intenzione di hash che parola password1. 383 00:18:50,250 --> 00:18:55,280 Così Hash MD5 sta per tornare me una sorta di informazione strano. 384 00:18:55,280 --> 00:18:59,140 >> Il problema è che la gente là fuori che amano andare in siti web hanno 385 00:18:59,140 --> 00:19:02,750 già capito liste di tutti gli hash md5. 386 00:19:02,750 --> 00:19:06,030 Quello che hanno fatto è si sedettero sul loro computer, ed essi hash ogni 387 00:19:06,030 --> 00:19:09,660 sola parola possibile là fuori fino hanno ottenuto una sorta di cosa si tratta. 388 00:19:09,660 --> 00:19:11,420 Se dovessi guardare questo in su - 389 00:19:11,420 --> 00:19:12,420 Ho appena preso questo hash. 390 00:19:12,420 --> 00:19:14,120 Se ottengo questo hash da - 391 00:19:14,120 --> 00:19:17,470 se vado in un sito web, e trovo questo hash perché arrivare alla 392 00:19:17,470 --> 00:19:24,100 database e guardo in su, qualcuno già capito per me. 393 00:19:24,100 --> 00:19:28,600 394 00:19:28,600 --> 00:19:29,100 >> Già. 395 00:19:29,100 --> 00:19:35,030 Così la gente si sedette, e qualunque md5 hash che si mette in, che stanno andando a 396 00:19:35,030 --> 00:19:37,760 ritorno a qualcosa che è una parola. 397 00:19:37,760 --> 00:19:39,800 Se io hash un'altra parola, come - 398 00:19:39,800 --> 00:19:42,410 Non lo so - 399 00:19:42,410 --> 00:19:43,490 trees2. 400 00:19:43,490 --> 00:19:46,050 Io non voglio essere deluso dalle mie ricerche di Google. 401 00:19:46,050 --> 00:19:49,820 402 00:19:49,820 --> 00:19:52,780 Vi è, trees2. 403 00:19:52,780 --> 00:19:55,930 Così un sacco di siti web ancora usare hash MD5. 404 00:19:55,930 --> 00:19:57,730 Si dice, oh, è sicuro. 405 00:19:57,730 --> 00:19:58,570 Non stiamo memorizzazione in testo normale. 406 00:19:58,570 --> 00:19:59,740 Abbiamo questo hash MD5. 407 00:19:59,740 --> 00:20:01,880 E tutto quello che devo fare è solo Google il numero. 408 00:20:01,880 --> 00:20:03,940 >> Non hanno nemmeno bisogno di computare me stesso. 409 00:20:03,940 --> 00:20:06,790 Posso solo Google, e qualcuno già ha fatto per me. 410 00:20:06,790 --> 00:20:08,010 Ecco un mucchio di loro. 411 00:20:08,010 --> 00:20:09,260 Ecco un mucchio di password. 412 00:20:09,260 --> 00:20:13,890 413 00:20:13,890 --> 00:20:18,680 Quindi sicuramente non utilizzare hash MD5, perché tutto ciò che dovete 414 00:20:18,680 --> 00:20:19,140 fare è Google esso. 415 00:20:19,140 --> 00:20:20,390 Allora, cosa si desidera utilizzare invece? 416 00:20:20,390 --> 00:20:29,340 417 00:20:29,340 --> 00:20:30,170 OK. 418 00:20:30,170 --> 00:20:31,260 Qualcosa chiamato salatura. 419 00:20:31,260 --> 00:20:32,460 Così che cosa salatura è - 420 00:20:32,460 --> 00:20:36,280 voi ragazzi ricordi quando eravamo parlando casuale - 421 00:20:36,280 --> 00:20:37,920 Io non sono sicuro di quello che era Pset - 422 00:20:37,920 --> 00:20:41,140 Era pset lì o quattro? 423 00:20:41,140 --> 00:20:45,150 >> Stavamo parlando di trovare l'ago nel pagliaio. 424 00:20:45,150 --> 00:20:48,480 E nel pset, ha detto che si poteva in realtà capire cosa casuale 425 00:20:48,480 --> 00:20:51,840 genera perché qualcuno sta già corse Casualmente un milione di volte e solo 426 00:20:51,840 --> 00:20:53,230 tipo di formato cosa che generano. 427 00:20:53,230 --> 00:20:55,840 Che cosa si vuole fare è mettere in un ingresso. 428 00:20:55,840 --> 00:20:57,130 Ecco che cosa salatura tipo di è. 429 00:20:57,130 --> 00:21:00,900 Hanno già capito che cosa salatura restituisce per ogni opera. 430 00:21:00,900 --> 00:21:04,750 >> Così che cosa salatura fa è si mette in un sale. 431 00:21:04,750 --> 00:21:06,160 Hai messo in una certa parola. 432 00:21:06,160 --> 00:21:09,720 E sarà hash quella parola a seconda su ciò che si mette in qui. 433 00:21:09,720 --> 00:21:13,570 Quindi, se ho hash della password uno con questo sentenza, sta andando a hash 434 00:21:13,570 --> 00:21:17,180 diversamente se mi hash password1 con una frase diversa. 435 00:21:17,180 --> 00:21:21,670 E 'sorta di dà un posto per avviare per la hashing per iniziare. 436 00:21:21,670 --> 00:21:25,970 Quindi è molto più difficile da calcolare, ma si può ancora calcolare, soprattutto 437 00:21:25,970 --> 00:21:26,830 se si utilizza una brutta sale. 438 00:21:26,830 --> 00:21:29,650 >> La gente ha già anche capito sali comuni e capito 439 00:21:29,650 --> 00:21:31,500 ciò che è. 440 00:21:31,500 --> 00:21:34,980 Sali casuali sono molto meglio, ma il modo migliore è quello di utilizzare 441 00:21:34,980 --> 00:21:38,160 qualcosa chiamato cripta. 442 00:21:38,160 --> 00:21:40,480 E che cripta consente di fare - così queste funzioni sono 443 00:21:40,480 --> 00:21:41,820 già costruito per voi. 444 00:21:41,820 --> 00:21:44,910 Molti dimenticano che, o si dimenticano di usarlo. 445 00:21:44,910 --> 00:21:54,520 Ma se guardo fino cripta PHP, cripta già restituisce una stringa hash per me. 446 00:21:54,520 --> 00:21:58,790 E in realtà sali molte volte e hash molte volte. 447 00:21:58,790 --> 00:22:00,070 >> Quindi non dobbiamo fare questo. 448 00:22:00,070 --> 00:22:04,790 Quindi tutto quello che dovete fare è inviarlo in cripta. 449 00:22:04,790 --> 00:22:08,170 E si creerà una grande hash senza si doversi preoccupare di sale 450 00:22:08,170 --> 00:22:08,990 o nulla. 451 00:22:08,990 --> 00:22:12,000 Perché se si dovesse sale, devi per ricordare quello che il sale è stato utilizzato 452 00:22:12,000 --> 00:22:13,800 perché se no, non è possibile ottenere il Password indietro senza l' 453 00:22:13,800 --> 00:22:15,760 sale che hai usato. 454 00:22:15,760 --> 00:22:17,010 OK. 455 00:22:17,010 --> 00:22:21,120 456 00:22:21,120 --> 00:22:23,150 >> E anche personali identificabili informazioni. 457 00:22:23,150 --> 00:22:26,730 Quindi la sicurezza sociale, la carta di credito - questo è abbastanza ovvio. 458 00:22:26,730 --> 00:22:31,880 Ma a volte la gente dimentica il modo in cui le opere è, quante informazioni ti 459 00:22:31,880 --> 00:22:35,690 effettivamente bisogno di trovare qualche persona? 460 00:22:35,690 --> 00:22:37,740 Qualcuno ha fatto uno studio su questo un modo per tornare. 461 00:22:37,740 --> 00:22:40,870 Ed era come, se avete un nome completo, non è possibile trovare 462 00:22:40,870 --> 00:22:41,610 qualcuno così facilmente. 463 00:22:41,610 --> 00:22:43,900 Ma cosa succede se si dispone di un nome completo e la loro data di nascita? 464 00:22:43,900 --> 00:22:47,770 È sufficiente per identificare qualcuno in particolare? 465 00:22:47,770 --> 00:22:52,760 >> Cosa fare se avete loro nome e l' indirizzo che essi vivono? 466 00:22:52,760 --> 00:22:55,110 È sufficiente trovare qualcuno? 467 00:22:55,110 --> 00:23:02,490 Ed è allora che mettono in discussione, ciò che è informazioni personali identificabili, e 468 00:23:02,490 --> 00:23:05,360 cosa si deve preoccupare non dare via? 469 00:23:05,360 --> 00:23:08,770 Se si dà via identificabili personali informazioni che qualcuno ti dà, 470 00:23:08,770 --> 00:23:11,420 si potrebbe ottenere citato. 471 00:23:11,420 --> 00:23:12,610 E noi certamente non vogliamo questo. 472 00:23:12,610 --> 00:23:14,955 >> Così, quando si sta mettendo il tuo sito web fuori, e si dispone di una davvero cool 473 00:23:14,955 --> 00:23:17,230 disegno, si spera hai fatto un progetto finale impressionante. 474 00:23:17,230 --> 00:23:18,370 Qualsiasi tipo di si desidera metterlo fuori là. 475 00:23:18,370 --> 00:23:21,420 Si vuole fare in modo che qualsiasi si sta prendendo da parte dell'utente, se è 476 00:23:21,420 --> 00:23:25,310 informazioni di identificazione personale, vuole fare in modo che tu sia davvero 477 00:23:25,310 --> 00:23:26,560 attenti con esso. 478 00:23:26,560 --> 00:23:29,670 479 00:23:29,670 --> 00:23:31,080 >> Shell iniezione. 480 00:23:31,080 --> 00:23:31,350 OK. 481 00:23:31,350 --> 00:23:37,590 Iniezione Shell permette all'intruso di ottenere l'accesso alla riga di comando effettivo 482 00:23:37,590 --> 00:23:39,660 nel server. 483 00:23:39,660 --> 00:23:44,060 E così lui è in grado di eseguire codice che non si può controllare. 484 00:23:44,060 --> 00:23:49,560 Facciamo un esempio di questo bella stringa qui. 485 00:23:49,560 --> 00:23:55,570 Se andiamo di nuovo nel sito, sono intenzione di andare in iniezione di codice. 486 00:23:55,570 --> 00:23:58,910 Così che cosa fa è - 487 00:23:58,910 --> 00:24:00,420 è anche ciò che siamo stati guardando prima. 488 00:24:00,420 --> 00:24:11,200 Stiamo lasciando l'utente messo in qualunque che vuole, e stamperà 489 00:24:11,200 --> 00:24:12,220 quello che vuoi. 490 00:24:12,220 --> 00:24:13,890 >> Quindi ho intenzione di mettere una chiamata. 491 00:24:13,890 --> 00:24:15,540 Quello che fa è - 492 00:24:15,540 --> 00:24:16,940 inizierà concatenando. 493 00:24:16,940 --> 00:24:19,520 Così mi permette di correre qualunque comandare funzionamento della persona 494 00:24:19,520 --> 00:24:21,500 prima e il mio comando. 495 00:24:21,500 --> 00:24:23,980 E sto eseguendo un comando di sistema. 496 00:24:23,980 --> 00:24:27,310 E questi ultimi stringhe sono - ricorda quello che ho parlato con voi ragazzi su, 497 00:24:27,310 --> 00:24:31,725 considerando che si deve codificare in un metodo URL. 498 00:24:31,725 --> 00:24:35,010 499 00:24:35,010 --> 00:24:36,992 Se corro questo adesso - 500 00:24:36,992 --> 00:24:39,150 Vi mostrerò qui - 501 00:24:39,150 --> 00:24:41,100 vedrai che ho finito up esecuzione di un comando. 502 00:24:41,100 --> 00:24:45,700 503 00:24:45,700 --> 00:24:49,320 >> Questo è in realtà il server effettivo che il mio sito è in esecuzione. 504 00:24:49,320 --> 00:24:55,840 505 00:24:55,840 --> 00:24:58,510 Quindi non vogliamo che, perché posso correre - 506 00:24:58,510 --> 00:25:00,320 questo server non è mio. 507 00:25:00,320 --> 00:25:04,030 Quindi io non voglio rovinare la sua la sorella, il server di Marcus. 508 00:25:04,030 --> 00:25:07,470 Ma è possibile eseguire più comandi che sono pericolosi. 509 00:25:07,470 --> 00:25:11,885 E potenzialmente, si potrebbe eliminare file, rimuovere directory. 510 00:25:11,885 --> 00:25:14,390 511 00:25:14,390 --> 00:25:17,970 Posso rimuovere una directory se Avrei voluto, ma non voglio 512 00:25:17,970 --> 00:25:19,530 per fare questo a Marcus. 513 00:25:19,530 --> 00:25:20,420 Lui è un bravo ragazzo. 514 00:25:20,420 --> 00:25:21,470 Lui mi ha prestato il suo server. 515 00:25:21,470 --> 00:25:24,620 Quindi ho intenzione di lasciarlo off sul buono. 516 00:25:24,620 --> 00:25:32,280 >> Quindi, ciò che non si vuole usare - non lo facciamo desidera utilizzare eval o sistema. 517 00:25:32,280 --> 00:25:34,755 Eval o il sistema ci permette di effettuare queste chiamate di sistema. 518 00:25:34,755 --> 00:25:37,410 519 00:25:37,410 --> 00:25:38,410 Mezzi Eval valutare. 520 00:25:38,410 --> 00:25:40,790 Sistema vuol dire quello che ho incontrato. 521 00:25:40,790 --> 00:25:42,490 È gestito qualcosa nel sistema. 522 00:25:42,490 --> 00:25:46,730 Ma possiamo vietare queste cose in PHP in modo che noi non li usiamo. 523 00:25:46,730 --> 00:25:47,400 E upload di file. 524 00:25:47,400 --> 00:25:49,180 Stavo per fare un fantastico cosa con l'upload di file. 525 00:25:49,180 --> 00:25:52,740 Ma come ti ho detto ragazzi, il mio file cosa upload non funziona. 526 00:25:52,740 --> 00:25:54,590 Se dovessi caricare un file in questo momento - 527 00:25:54,590 --> 00:25:57,120 528 00:25:57,120 --> 00:26:00,830 se dovessi caricare un file, ed è una foto - 529 00:26:00,830 --> 00:26:03,180 avete una cosa di caricamento questa è una foto. 530 00:26:03,180 --> 00:26:03,660 Va bene. 531 00:26:03,660 --> 00:26:04,280 Non succede nulla. 532 00:26:04,280 --> 00:26:10,840 >> Ma se hai un file di caricamento, per esempio e l'utente effettivamente arrivi 533 00:26:10,840 --> 00:26:19,220 un file PHP o un file exe o qualcosa del genere così, allora si potrebbe potenzialmente 534 00:26:19,220 --> 00:26:19,740 avere un problema. 535 00:26:19,740 --> 00:26:21,390 Questo funzionava prima. 536 00:26:21,390 --> 00:26:25,202 Purtroppo per me, è Non funziona più. 537 00:26:25,202 --> 00:26:30,230 Se io, per esempio, caricare il file, io sono non ottenere il permesso di caricare 538 00:26:30,230 --> 00:26:33,400 il file dovuto al server non essendo il mio. 539 00:26:33,400 --> 00:26:38,670 Così il ragazzo è davvero intelligente. 540 00:26:38,670 --> 00:26:39,610 >> Quindi noi non vogliamo - 541 00:26:39,610 --> 00:26:40,130 Ho intenzione di mostrare voi ragazzi - 542 00:26:40,130 --> 00:26:41,840 Ok, questi sono alcuni strumenti davvero cool. 543 00:26:41,840 --> 00:26:45,100 Quindi questi - 544 00:26:45,100 --> 00:26:47,715 andare in - se voi ragazzi avete Firefox - speriamo che fate. 545 00:26:47,715 --> 00:26:54,260 Ci sono due add-on chiamato SQL Inject Me e Cross-Site Script me. 546 00:26:54,260 --> 00:26:56,870 Si aprono così piccolo lato barre sul lato. 547 00:26:56,870 --> 00:27:01,480 E se dovessi andare a CS60 per esempio - 548 00:27:01,480 --> 00:27:04,210 quindi ciò che fa è che sembra per tutte le forme che - 549 00:27:04,210 --> 00:27:07,220 550 00:27:07,220 --> 00:27:08,760 si spera, non voglio entrare nei guai per questo. 551 00:27:08,760 --> 00:27:09,190 >> Ma OK. 552 00:27:09,190 --> 00:27:12,600 Ecco il sistema pin. 553 00:27:12,600 --> 00:27:18,946 Così, quando mi metto alla ricerca di buchi in il sistema, la prima cosa che faccio è 554 00:27:18,946 --> 00:27:21,820 aprire questa bella utensile sul lato. 555 00:27:21,820 --> 00:27:24,160 E sto andando a testare forme con gli attacchi auto. 556 00:27:24,160 --> 00:27:28,510 E così quello che fa è che lentamente aprire un mucchio di browser. 557 00:27:28,510 --> 00:27:29,930 Ecco un mucchio di browser. 558 00:27:29,930 --> 00:27:33,320 E sta provando ogni singola combinazione di cross-site scripting 559 00:27:33,320 --> 00:27:37,380 che eventualmente è, se si vede sul lato. 560 00:27:37,380 --> 00:27:42,080 >> E mi darà un risultato una sorta di quale sia la risposta. 561 00:27:42,080 --> 00:27:42,860 Tutto passa. 562 00:27:42,860 --> 00:27:43,910 Ovviamente, tutti passano. 563 00:27:43,910 --> 00:27:46,190 Voglio dire, sono davvero intelligenti gente lassù. 564 00:27:46,190 --> 00:27:48,010 Ma se dovessi correre - 565 00:27:48,010 --> 00:27:52,050 Ho avuto momenti prima quando eseguo questo su progetti finali degli studenti. 566 00:27:52,050 --> 00:27:56,080 Ho semplicemente eseguito SQL Inject Me con tutti i diversi attacchi. 567 00:27:56,080 --> 00:28:00,080 E si sta cercando di SQL Inject questo server pin. 568 00:28:00,080 --> 00:28:03,590 Quindi, se scorriamo, per esempio, si dice - 569 00:28:03,590 --> 00:28:04,960 questo è un bene se ritorna. 570 00:28:04,960 --> 00:28:08,250 >> Così testato alcuni determinati valori. 571 00:28:08,250 --> 00:28:11,170 E il server ha restituito un codice che è stato negativo. 572 00:28:11,170 --> 00:28:11,780 Rimuovere temporaneamente. 573 00:28:11,780 --> 00:28:13,030 Questo è un bene. 574 00:28:13,030 --> 00:28:17,050 575 00:28:17,050 --> 00:28:20,750 Si cerca tutte queste prove. 576 00:28:20,750 --> 00:28:21,790 Così si potrebbe semplicemente eseguire - 577 00:28:21,790 --> 00:28:27,860 Vorrei poter trovare un sito web vero e proprio rapido che avrebbe lasciato me - 578 00:28:27,860 --> 00:28:29,110 forse il negozio CS50. 579 00:28:29,110 --> 00:28:43,890 580 00:28:43,890 --> 00:28:45,711 >> Wow, questo sta per richiedere troppo tempo. 581 00:28:45,711 --> 00:28:53,090 582 00:28:53,090 --> 00:28:55,130 Lascio il primo test non finire a destra. 583 00:28:55,130 --> 00:28:57,330 Quindi è lamentarsi. 584 00:28:57,330 --> 00:28:58,470 Quindi queste sono tre cose. 585 00:28:58,470 --> 00:29:00,430 Questi strumenti sono gratuiti. 586 00:29:00,430 --> 00:29:03,960 Potete scaricarli ed eseguirli su il tuo sito web, e vi dirà se 587 00:29:03,960 --> 00:29:06,650 avete cross-site scripting, se si dispone di SQL, se avete 588 00:29:06,650 --> 00:29:07,900 qualcosa di simile. 589 00:29:07,900 --> 00:29:12,230 590 00:29:12,230 --> 00:29:14,500 Sono una specie di incasinare. 591 00:29:14,500 --> 00:29:15,550 >> Ciò che è importante - 592 00:29:15,550 --> 00:29:17,900 OK, mai fidarsi dell'utente. 593 00:29:17,900 --> 00:29:21,920 Qualunque sia gli input dell'utente a voi, fare Assicurati di disinfettare, si pulirlo, 594 00:29:21,920 --> 00:29:25,300 controllare per le cose giuste, che ti sta dando quello che 595 00:29:25,300 --> 00:29:28,240 che lui per darvi. 596 00:29:28,240 --> 00:29:32,460 Essere sempre aggiornato su ciò che i quadri che si sta usando. 597 00:29:32,460 --> 00:29:34,630 Se si utilizza qualcosa come bootstrap - 598 00:29:34,630 --> 00:29:36,340 So che voi ragazzi stanno per usare bootstrap perché ha intenzione di andare 599 00:29:36,340 --> 00:29:38,140 su questo presto in classe - 600 00:29:38,140 --> 00:29:43,120 e Wordpress o qualcosa di simile, Normalmente questo potrebbe essere violato. 601 00:29:43,120 --> 00:29:44,770 >> E poi non sai nemmeno. 602 00:29:44,770 --> 00:29:45,800 Si sta solo eseguendo il tuo sito web. 603 00:29:45,800 --> 00:29:47,360 Ed è totalmente sicuro. 604 00:29:47,360 --> 00:29:51,730 E si scende. 605 00:29:51,730 --> 00:29:54,000 Così sto pesca molto presto. 606 00:29:54,000 --> 00:29:55,770 Ma voglio ringraziare pentest Labs. 607 00:29:55,770 --> 00:29:58,140 Ho intenzione di mostrare voi ragazzi qualcosa chiamato pentest Labs. 608 00:29:58,140 --> 00:30:05,000 Se voi siete veramente interessati quale sicurezza è davvero, c'è una 609 00:30:05,000 --> 00:30:07,300 sito web chiamato pentest Labs se voi ragazzi GO per adesso. 610 00:30:07,300 --> 00:30:10,730 Oh, bene, che non è vero. 611 00:30:10,730 --> 00:30:12,030 Sto solo andando a correre in questo modo. 612 00:30:12,030 --> 00:30:14,400 Google mi dice la risposta. 613 00:30:14,400 --> 00:30:16,590 >> OK. 614 00:30:16,590 --> 00:30:19,030 E insegna utilizzare voi - così dice, imparare penetrazione web 615 00:30:19,030 --> 00:30:21,060 test nel modo giusto. 616 00:30:21,060 --> 00:30:23,650 Ti insegna - 617 00:30:23,650 --> 00:30:25,150 si spera, sei una persona etica. 618 00:30:25,150 --> 00:30:29,200 Ma ti insegna come si può guardare come si può ottenere dentro siti web. 619 00:30:29,200 --> 00:30:31,130 E se si impara come si può entrare siti web, si può imparare a 620 00:30:31,130 --> 00:30:34,960 proteggersi da ottenere siti all'interno. 621 00:30:34,960 --> 00:30:39,100 Lasciatemi zoomare perché forse voi ragazzi Non stanno guardando questo diritto. 622 00:30:39,100 --> 00:30:46,350 >> Da SQL injection a guscio, così sorta di come posso ottenere da SQL 623 00:30:46,350 --> 00:30:48,530 iniezione a guscio. 624 00:30:48,530 --> 00:30:53,890 E si scarica questa macchina virtuale. 625 00:30:53,890 --> 00:30:55,690 E la macchina virtuale viene già con il sito web che si sta 626 00:30:55,690 --> 00:30:56,780 andando a cercare su di esso. 627 00:30:56,780 --> 00:30:58,030 Si scarica questo PDF. 628 00:30:58,030 --> 00:31:03,610 629 00:31:03,610 --> 00:31:08,370 E vi mostrerà riga per riga ciò che quello che dovete fare, quello che si controlla. 630 00:31:08,370 --> 00:31:14,560 Questo è ciò che un utente malintenzionato realtà lo fa per ottenere all'interno di un sito web. 631 00:31:14,560 --> 00:31:15,750 >> E alcune di queste cose è complicato. 632 00:31:15,750 --> 00:31:17,520 Vorrei poter andare oltre più cose con voi ragazzi. 633 00:31:17,520 --> 00:31:21,090 Ma temo che voi ragazzi Non hanno davvero - 634 00:31:21,090 --> 00:31:23,090 questo è quello che ho passato sopra con voi ragazzi, test web 635 00:31:23,090 --> 00:31:26,830 per test di penetrazione. 636 00:31:26,830 --> 00:31:33,540 Non so davvero che cosa SQL è e che cosa - 637 00:31:33,540 --> 00:31:35,960 Seminario di Carl Jackson è incredibile come bene. 638 00:31:35,960 --> 00:31:37,360 Voi ragazzi non sanno liste di cosa si tratta. 639 00:31:37,360 --> 00:31:39,450 Ma se andate a questo sito, e si scaricare questi tutorial e questi 640 00:31:39,450 --> 00:31:43,290 PDF, è possibile dare un'occhiata a sorta di ciò che l'area della sicurezza fa davvero 641 00:31:43,290 --> 00:31:46,940 in test di penetrazione, vedere come è possibile ottenere siti all'interno e proteggere 642 00:31:46,940 --> 00:31:48,020 da esso. 643 00:31:48,020 --> 00:31:56,360 >> Quindi se faccio una panoramica super veloce, Sarà evitare cross-site scripting. 644 00:31:56,360 --> 00:32:00,160 Si desidera utilizzare htmlspecialchars ogni cronometrare l'input dell'utente qualcosa. 645 00:32:00,160 --> 00:32:01,580 Prevenire SQL injection. 646 00:32:01,580 --> 00:32:04,510 Se lo fai, sei già meglio di Harvard era 647 00:32:04,510 --> 00:32:06,530 quando si sono aperti un varco. 648 00:32:06,530 --> 00:32:10,510 E assicurarsi che le password non sono in testo normale. 649 00:32:10,510 --> 00:32:16,220 Assicurati di fare non solo un modo di hash loro, ma che si utilizza cripta, il PHP 650 00:32:16,220 --> 00:32:18,670 funzione che vi ho mostrato i ragazzi. 651 00:32:18,670 --> 00:32:20,060 In questo modo, dovrebbe essere buona. 652 00:32:20,060 --> 00:32:25,830 >> Inoltre, se i tuoi amici ti permettono, esegue SQL non Iniettare Me sui loro siti web. 653 00:32:25,830 --> 00:32:28,140 Eseguire cross-site scripting sui loro siti web. 654 00:32:28,140 --> 00:32:33,720 E vedrete un sacco di questi siti web avere una tonnellata di vulnerabilità. 655 00:32:33,720 --> 00:32:40,400 E 'incredibile quanto la gente dimentica per sterilizzare i loro database o per fare 656 00:32:40,400 --> 00:32:46,340 sicuro di quello che inserendo della persona non è codice di script. 657 00:32:46,340 --> 00:32:47,200 OK. 658 00:32:47,200 --> 00:32:49,182 I sorta di finito molto presto. 659 00:32:49,182 --> 00:32:56,510 Ma se qualcuno ha dei dubbi niente, mi può sparare una domanda. 660 00:32:56,510 --> 00:32:56,630 Già. 661 00:32:56,630 --> 00:32:56,970 Vai, vai. 662 00:32:56,970 --> 00:32:59,846 >> PUBBLICO: Voglio solo chiedere, si può spiegare come il file 663 00:32:59,846 --> 00:33:03,160 carica esattamente opere. 664 00:33:03,160 --> 00:33:03,480 >> LUCIANO ARANGO: Già. 665 00:33:03,480 --> 00:33:06,350 Quindi lasciate che vi mostri il file carica reale veloce. 666 00:33:06,350 --> 00:33:11,300 Così l'upload di file - 667 00:33:11,300 --> 00:33:14,500 il problema wit l'upload di file in questo momento è che - 668 00:33:14,500 --> 00:33:18,541 Ho intenzione di aprire il codice in modo che voi ragazzi vedere il codice dietro le quinte. 669 00:33:18,541 --> 00:33:22,390 670 00:33:22,390 --> 00:33:24,305 Ed è carica. 671 00:33:24,305 --> 00:33:28,030 672 00:33:28,030 --> 00:33:31,560 Ecco un codice per il file uploader. 673 00:33:31,560 --> 00:33:33,980 >> Stiamo cercando di entrare in questo Elenco qui. 674 00:33:33,980 --> 00:33:37,380 675 00:33:37,380 --> 00:33:44,880 E stiamo cercando di, una volta che inserire il il file, il file isset - quindi quando c'è un 676 00:33:44,880 --> 00:33:50,900 presentare in FILES, l'immagine, poi cerchiamo di spostare qui. 677 00:33:50,900 --> 00:33:51,910 Noi afferriamo il file qui. 678 00:33:51,910 --> 00:33:58,350 Il metodo è POST, tipo, immagine, file. 679 00:33:58,350 --> 00:33:59,630 E stiamo inviando questo file. 680 00:33:59,630 --> 00:34:03,910 E poi una volta che otteniamo, quindi una volta che il file ha un'immagine, stiamo cercando di inviare 681 00:34:03,910 --> 00:34:05,060 a questa directory. 682 00:34:05,060 --> 00:34:09,814 >> Il problema è che il sito non è lasciarmi andare a questa directory, 683 00:34:09,814 --> 00:34:12,239 perché non vuole che io vada indietro. 684 00:34:12,239 --> 00:34:13,489 Non vuole che me ne vada - 685 00:34:13,489 --> 00:34:15,620 686 00:34:15,620 --> 00:34:17,070 Devo andare - ecco cos'é carica. 687 00:34:17,070 --> 00:34:17,639 Ecco le immagini. 688 00:34:17,639 --> 00:34:21,780 Devo andare tutta la strada al inizio e metterlo in là e poi 689 00:34:21,780 --> 00:34:23,820 andare a metterlo nella directory. 690 00:34:23,820 --> 00:34:30,000 Quindi, se io correvo una finestra di terminale, e volevo spostare un file - 691 00:34:30,000 --> 00:34:30,409 [Incomprensibile] 692 00:34:30,409 --> 00:34:32,159 può vederlo. 693 00:34:32,159 --> 00:34:37,940 Se volevo spostare un file, ho mettere il nome del file e quindi il 694 00:34:37,940 --> 00:34:40,860 percorso completo voglio inviarlo a. 695 00:34:40,860 --> 00:34:45,110 >> E poi il server non è lasciarmi andare indietro. 696 00:34:45,110 --> 00:34:46,929 E quindi non è lasciare Mi arrivare a quel file. 697 00:34:46,929 --> 00:34:47,670 Ma normalmente - 698 00:34:47,670 --> 00:34:49,360 quindi c'è un codice per caricamento di un file. 699 00:34:49,360 --> 00:34:52,260 Quindi, normalmente ciò che accadrà è che l' persona non sta verificando se il mio file 700 00:34:52,260 --> 00:34:57,920 termina con. jpeg, così ho vorrebbe controllare. 701 00:34:57,920 --> 00:35:00,054 Lasciatemi aprire un esempio troppo rapido reale. 702 00:35:00,054 --> 00:35:07,766 703 00:35:07,766 --> 00:35:08,260 >> OK. 704 00:35:08,260 --> 00:35:09,230 Questa persona giusta - 705 00:35:09,230 --> 00:35:11,980 così ad esempio due sta controllando se preg_match - 706 00:35:11,980 --> 00:35:14,180 qui è finita qui - 707 00:35:14,180 --> 00:35:19,660 fare in modo che le estremità con PHP, che è buono. 708 00:35:19,660 --> 00:35:20,580 Questo è un bene. 709 00:35:20,580 --> 00:35:22,820 Ma c'è un vero e proprio grande problema con questo. 710 00:35:22,820 --> 00:35:24,600 Questo è un bene. 711 00:35:24,600 --> 00:35:44,190 Ma se dovessi mettere un file chiamato myfavoritepicture.php.jpeg, ho potuto 712 00:35:44,190 --> 00:35:50,060 ancora potenzialmente sbarazzarsi del jpeg ed eseguire it.k che PHP di pericoloso. 713 00:35:50,060 --> 00:35:53,850 Se non si desidera la persona sia in grado per eseguire il codice sul tuo sito web. 714 00:35:53,850 --> 00:35:55,750 >> Ma poi. Jpeg lascia passare. 715 00:35:55,750 --> 00:36:00,720 L'idea è ciò che si vuole veramente fare non è prendere i file, A. Ma, OK, cosa 716 00:36:00,720 --> 00:36:07,500 si vuole veramente fare è assicurarsi che si legge su tutto il mondo. 717 00:36:07,500 --> 00:36:08,720 E non c'è nulla. Php in esso. 718 00:36:08,720 --> 00:36:10,500 Non c'è. Php nella intero nome del file. 719 00:36:10,500 --> 00:36:12,780 >> AUDIENCE: Ma si potrebbe mettere. jpeg alla fine. 720 00:36:12,780 --> 00:36:15,830 I server ancora eseguire il codice. 721 00:36:15,830 --> 00:36:16,870 >> LUCIANO ARANGO: No, non lo farà eseguito all'inizio. 722 00:36:16,870 --> 00:36:22,310 Bisogna tornare indietro e provare per vedere se è possibile - 723 00:36:22,310 --> 00:36:24,210 >> AUDIENCE: Quindi dobbiamo - 724 00:36:24,210 --> 00:36:26,020 OK, solo un altro set che coinvolge - 725 00:36:26,020 --> 00:36:26,936 >> LUCIANO ARANGO: Già. 726 00:36:26,936 --> 00:36:29,230 >> AUDIENCE: OK. 727 00:36:29,230 --> 00:36:31,486 >> LUCIANO ARANGO: Già. 728 00:36:31,486 --> 00:36:31,900 OK. 729 00:36:31,900 --> 00:36:32,865 Tutte le altre domande? 730 00:36:32,865 --> 00:36:33,180 OK. 731 00:36:33,180 --> 00:36:37,350 Ho intenzione di lasciare questo e ordinare di provare a vedere se voi ragazzi può - 732 00:36:37,350 --> 00:36:40,490 le altre sono un po 'più complicato perché richiedono molto 733 00:36:40,490 --> 00:36:44,050 più conoscenza di SQL che solo il inizio conoscenza del web SQL è e 734 00:36:44,050 --> 00:36:47,010 ciò JavaScript è. 735 00:36:47,010 --> 00:36:49,730 Ma ho intenzione di cercare di mantenere questa funzione, e speriamo che voi ragazzi impareranno 736 00:36:49,730 --> 00:36:53,230 su questo e cercare di dare uno sguardo a cosa si può fare e quante esempi 737 00:36:53,230 --> 00:36:54,420 si può ottenere attraverso. 738 00:36:54,420 --> 00:36:56,020 >> Qualcuno ha qualche altra domande su di esso? 739 00:36:56,020 --> 00:36:59,387 740 00:36:59,387 --> 00:37:00,350 Vai avanti. 741 00:37:00,350 --> 00:37:01,170 Sì, sparare, sparare. 742 00:37:01,170 --> 00:37:01,580 Sì, andare avanti. 743 00:37:01,580 --> 00:37:01,850 Vai avanti. 744 00:37:01,850 --> 00:37:02,310 >> AUDIENCE: OK. 745 00:37:02,310 --> 00:37:08,870 Così ho sentito parlare di come magic quotes non sono abbastanza sicuro. 746 00:37:08,870 --> 00:37:09,280 >> LUCIANO ARANGO: Cosa - 747 00:37:09,280 --> 00:37:10,110 Magic Quotes? 748 00:37:10,110 --> 00:37:10,595 >> AUDIENCE: Già. 749 00:37:10,595 --> 00:37:15,445 Quindi aggiunge - così ogni volta che si immette qualcosa, aggiunge sempre le virgolette. 750 00:37:15,445 --> 00:37:15,930 >> LUCIANO ARANGO: Già. 751 00:37:15,930 --> 00:37:16,000 Già. 752 00:37:16,000 --> 00:37:16,496 OK. 753 00:37:16,496 --> 00:37:19,113 >> PUBBLICO: E poi ho pensato che lavoravo, ma poi ho cercato su. 754 00:37:19,113 --> 00:37:21,648 E ha detto che non è buono. 755 00:37:21,648 --> 00:37:23,050 Ma io non so perché. 756 00:37:23,050 --> 00:37:23,360 >> LUCIANO ARANGO: Già. 757 00:37:23,360 --> 00:37:26,240 >> AUDIENCE: Non utilizzare Magic Quotes, perché non è sicuro. 758 00:37:26,240 --> 00:37:26,360 >> LUCIANO ARANGO: OK. 759 00:37:26,360 --> 00:37:31,735 Quotazioni Così, la magia è quando si inserisce SQL e aggiunge già la citazione per voi. 760 00:37:31,735 --> 00:37:33,520 >> AUDIENCE: Aggiunge sempre le virgolette intorno a quello che mettete dentro 761 00:37:33,520 --> 00:37:34,210 >> LUCIANO ARANGO: Già. 762 00:37:34,210 --> 00:37:37,190 Così il problema è che - 763 00:37:37,190 --> 00:37:38,445 Prendo uno sguardo a - 764 00:37:38,445 --> 00:37:41,390 >> AUDIENCE: Come acquisire l'istruzione SQL? 765 00:37:41,390 --> 00:37:44,690 O Credo che potrebbe essere come selezionare preventivo. 766 00:37:44,690 --> 00:37:49,030 >> LUCIANO ARANGO: Sì, è necessario buone quotazioni per SQL. 767 00:37:49,030 --> 00:37:52,900 >> PUBBLICO: No, ma il server lo fa per voi. 768 00:37:52,900 --> 00:37:54,460 >> LUCIANO ARANGO: Queste piccole citazioni proprio qui, queste piccole citazioni? 769 00:37:54,460 --> 00:37:55,670 >> AUDIENCE: Già. 770 00:37:55,670 --> 00:37:56,450 >> LUCIANO ARANGO: Già. 771 00:37:56,450 --> 00:37:59,860 Il problema è che si può commentare l'ultimo - 772 00:37:59,860 --> 00:38:05,770 Ok, quindi quello che posso fare è che posso commentare - quindi diamo un'occhiata a - let me 773 00:38:05,770 --> 00:38:07,920 aprire un file di testo di modifica. 774 00:38:07,920 --> 00:38:09,610 Vorrei solo modificare questo proprio qui direttamente. 775 00:38:09,610 --> 00:38:19,510 776 00:38:19,510 --> 00:38:20,400 OK. 777 00:38:20,400 --> 00:38:23,710 Riesci a vedere ragazzi che chiaramente? 778 00:38:23,710 --> 00:38:29,730 Quello che posso fare è che posso commentare l'ultimo. 779 00:38:29,730 --> 00:38:32,190 Questo commentare l'ultima. 780 00:38:32,190 --> 00:38:36,760 E poi mi metterò uno qui, mettere tutta roba dannoso qui. 781 00:38:36,760 --> 00:38:39,840 782 00:38:39,840 --> 00:38:42,630 >> Così l'utente realtà inserendo, giusto? 783 00:38:42,630 --> 00:38:45,230 L'utente non sta inserendo le cose, giusto? 784 00:38:45,230 --> 00:38:47,430 Questo è quello che ho intenzione di ingresso come la persona che tenta di entrare. 785 00:38:47,430 --> 00:38:49,430 Ho intenzione di mettere in - 786 00:38:49,430 --> 00:38:59,290 787 00:38:59,290 --> 00:39:00,180 questa è una virgoletta. 788 00:39:00,180 --> 00:39:01,760 E 'solo deformata per errore. 789 00:39:01,760 --> 00:39:15,080 790 00:39:15,080 --> 00:39:19,400 E poi ciò che il codice è intenzione di fare - 791 00:39:19,400 --> 00:39:20,190 scusate, ho intenzione di prendere questo fuori. 792 00:39:20,190 --> 00:39:22,170 Quello che il codice sta per fare è sta andando per aggiungere il primo 793 00:39:22,170 --> 00:39:24,030 virgolette qui. 794 00:39:24,030 --> 00:39:26,040 E sta andando a aggiungere l'ultima virgoletta pure. 795 00:39:26,040 --> 00:39:29,350 796 00:39:29,350 --> 00:39:33,270 >> Ed è anche intenzione di aggiungere l' Infine, l'ultima virgoletta. 797 00:39:33,270 --> 00:39:37,380 Ma sto commentando questi preventivo segna fuori, quindi non corrono. 798 00:39:37,380 --> 00:39:41,440 E sto finendo questa citazione marcare qui. 799 00:39:41,440 --> 00:39:42,290 Hai capito? 800 00:39:42,290 --> 00:39:43,750 Ti sei perso? 801 00:39:43,750 --> 00:39:45,880 Posso commentare l'ultima quotazione segno, e prendersi cura del 802 00:39:45,880 --> 00:39:46,680 prima virgoletta. 803 00:39:46,680 --> 00:39:47,350 >> PUBBLICO: E finitura appena il primo. 804 00:39:47,350 --> 00:39:47,480 >> LUCIANO ARANGO: Già. 805 00:39:47,480 --> 00:39:48,400 E proprio finire il primo. 806 00:39:48,400 --> 00:39:48,790 Sì, è giusto. 807 00:39:48,790 --> 00:39:50,800 Questo è quello che posso fare. 808 00:39:50,800 --> 00:39:51,890 Già. 809 00:39:51,890 --> 00:39:52,980 Tutte le altre domande del genere? 810 00:39:52,980 --> 00:39:54,230 Questa è una grande domanda. 811 00:39:54,230 --> 00:39:56,960 812 00:39:56,960 --> 00:39:59,790 No, sì, forse. 813 00:39:59,790 --> 00:40:06,150 Speriamo che voi ragazzi sorta di effettuare più senso quando si studia SQL e 814 00:40:06,150 --> 00:40:06,650 cose del genere. 815 00:40:06,650 --> 00:40:07,980 Ma assicuratevi di - 816 00:40:07,980 --> 00:40:10,340 mantenere questi strumenti in guardia. 817 00:40:10,340 --> 00:40:12,760 Spiacenti, questi strumenti più qui. 818 00:40:12,760 --> 00:40:14,200 Questi strumenti sono grandi. 819 00:40:14,200 --> 00:40:17,190 Se qualcuno ha delle domande, potete anche scrivermi. 820 00:40:17,190 --> 00:40:19,020 Questa è la mia email normale. 821 00:40:19,020 --> 00:40:25,015 E questa è la mia mail di lavoro, che è quando lavoro a SEAS. 822 00:40:25,015 --> 00:40:26,040 >> OK, grazie. 823 00:40:26,040 --> 00:40:26,740 Grazie, ragazzi. 824 00:40:26,740 --> 00:40:27,860 Tu sei a posto. 825 00:40:27,860 --> 00:40:28,830 Non dovete stare qui. 826 00:40:28,830 --> 00:40:29,570 Non applaudire. 827 00:40:29,570 --> 00:40:30,170 Che strano. 828 00:40:30,170 --> 00:40:31,420 OK, grazie, ragazzi. 829 00:40:31,420 --> 00:40:32,320