1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:10,300 >> Luciano Arango: OK, persoal. 3 00:00:10,300 --> 00:00:11,550 O meu nome é Luciano Arango. 4 00:00:11,550 --> 00:00:13,915 Eu son un estudante de segundo ano en Adams House. 5 00:00:13,915 --> 00:00:17,550 E nós imos estar falando seguridade web defensa activa. 6 00:00:17,550 --> 00:00:24,220 Entón, eu traballo para a Oficina de Información Seguridade na Seas. 7 00:00:24,220 --> 00:00:28,670 E durante o verán, eu ingresado en SeguraTec, que era unha información 8 00:00:28,670 --> 00:00:31,310 empresa de seguridade que serviu ao Banco de Columbia. 9 00:00:31,310 --> 00:00:34,740 Isto é principalmente onde eu aprendín o que eu aprendín ata agora. 10 00:00:34,740 --> 00:00:37,990 >> E así algún do material que estamos vai pasar por riba hoxe, non temos 11 00:00:37,990 --> 00:00:39,670 realmente falado en clase. 12 00:00:39,670 --> 00:00:40,410 Pero imos en breve. 13 00:00:40,410 --> 00:00:42,360 Será como SQL, JavaScript. 14 00:00:42,360 --> 00:00:44,870 E nós realmente non teño ido sobre el. 15 00:00:44,870 --> 00:00:47,730 Así podo clasificar de voo por el, e pode non saber algunhas cousas. 16 00:00:47,730 --> 00:00:48,890 Pero pronto, vai aprender. 17 00:00:48,890 --> 00:00:52,080 E todo iso vai facer sentido. 18 00:00:52,080 --> 00:00:54,010 Tamén outra cousa - 19 00:00:54,010 --> 00:00:55,780 permanecer ético. 20 00:00:55,780 --> 00:01:00,560 Algunhas das cousas que aprende, vostede podería usar de forma non ética. 21 00:01:00,560 --> 00:01:01,950 >> Se é o seu, definitivamente probar. 22 00:01:01,950 --> 00:01:04,500 Eu sempre motivar vostedes para tratar os seus propios servidores, proba 23 00:01:04,500 --> 00:01:05,519 suceder dentro deles. 24 00:01:05,519 --> 00:01:08,500 Vexa se pode penetrar neles, se pode obter dentro deles. 25 00:01:08,500 --> 00:01:09,560 Pero non de calquera outra persoa. 26 00:01:09,560 --> 00:01:12,390 Policías non me gusta moito das bromas e o todo, imos poñer isto aquí. 27 00:01:12,390 --> 00:01:14,040 Estabamos a xogar. 28 00:01:14,040 --> 00:01:15,780 Fican con moita rabia. 29 00:01:15,780 --> 00:01:18,700 >> Cabeza Así, ao longo deste sitio web. 30 00:01:18,700 --> 00:01:23,560 Teño que abriu aquí. 31 00:01:23,560 --> 00:01:26,780 Este é un sitio web, e ten unha morea de exemplos. 32 00:01:26,780 --> 00:01:30,000 O que pasa é que o primeiro exemplo é unha especie de será moito máis fácil 33 00:01:30,000 --> 00:01:33,470 que o último exemplo, nun sentido que o primeiro exemplo 34 00:01:33,470 --> 00:01:34,970 é totalmente certo. 35 00:01:34,970 --> 00:01:40,850 E a última é unha especie do que un persoa normal seguridade web faría. 36 00:01:40,850 --> 00:01:42,760 Pero aínda pode tipo de evitar isto. 37 00:01:42,760 --> 00:01:44,860 E imos centrar nunha e dous, un e dous exemplos. 38 00:01:44,860 --> 00:01:49,880 39 00:01:49,880 --> 00:01:49,920 >> Aceptar. 40 00:01:49,920 --> 00:01:52,780 Imos comezar co cross-site scripting. 41 00:01:52,780 --> 00:01:56,100 JavaScript é executado en navegador do cliente. 42 00:01:56,100 --> 00:01:59,980 É unha linguaxe de programación que usa para ser executado no navegador do cliente para 43 00:01:59,980 --> 00:02:04,120 non ten que actualizar a páxina e volver ao servidor. 44 00:02:04,120 --> 00:02:04,940 Ten que correr. 45 00:02:04,940 --> 00:02:08,870 Por exemplo, Facebook, non ten para volver cargar a páxina web para novo estado 46 00:02:08,870 --> 00:02:09,710 Actualizacións para subir. 47 00:02:09,710 --> 00:02:12,170 Está a usar JavaScript para xerar todas esas cousas. 48 00:02:12,170 --> 00:02:16,290 Así, podemos inxectar JavaScript malicioso para os sitios. 49 00:02:16,290 --> 00:02:20,890 E así, cando enviamos unha ligazón a alguén, poderiamos tipo de envialo con 50 00:02:20,890 --> 00:02:23,050 parte do código que queremos. 51 00:02:23,050 --> 00:02:26,450 >> Hai persistente e non persistente JavaScript - 52 00:02:26,450 --> 00:02:30,640 -Cross web persistente e non persistente script, quero dicir. 53 00:02:30,640 --> 00:02:33,760 E a diferenza é que persistente é JavaScript que será 54 00:02:33,760 --> 00:02:36,060 gardados na páxina web. 55 00:02:36,060 --> 00:02:39,780 E non persistente será JavaScript que realmente vai ocorrer só unha vez. 56 00:02:39,780 --> 00:02:41,795 Entón, imos ollar un exemplo rapidamente. 57 00:02:41,795 --> 00:02:45,660 58 00:02:45,660 --> 00:02:46,130 >> Aceptar. 59 00:02:46,130 --> 00:02:51,620 Entón este sitio web, simple, nada acontece aquí. 60 00:02:51,620 --> 00:02:53,070 E imos tratar introducir algún JavaScript. 61 00:02:53,070 --> 00:02:58,110 Entón, a nosa forma de comezar a escribir JavaScript é que comezamos co script comezando. 62 00:02:58,110 --> 00:03:00,570 E nós pechalo con guión. 63 00:03:00,570 --> 00:03:03,770 Estamos indo simplemente para poñer unha mensaxe - 64 00:03:03,770 --> 00:03:05,410 Eu vou te amosar - 65 00:03:05,410 --> 00:03:06,500 alerta. 66 00:03:06,500 --> 00:03:11,150 Alerta é unha función que Javascript utiliza para presentar algo. 67 00:03:11,150 --> 00:03:12,400 Entón, imos tentar iso ben rápido. 68 00:03:12,400 --> 00:03:15,600 69 00:03:15,600 --> 00:03:18,944 Eu estou indo a ir, Ola alerta. 70 00:03:18,944 --> 00:03:20,400 Ben, eu esquezo de poñer - 71 00:03:20,400 --> 00:03:24,510 72 00:03:24,510 --> 00:03:25,460 Aceptar. 73 00:03:25,460 --> 00:03:26,540 Entón, iso é simple. 74 00:03:26,540 --> 00:03:28,730 >> Poñemos JavaScript nun sitio web, e el veu. 75 00:03:28,730 --> 00:03:31,200 E iso medio que só acontece na nosa web, non? 76 00:03:31,200 --> 00:03:33,040 Entón, parece que non é un problema, non? 77 00:03:33,040 --> 00:03:34,920 Quero dicir, como podería usar esta maliciosa? 78 00:03:34,920 --> 00:03:39,930 Así, a forma que os hackers fan este é realmente sinxelo. 79 00:03:39,930 --> 00:03:40,970 Eles van agarralo. 80 00:03:40,970 --> 00:03:43,750 Poden enviar este enlace para ti. 81 00:03:43,750 --> 00:03:46,780 Se eu vou enviar este enlace para vostede agora, e abri-lo, que vai 82 00:03:46,780 --> 00:03:51,620 dicir, Ola, dicindo que o meu sitio está dicindo Olá 83 00:03:51,620 --> 00:03:57,280 >> E por iso, se eu fose dicir algo un algo máis intelixente, se eu tirar unha 84 00:03:57,280 --> 00:03:59,880 JavaScript función eu medio de xa escribiu - 85 00:03:59,880 --> 00:04:03,940 pero se ollar para el, eu vou sobre el antes de que eu escribín. 86 00:04:03,940 --> 00:04:06,650 Entón, nós estamos indo a definir un tempo límite. 87 00:04:06,650 --> 00:04:08,450 Imos esperar por un par de segundos. 88 00:04:08,450 --> 00:04:13,970 De feito, imos esperar, se Eu non me engano, cinco segundos. 89 00:04:13,970 --> 00:04:15,870 Iso vale en milisegundos. 90 00:04:15,870 --> 00:04:18,640 E entón o que imos facer é que estamos vai alertar que a sesión 91 00:04:18,640 --> 00:04:21,459 caducou a sesión para atrás dentro 92 00:04:21,459 --> 00:04:23,990 E nós estamos indo a cambiar o lugar a un lugar diferente. 93 00:04:23,990 --> 00:04:30,370 94 00:04:30,370 --> 00:04:32,970 >> Entón, se eu enviar esta web a alguén, eles van ser 95 00:04:32,970 --> 00:04:34,380 navegando por aí, calma. 96 00:04:34,380 --> 00:04:35,650 Nada está a suceder. 97 00:04:35,650 --> 00:04:38,550 E en cinco segundos, que vai é dicir, a súa versión caducou. 98 00:04:38,550 --> 00:04:40,200 Por favor, conectar atrás dentro 99 00:04:40,200 --> 00:04:43,400 Xa que premer en Aceptar, vou levalos para outro sitio. 100 00:04:43,400 --> 00:04:45,980 Presuntamente, o sitio vai ser semellante ao sitio web que 101 00:04:45,980 --> 00:04:47,280 en que estaban antes. 102 00:04:47,280 --> 00:04:50,770 E eles van para rexistrar a súa credenciais para o meu sitio, no canto de 103 00:04:50,770 --> 00:04:51,850 seu sitio. 104 00:04:51,850 --> 00:04:54,780 >> E para que eu poida enviar persoas unha enviar correo-e con este link. 105 00:04:54,780 --> 00:04:56,240 Digo, oh, aquí está unha ligazón. 106 00:04:56,240 --> 00:04:57,290 Este é un banco, por exemplo. 107 00:04:57,290 --> 00:05:01,390 Digo, aquí, vaia nesta ligazón. 108 00:05:01,390 --> 00:05:03,730 E xa que envialo, son estará navegando por aí. 109 00:05:03,730 --> 00:05:07,560 Podo esperar por 15 segundos, 20 segundos e logo pop que Favor entrar de novo 110 00:05:07,560 --> 00:05:08,840 asinar de novo. 111 00:05:08,840 --> 00:05:10,120 Podedes probalo con moito máis cousas. 112 00:05:10,120 --> 00:05:13,190 É complicado porque vostedes non vin JavaScript, entón pode 113 00:05:13,190 --> 00:05:14,750 Non sei algunhas funcións. 114 00:05:14,750 --> 00:05:18,625 Pero todo o que tes que facer é comezar con guión, acabar con guión. 115 00:05:18,625 --> 00:05:22,105 116 00:05:22,105 --> 00:05:25,510 E pode poñer calquera cousa no medio. 117 00:05:25,510 --> 00:05:27,350 >> Alerta é unha función, por favor espere. 118 00:05:27,350 --> 00:05:29,365 Localización Xanela leva a unha nova localización. 119 00:05:29,365 --> 00:05:31,370 Pero pode facer moito máis. 120 00:05:31,370 --> 00:05:32,630 E así, a idea é que que aproveitar iso. 121 00:05:32,630 --> 00:05:39,350 Se eu fose a exemplo dous, e eu posto neste mesmo código, é 122 00:05:39,350 --> 00:05:40,210 Non vai funcionar. 123 00:05:40,210 --> 00:05:43,620 Entón está imprimindo todo fora debido o que esta web orixinalmente 124 00:05:43,620 --> 00:05:50,350 fai é se eu poñer calquera cousa aquí, vai imprimir lo aquí. 125 00:05:50,350 --> 00:05:52,390 Polo tanto, non é a impresión de nada. 126 00:05:52,390 --> 00:05:55,560 Este exemplo é, en realidade, a comprobación a ver se o guión está aí. 127 00:05:55,560 --> 00:05:57,163 Entón, si, vai adiante. 128 00:05:57,163 --> 00:05:57,606 Pregunta-me. 129 00:05:57,606 --> 00:05:59,560 >> Audiencia: non está enviando unha solicitude GET ou POST? 130 00:05:59,560 --> 00:06:00,670 >> Luciano Arango: Yeah. son envío dunha solicitude get. 131 00:06:00,670 --> 00:06:01,350 >> Audiencia: É? 132 00:06:01,350 --> 00:06:02,490 >> Luciano Arango: Yeah. 133 00:06:02,490 --> 00:06:04,030 Tamén navegadores usan solicitudes POST. 134 00:06:04,030 --> 00:06:07,470 Pero eu estou tentando amosar solicitudes get para que poidamos ver o que está 135 00:06:07,470 --> 00:06:10,760 realmente a suceder. 136 00:06:10,760 --> 00:06:12,880 E así, se miramos cara ao código - polo que non funciona máis. 137 00:06:12,880 --> 00:06:24,870 E se derme un ollo neste código, que será no exemplo dous. 138 00:06:24,870 --> 00:06:29,300 Que esta persoa está facendo, a persoa responsable deste navegador - 139 00:06:29,300 --> 00:06:35,370 abrirse, OK - 140 00:06:35,370 --> 00:06:39,290 está substituíndo a escritura palabra. 141 00:06:39,290 --> 00:06:42,850 Este é PHP, o que vostedes poderían vin un pouco aínda. 142 00:06:42,850 --> 00:06:46,250 >> Está só substituíndo o guión de palabra co nome. 143 00:06:46,250 --> 00:06:50,895 Entón, con todo, se eu ir adiante e pode poñer en - 144 00:06:50,895 --> 00:06:58,520 145 00:06:58,520 --> 00:07:02,360 se eu incorporarse o meu código de novo, e eu vou modificalo lo un pouco. 146 00:07:02,360 --> 00:07:15,010 No canto de guión, eu vou cambiar el para a escritura cun capital R. E 147 00:07:15,010 --> 00:07:16,390 imos ver se este código funciona. 148 00:07:16,390 --> 00:07:19,090 Entón non imprimir lo, que é un bo sinal. 149 00:07:19,090 --> 00:07:21,990 E espero que en máis de dous segundos, que vai aparecer. 150 00:07:21,990 --> 00:07:22,820 >> Súa versión caducou. 151 00:07:22,820 --> 00:07:23,210 Aceptar. 152 00:07:23,210 --> 00:07:24,460 Está todo ben. 153 00:07:24,460 --> 00:07:27,670 Así, a verificación de guión pode non necesariamente traballar. 154 00:07:27,670 --> 00:07:28,130 A persoa - 155 00:07:28,130 --> 00:07:32,290 Tamén pode buscar por letras maiúsculas script, minúsculas guión, caso str 156 00:07:32,290 --> 00:07:34,180 comparar, comproba que son os mesmos. 157 00:07:34,180 --> 00:07:38,480 Pero o hacker pode facer unha especie do que fixemos en Vigenère cando nos mudamos 158 00:07:38,480 --> 00:07:40,620 personaxes de volta unha parella, avanzar. 159 00:07:40,620 --> 00:07:43,470 E pode descubrir como poñer guión volver alí para que poida inxectar 160 00:07:43,470 --> 00:07:44,460 que guión. 161 00:07:44,460 --> 00:07:50,370 >> Entón, o que quere usar é a htmlspecialchars 162 00:07:50,370 --> 00:07:51,330 protexer o seu sitio web. 163 00:07:51,330 --> 00:07:56,490 E o que isto significa que fai Asegúrese de que o que poñer na - 164 00:07:56,490 --> 00:07:59,610 por exemplo, citas ou este superior ou inferior a - 165 00:07:59,610 --> 00:08:04,701 substitúese con algo que non será - 166 00:08:04,701 --> 00:08:05,951 déixeme achegar por aquí - 167 00:08:05,951 --> 00:08:08,730 168 00:08:08,730 --> 00:08:09,685 o comercial real. 169 00:08:09,685 --> 00:08:13,420 Ha substituír aqueles HTML especial personaxes que veremos cando estivermos 170 00:08:13,420 --> 00:08:14,670 falando - 171 00:08:14,670 --> 00:08:18,635 172 00:08:18,635 --> 00:08:20,740 Oh, iso me vai levar de volta a - 173 00:08:20,740 --> 00:08:24,220 174 00:08:24,220 --> 00:08:25,380 estes personaxes aquí mesmo. 175 00:08:25,380 --> 00:08:28,180 >> Estes significan que algo está chegando. 176 00:08:28,180 --> 00:08:31,570 A HTML, que soporte a comezar nos di que algo 177 00:08:31,570 --> 00:08:33,299 HTML relacionado está chegando. 178 00:08:33,299 --> 00:08:33,980 E queremos nos librar diso. 179 00:08:33,980 --> 00:08:36,200 Non queremos poñer HTML nun website.k Non queremos que o usuario sexa 180 00:08:36,200 --> 00:08:40,260 capaz de poñer algo na súa páxina web que poden afectar a súa web, como 181 00:08:40,260 --> 00:08:43,480 guión ou HTML ou algo parecido. 182 00:08:43,480 --> 00:08:53,090 O que é importante é que higienizar a entrada do usuario. 183 00:08:53,090 --> 00:08:54,720 >> Así, os usuarios poden entrada de moitas cousas. 184 00:08:54,720 --> 00:08:58,110 Pode introducir unha morea de cousas para intentar para enganar o navegador en aínda 185 00:08:58,110 --> 00:08:59,410 executar este código de script. 186 00:08:59,410 --> 00:09:02,870 O que quere facer é non só ollar para escritura, pero mirar para todo 187 00:09:02,870 --> 00:09:04,250 que poderían ser mal intencionado. 188 00:09:04,250 --> 00:09:06,800 E htmlspecialchars vai facelo para ti, así que non ten 189 00:09:06,800 --> 00:09:07,340 preocuparse con iso. 190 00:09:07,340 --> 00:09:12,280 Pero non tente facer por si mesmo tipo de co seu propio código. 191 00:09:12,280 --> 00:09:14,055 Está todo o mundo claro XSS? 192 00:09:14,055 --> 00:09:14,370 >> Aceptar. 193 00:09:14,370 --> 00:09:16,355 Imos para a inxección de SQL. 194 00:09:16,355 --> 00:09:21,010 Así, a inxección de SQL é probablemente a número un vulnerabilidade 195 00:09:21,010 --> 00:09:22,490 en diferentes sitios web. 196 00:09:22,490 --> 00:09:24,350 É dicir, un bo exemplo - 197 00:09:24,350 --> 00:09:27,350 Estaba buscando máis distante por iso. 198 00:09:27,350 --> 00:09:34,430 E atopei este artigo incrible, onde Vin que Harvard foi violado, 199 00:09:34,430 --> 00:09:35,390 foi cortado. 200 00:09:35,390 --> 00:09:37,370 E eu estaba a pensar, así, como eles farían iso? 201 00:09:37,370 --> 00:09:41,660 Harvard é a máis impresionante, a maioría garantir universidade nunca. 202 00:09:41,660 --> 00:09:43,850 Non? 203 00:09:43,850 --> 00:09:45,410 Ben, para violar os servidores, os hackers usaron unha 204 00:09:45,410 --> 00:09:47,710 técnica chamada inxección de SQL. 205 00:09:47,710 --> 00:09:50,250 >> Entón, iso pasa o día-a-día. 206 00:09:50,250 --> 00:09:53,590 A xente se esquecen de ter en conta para inxección de SQL. 207 00:09:53,590 --> 00:09:54,930 Harvard fai. 208 00:09:54,930 --> 00:10:00,050 Coido que di aquí, Princeton, Stanford, Cornell. 209 00:10:00,050 --> 00:10:03,550 Así coma nós - entón o que é ese SQL inxección que está traendo todo isto 210 00:10:03,550 --> 00:10:05,668 persoas para abaixo? 211 00:10:05,668 --> 00:10:08,010 Aceptar. 212 00:10:08,010 --> 00:10:12,090 Entón SQL é unha linguaxe de programación que que usan para acceder bases de datos. 213 00:10:12,090 --> 00:10:14,560 O que nós facemos é seleccionar - 214 00:10:14,560 --> 00:10:18,510 entón o que esta le agora é seleccionar todo a partir da táboa. 215 00:10:18,510 --> 00:10:22,640 >> SQL, el cambia a eses bancos de datos que teñen mesas cheas de información. 216 00:10:22,640 --> 00:10:26,550 Entón, elección de todo, dende os usuarios onde o nome é nome de usuario. 217 00:10:26,550 --> 00:10:28,120 Non? 218 00:10:28,120 --> 00:10:30,770 Moi sinxelo. 219 00:10:30,770 --> 00:10:34,490 A idea de inxección de SQL é que nós inserir algún código malicioso que faría 220 00:10:34,490 --> 00:10:37,270 enganar o servidor para realizar algo diferente do que o que 221 00:10:37,270 --> 00:10:38,430 orixinalmente estaba correndo. 222 00:10:38,430 --> 00:10:44,970 Entón, digamos que o nome de usuario, que poñemos en 1 ou igual a 1. 223 00:10:44,970 --> 00:10:46,700 Entón poñemos nunha ou igual a 1. 224 00:10:46,700 --> 00:10:49,890 A forma como vai ler agora será seleccionar dos usuarios, todo de 225 00:10:49,890 --> 00:10:51,360 usuarios - iso é todo - 226 00:10:51,360 --> 00:10:55,880 onde nome é nome de usuario, pero nome de usuario é ou 1 é igual a 1. 227 00:10:55,880 --> 00:11:01,760 >> Así, o nome non é nada ou 1 é igual a 1. 228 00:11:01,760 --> 00:11:04,060 1 é igual a 1 sempre é certo. 229 00:11:04,060 --> 00:11:07,690 Entón, iso vai sempre volver información dos usuarios. 230 00:11:07,690 --> 00:11:08,100 Aceptar. 231 00:11:08,100 --> 00:11:10,030 Non necesitamos ter a nome de usuario correcto. 232 00:11:10,030 --> 00:11:14,240 Podemos só ter todo o que queremos, e ha voltar información 233 00:11:14,240 --> 00:11:15,690 que precisamos. 234 00:11:15,690 --> 00:11:17,160 Vexamos outro exemplo. 235 00:11:17,160 --> 00:11:22,720 >> Se temos todo, dende a elección do usuario, onde nome é usuarios DROP TABLE - 236 00:11:22,720 --> 00:11:26,420 entón o que pensas que isto vai facer se eu poñer o nome de usuario 237 00:11:26,420 --> 00:11:29,560 como usuarios DROP TABLE? 238 00:11:29,560 --> 00:11:30,230 Alguén ten unha idea? 239 00:11:30,230 --> 00:11:31,050 Si 240 00:11:31,050 --> 00:11:32,470 >> Audiencia: Vai dicir el para despexar todas as táboas. 241 00:11:32,470 --> 00:11:35,460 >> Luciano Arango: Vai dicirnos para despexar todo na páxina web, 242 00:11:35,460 --> 00:11:38,290 todo na base de datos. 243 00:11:38,290 --> 00:11:41,910 E o que as persoas usan iso para - así Vou amosar para vós. 244 00:11:41,910 --> 00:11:45,462 Eu desativei soltando as táboas porque eu non quero que 245 00:11:45,462 --> 00:11:48,240 caras para botar miñas táboas. 246 00:11:48,240 --> 00:11:49,850 Imos dar un ollo niso. 247 00:11:49,850 --> 00:11:54,410 Polo tanto, este tira simplemente a información para unha determinada persoa. 248 00:11:54,410 --> 00:11:57,550 Entón, como imos ver se isto é afectados por inxección de SQL. 249 00:11:57,550 --> 00:12:01,545 Imos comprobar rapidamente se é que podemos poñer algo - 250 00:12:01,545 --> 00:12:04,990 251 00:12:04,990 --> 00:12:06,080 déixeme copiar este código. 252 00:12:06,080 --> 00:12:08,140 Vou pasar por iso nun segundo. 253 00:12:08,140 --> 00:12:12,210 Vou poñer raíz e 1 é igual a 1. 254 00:12:12,210 --> 00:12:15,510 >> Este aquí, este por cento sinal de 23 - 255 00:12:15,510 --> 00:12:19,970 o que realmente é, se eu ollar aquí na - 256 00:12:19,970 --> 00:12:23,820 a forma como HTML ten en números, se dar un ollo cando poño nun espazo 257 00:12:23,820 --> 00:12:28,380 aquí - se eu fose para o espazo algo aquí, ela cambia-lo para un por cento 2. 258 00:12:28,380 --> 00:12:31,420 Vostedes vexa iso aquí cando poño nun espazo? 259 00:12:31,420 --> 00:12:36,710 O modo como funciona é que só se pode enviar valores ASCII mediante HTML. 260 00:12:36,710 --> 00:12:40,330 Así, substitúe, por exemplo, un espazo con 20 por cento. 261 00:12:40,330 --> 00:12:41,970 Non sei se vostedes xa vin iso antes. 262 00:12:41,970 --> 00:12:45,100 >> El substitúe unha hashtag con cento 23. 263 00:12:45,100 --> 00:12:50,840 Nós ten unha hashtag ao final ou declaración, para que poidamos dicir a 264 00:12:50,840 --> 00:13:00,885 base de datos para esqueza comentar este último punto e coma ao final. 265 00:13:00,885 --> 00:13:03,060 Queremos que non pensar sobre iso. 266 00:13:03,060 --> 00:13:05,980 Nós só queremos que sexa executado todo que temos de antemán e 267 00:13:05,980 --> 00:13:07,450 comentar isto. 268 00:13:07,450 --> 00:13:08,710 Imos dar un ollo niso. 269 00:13:08,710 --> 00:13:14,670 >> Entón, se eu fose poñer algo incorrecto - imos dicir, por exemplo, eu coloque dous iguais 270 00:13:14,670 --> 00:13:15,690 1, non me dá nada. 271 00:13:15,690 --> 00:13:22,930 Cando engada en 1 é igual a 1, e fai voltar algo, iso me di que 272 00:13:22,930 --> 00:13:24,660 este é vulnerable a unha inxección SQL. 273 00:13:24,660 --> 00:13:29,090 Agora sei que o que quere Coloque despois desta - 274 00:13:29,090 --> 00:13:39,110 e, por exemplo, descartar táboas ou algo así 275 00:13:39,110 --> 00:13:41,190 vai certamente funcionar. 276 00:13:41,190 --> 00:13:44,350 Sei que é vulnerable a inxección de SQL porque sei que 277 00:13:44,350 --> 00:13:49,850 debaixo do capó, está deixando me facer o 1 é igual a 1 cousa. 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 miramos para estas outras, número dous e número tres, é 281 00:13:56,540 --> 00:13:59,110 vai facer un pouco máis de verificación por baixo da 282 00:13:59,110 --> 00:14:03,680 capo do que se trata. 283 00:14:03,680 --> 00:14:07,425 Así, calquera persoa permitir a caída aínda nada nin intentou? 284 00:14:07,425 --> 00:14:08,760 Vostedes especie de obter SQL aínda? 285 00:14:08,760 --> 00:14:10,430 Porque sei que vós non ten viu aínda, entón é medio 286 00:14:10,430 --> 00:14:11,759 confuso para vós. 287 00:14:11,759 --> 00:14:16,160 288 00:14:16,160 --> 00:14:18,480 Imos dar un ollo. 289 00:14:18,480 --> 00:14:21,270 Entón, cal é o camiño para evitar SQLI? 290 00:14:21,270 --> 00:14:21,390 Aceptar. 291 00:14:21,390 --> 00:14:23,330 Entón, iso é moi importante porque caras definitivamente querer evitar 292 00:14:23,330 --> 00:14:24,090 iso nos seus sitios. 293 00:14:24,090 --> 00:14:28,040 >> Se non, todos os seus amigos están indo para aproveitar sarria de ti cando caer todo 294 00:14:28,040 --> 00:14:29,390 súas tabelas. 295 00:14:29,390 --> 00:14:36,150 Así, a idea é que arranxar o SQL de certa forma, mentres combinar 296 00:14:36,150 --> 00:14:41,940 que as entradas do usuario con unha determinada cadea. 297 00:14:41,940 --> 00:14:46,120 Así, a forma como funciona isto é vostede preparar a base de datos. 298 00:14:46,120 --> 00:14:50,830 Selecciona un nome, cor e calor desde unha base de datos chamada froita. 299 00:14:50,830 --> 00:14:53,580 E entón onde está a menos de calor, e imos poñer un punto de interrogación alí 300 00:14:53,580 --> 00:14:56,530 dicindo que nós estamos indo para a entrada algo nun segundo. 301 00:14:56,530 --> 00:14:58,850 >> E a cor é igual, e poñemos unha pregunta marca dicindo que imos 302 00:14:58,850 --> 00:15:00,913 entrada algo nun segundo ben. 303 00:15:00,913 --> 00:15:02,660 OK? 304 00:15:02,660 --> 00:15:09,920 E, entón, executalo, poñendo en 150 e vermello. 305 00:15:09,920 --> 00:15:12,820 E iso vai comprobe Asegúrese de que estes dous - 306 00:15:12,820 --> 00:15:15,300 esa matriz pode comprobar que estes dous son un enteiro e 307 00:15:15,300 --> 00:15:16,550 que este é un cadea. 308 00:15:16,550 --> 00:15:18,810 309 00:15:18,810 --> 00:15:20,890 Entón nós imos, e imos buscar todo, imos poñer-la en vermello. 310 00:15:20,890 --> 00:15:21,964 Isto significa que buscar todos. 311 00:15:21,964 --> 00:15:26,790 Isto significa que realmente executar SQL declaración e poñelas de novo en vermello. 312 00:15:26,790 --> 00:15:30,530 Aquí imos facer o mesmo, pero nós facer o mesmo para amarelo. 313 00:15:30,530 --> 00:15:32,490 E nós buscar todos. 314 00:15:32,490 --> 00:15:36,140 >> E, deste xeito, podemos evitar que o usuario de poder introducir algo 315 00:15:36,140 --> 00:15:41,710 que non é o que nós indicado, unha cadea ou un número enteiro, por exemplo. 316 00:15:41,710 --> 00:15:45,100 317 00:15:45,100 --> 00:15:46,610 Eu estaba falando anteriormente sobre depender doutros. 318 00:15:46,610 --> 00:15:50,010 Cando vostedes iniciar o seu proxecto, está máis definitivamente vai utilizar 319 00:15:50,010 --> 00:15:52,310 inicio ou algo semellante. 320 00:15:52,310 --> 00:15:53,490 Vós xa usa WordPress? 321 00:15:53,490 --> 00:15:57,170 Probablemente vostedes teñen usado WordPress máis probable. 322 00:15:57,170 --> 00:16:00,050 Así, o problema co uso cousas doutras persoas - 323 00:16:00,050 --> 00:16:05,940 Eu só vou a Google ben rápido Vulnerabilidade WordPress. 324 00:16:05,940 --> 00:16:07,495 >> Se eu conseguir isto ata agora - 325 00:16:07,495 --> 00:16:08,995 Eu literalmente fixo un dous segundo Google. 326 00:16:08,995 --> 00:16:12,300 327 00:16:12,300 --> 00:16:13,800 Podemos ver que o WordPress - 328 00:16:13,800 --> 00:16:17,450 este é datado en setembro '12. 329 00:16:17,450 --> 00:16:19,120 26 é actualizado. 330 00:16:19,120 --> 00:16:23,620 A configuración por defecto do WordPress antes de 3.6 non impide que estes 331 00:16:23,620 --> 00:16:27,110 certos envíos, o que pode facer máis doado para 332 00:16:27,110 --> 00:16:29,790 ataques cross-site scripting. 333 00:16:29,790 --> 00:16:34,530 Así, unha historia rápida, xa que estabamos a traballar con - así que eu era, no verán, traballando un 334 00:16:34,530 --> 00:16:34,970 prácticas. 335 00:16:34,970 --> 00:16:40,400 E nós estabamos a traballar cunha especie de como unha gran empresa de tarxeta de crédito. 336 00:16:40,400 --> 00:16:42,020 >> E contan con algo chamado - 337 00:16:42,020 --> 00:16:45,740 Non sei se vostedes xa xogou cun produto chamado Joomla. 338 00:16:45,740 --> 00:16:51,750 Joomla é un produto que se usa para control - unha especie de similar ao 339 00:16:51,750 --> 00:16:54,340 WordPress, usado para construír sitios web. 340 00:16:54,340 --> 00:16:56,060 Entón eles tiveron o seu sitio traballando en Joomla. 341 00:16:56,060 --> 00:16:59,290 É dicir, en realidade, unha tarxeta de crédito empresa en Colombia. 342 00:16:59,290 --> 00:17:01,000 Vou leva-lo ao seu web rapidamente. 343 00:17:01,000 --> 00:17:04,550 344 00:17:04,550 --> 00:17:05,400 >> Entón, eles usaron o Joomla. 345 00:17:05,400 --> 00:17:08,630 E eles non tiñan actualizado Joomla para a última adición. 346 00:17:08,630 --> 00:17:12,160 E así, cando estabamos dando un ollo en o seu código, fomos capaces de realmente 347 00:17:12,160 --> 00:17:18,430 ir dentro do seu código e roubar todo o información de tarxeta de crédito que eles tiñan, 348 00:17:18,430 --> 00:17:21,670 todos os números de tarxeta de crédito, os nomes, os enderezos. 349 00:17:21,670 --> 00:17:22,740 E este foi só - 350 00:17:22,740 --> 00:17:23,569 eo seu código foi perfectamente ben. 351 00:17:23,569 --> 00:17:24,710 Tiñan gran código. 352 00:17:24,710 --> 00:17:25,389 Era toda seguridade. 353 00:17:25,389 --> 00:17:26,520 Eles Checa todos os bancos de datos. 354 00:17:26,520 --> 00:17:29,020 Fixeron-se cross-site script estaba ben. 355 00:17:29,020 --> 00:17:34,390 >> Pero utilizaban algo que non era actualizado, que non era seguro. 356 00:17:34,390 --> 00:17:36,940 E así que os levou a - entón vostedes está indo definitivamente para utilizar outro 357 00:17:36,940 --> 00:17:40,650 código, frameworks doutras persoas do pobo para construír o seu sitio. 358 00:17:40,650 --> 00:17:43,860 Asegúrese de que son seguros, porque ás veces non é vostede, o que 359 00:17:43,860 --> 00:17:44,480 comete un erro. 360 00:17:44,480 --> 00:17:47,440 Pero alguén comete un erro, e entón caer por causa diso. 361 00:17:47,440 --> 00:17:51,190 362 00:17:51,190 --> 00:17:53,885 >> Claves e PII. 363 00:17:53,885 --> 00:17:56,820 Así contrasinais. 364 00:17:56,820 --> 00:17:58,070 Aceptar. 365 00:17:58,070 --> 00:17:59,980 366 00:17:59,980 --> 00:18:04,230 Imos dar un ollo a contrasinais rapidamente. 367 00:18:04,230 --> 00:18:04,590 Aceptar. 368 00:18:04,590 --> 00:18:06,520 Por favor me diga que todos usa seguro - 369 00:18:06,520 --> 00:18:09,030 Espero que todos aquí usa contrasinais seguras. 370 00:18:09,030 --> 00:18:12,890 Estou só deixando que como unha suposición. 371 00:18:12,890 --> 00:18:14,850 Entón vostedes están indo definitivamente para almacenar contrasinais para os seus sitios web. 372 00:18:14,850 --> 00:18:17,440 Vai facer algo parecido un login ou algo así. 373 00:18:17,440 --> 00:18:19,610 O que é importante é non gardar contrasinais en texto simple. 374 00:18:19,610 --> 00:18:20,860 Isto é moi importante. 375 00:18:20,860 --> 00:18:23,960 Non quere para almacenar unha contrasinal sen cifrar. 376 00:18:23,960 --> 00:18:27,370 >> E vostede definitivamente non quere realmente para almacena-lo nun hash dunha maneira. 377 00:18:27,370 --> 00:18:32,440 Entón, o que un hash é un xeito que, cando xerar unha palabra, cando se pon este 378 00:18:32,440 --> 00:18:36,200 palabra nunha función hash, será xerar atrás algún tipo de críptica 379 00:18:36,200 --> 00:18:39,390 mensaxe ou conxunto enigmática das chaves. 380 00:18:39,390 --> 00:18:40,640 Vou amosar-lle un exemplo. 381 00:18:40,640 --> 00:18:44,620 382 00:18:44,620 --> 00:18:50,250 Vou botar eles password1 palabra. 383 00:18:50,250 --> 00:18:55,280 Suma MD5 Entón me vai voltar algún tipo de información estraña. 384 00:18:55,280 --> 00:18:59,140 >> O problema é que a xente por aí que quere entrar en sitios teñen 385 00:18:59,140 --> 00:19:02,750 xa descubriu tipo de todos os hashes MD5. 386 00:19:02,750 --> 00:19:06,030 O que fixeron e se sentaron no seu ordenadores, e eles hash cada 387 00:19:06,030 --> 00:19:09,660 soa palabra posible por aí, ata teñen unha especie de o que é iso. 388 00:19:09,660 --> 00:19:11,420 Se eu fose ollar iso - 389 00:19:11,420 --> 00:19:12,420 Eu só peguei ese hash. 390 00:19:12,420 --> 00:19:14,120 Se eu conseguir este hash - 391 00:19:14,120 --> 00:19:17,470 se eu entrar nun sitio web, e eu creo ese hash, porque eu chegar ao 392 00:19:17,470 --> 00:19:24,100 bases de datos, e eu buscalo, alguén xa entender iso por min. 393 00:19:24,100 --> 00:19:28,600 394 00:19:28,600 --> 00:19:29,100 >> É. 395 00:19:29,100 --> 00:19:35,030 Entón, as persoas sentaron-se, e todo o md5 hash que poñer, van 396 00:19:35,030 --> 00:19:37,760 voltar a vostede algo que é unha palabra. 397 00:19:37,760 --> 00:19:39,800 Se eu botar outra palabra, como - 398 00:19:39,800 --> 00:19:42,410 Eu non sei - 399 00:19:42,410 --> 00:19:43,490 trees2. 400 00:19:43,490 --> 00:19:46,050 Eu non quero estar desapontado polas miñas procuras de Google. 401 00:19:46,050 --> 00:19:49,820 402 00:19:49,820 --> 00:19:52,780 Alí está, trees2. 403 00:19:52,780 --> 00:19:55,930 Entón, unha morea de sitios aínda usan suma MD5. 404 00:19:55,930 --> 00:19:57,730 Din que, oh, é seguro. 405 00:19:57,730 --> 00:19:58,570 Non estamos almacenando en texto simple. 406 00:19:58,570 --> 00:19:59,740 Temos este hash MD5. 407 00:19:59,740 --> 00:20:01,880 E todo o que teño que facer é só Google o número. 408 00:20:01,880 --> 00:20:03,940 >> Eu nin sequera teño que computar. 409 00:20:03,940 --> 00:20:06,790 Só podo buscar en Google, e alguén xa fixo iso por min. 410 00:20:06,790 --> 00:20:08,010 Aquí está unha morea deles. 411 00:20:08,010 --> 00:20:09,260 Aquí é unha morea de contrasinais. 412 00:20:09,260 --> 00:20:13,890 413 00:20:13,890 --> 00:20:18,680 Entón, en definitiva non usa hash MD5, porque todo o que necesitas 414 00:20:18,680 --> 00:20:19,140 facer é Google. 415 00:20:19,140 --> 00:20:20,390 Entón o que quere empregar no lugar? 416 00:20:20,390 --> 00:20:29,340 417 00:20:29,340 --> 00:20:30,170 Aceptar. 418 00:20:30,170 --> 00:20:31,260 Algo chamado de salgadura. 419 00:20:31,260 --> 00:20:32,460 Entón, o que salga é - 420 00:20:32,460 --> 00:20:36,280 Vostedes lembran cando eramos falando de forma aleatoria en - 421 00:20:36,280 --> 00:20:37,920 Eu non estou seguro do que PSET que era - 422 00:20:37,920 --> 00:20:41,140 foi el PSET alí ou catro? 423 00:20:41,140 --> 00:20:45,150 >> Estabamos falando de atopar a agulla no palheiro. 424 00:20:45,150 --> 00:20:48,480 E no pset, el dixo que podería realmente descubrir o que chou 425 00:20:48,480 --> 00:20:51,840 xera, porque alguén xa pasou aleatorios un millón de veces e só 426 00:20:51,840 --> 00:20:53,230 tipo de formado o que xeran. 427 00:20:53,230 --> 00:20:55,840 O que quere facer é poñer nunha entrada. 428 00:20:55,840 --> 00:20:57,130 Entón é iso que tipo de salgadura é. 429 00:20:57,130 --> 00:21:00,900 Xa descubrín o que salga regresa a cada traballo. 430 00:21:00,900 --> 00:21:04,750 >> Entón, o que fai é salgadura pór nun sal. 431 00:21:04,750 --> 00:21:06,160 Vostede pon nunha determinada palabra. 432 00:21:06,160 --> 00:21:09,720 E vai botar esa palabra, dependendo sobre o que poñer aquí. 433 00:21:09,720 --> 00:21:13,570 Entón, se eu botar un contrasinal con este sentenza, que vai botar 434 00:21:13,570 --> 00:21:17,180 diferente se eu botar password1 cunha frase distinta. 435 00:21:17,180 --> 00:21:21,670 É unha especie de dalo dun lugar a comezar a hashing para comezar. 436 00:21:21,670 --> 00:21:25,970 Por iso, é moito máis difícil de calcular, pero aínda pode calcula-lo, especialmente 437 00:21:25,970 --> 00:21:26,830 se usa un mal sal. 438 00:21:26,830 --> 00:21:29,650 >> Persoas xa tamén descubriu sales comúns e descubriu 439 00:21:29,650 --> 00:21:31,500 o que iso é. 440 00:21:31,500 --> 00:21:34,980 Sales aleatorias son moito mellor, pero a mellor maneira é utilizar 441 00:21:34,980 --> 00:21:38,160 unha cousa chamada cripta. 442 00:21:38,160 --> 00:21:40,480 E o que cripta permite que - de xeito que estas funcións son 443 00:21:40,480 --> 00:21:41,820 xa construído para ti. 444 00:21:41,820 --> 00:21:44,910 Moitas persoas esquecen que, ou esquecen-se de usalo. 445 00:21:44,910 --> 00:21:54,520 Pero se eu ollar para arriba cripta PHP, cripta xa volve unha cadea de hash para min. 446 00:21:54,520 --> 00:21:58,790 E realmente salga miúdo e hashes lo moitas veces. 447 00:21:58,790 --> 00:22:00,070 >> Entón, nós non temos que facelo. 448 00:22:00,070 --> 00:22:04,790 Entón todo o que tes que facer é envialo en cripta. 449 00:22:04,790 --> 00:22:08,170 E iso vai crear unha gran de hash sen lle ter que se preocupar de sal 450 00:22:08,170 --> 00:22:08,990 ou calquera cousa. 451 00:22:08,990 --> 00:22:12,000 Por se fose sal, ten para lembrar o que usou sal 452 00:22:12,000 --> 00:22:13,800 porque se non, non pode obter o seu contrasinal para atrás sen a 453 00:22:13,800 --> 00:22:15,760 sal que usou. 454 00:22:15,760 --> 00:22:17,010 Aceptar. 455 00:22:17,010 --> 00:22:21,120 456 00:22:21,120 --> 00:22:23,150 >> E tamén identificabel información. 457 00:22:23,150 --> 00:22:26,730 Entón, seguridade social, a unha tarxeta de crédito - iso é moi evidente. 458 00:22:26,730 --> 00:22:31,880 Pero ás veces a xente esquecen o xeito no que obras é, a cantidade de información que 459 00:22:31,880 --> 00:22:35,690 realmente precisa atopar algunha persoa? 460 00:22:35,690 --> 00:22:37,740 Alguén fixo un estudo sobre este un camiño de volta. 461 00:22:37,740 --> 00:22:40,870 E foi así, se ten un nome completo, vostede non pode atopar 462 00:22:40,870 --> 00:22:41,610 alguén que facilmente. 463 00:22:41,610 --> 00:22:43,900 Pero e se ten un nome completo ea súa data de nacemento? 464 00:22:43,900 --> 00:22:47,770 Isto é suficiente para identificar alguén especialmente? 465 00:22:47,770 --> 00:22:52,760 >> E se ten o seu nome e enderezo de rúa que vive? 466 00:22:52,760 --> 00:22:55,110 Isto é suficiente para atopar alguén? 467 00:22:55,110 --> 00:23:02,490 E iso é cando eles cuestionan, o que é información de identificación persoal, e 468 00:23:02,490 --> 00:23:05,360 o que ten que preocuparse non doar? 469 00:23:05,360 --> 00:23:08,770 Se doar identificabel información de que alguén lle dá, 470 00:23:08,770 --> 00:23:11,420 podería ser procesada. 471 00:23:11,420 --> 00:23:12,610 E nós definitivamente non queremos iso. 472 00:23:12,610 --> 00:23:14,955 >> Entón, cando está poñendo a súa web para fóra, e ten unha moi legal 473 00:23:14,955 --> 00:23:17,230 deseño, espero que fixo un proxecto final incrible. 474 00:23:17,230 --> 00:23:18,370 Calquera tipo de querer poñelas alí fora. 475 00:23:18,370 --> 00:23:21,420 Quere estar seguro de que todo o que está tirando do usuario, se é 476 00:23:21,420 --> 00:23:25,310 información de identificación persoal, Quere estar seguro de que está a ser realmente 477 00:23:25,310 --> 00:23:26,560 coidado con el. 478 00:23:26,560 --> 00:23:29,670 479 00:23:29,670 --> 00:23:31,080 >> Inxección Shell. 480 00:23:31,080 --> 00:23:31,350 Aceptar. 481 00:23:31,350 --> 00:23:37,590 Inxección Shell permite o invasor acceder á súa liña de comandos real 482 00:23:37,590 --> 00:23:39,660 no seu servidor. 483 00:23:39,660 --> 00:23:44,060 E así é capaz de executar código que non pode controlar. 484 00:23:44,060 --> 00:23:49,560 Imos dar un exemplo desta fermosa secuencia aquí. 485 00:23:49,560 --> 00:23:55,570 Ou tamén para o sitio de novo, eu son indo a ir á inxección de código. 486 00:23:55,570 --> 00:23:58,910 Entón, o que iso fai é - 487 00:23:58,910 --> 00:24:00,420 é tamén o que estabamos mirando antes. 488 00:24:00,420 --> 00:24:11,200 Estamos permitindo que o usuario poñer en calquera el quere, e só pode imprimir 489 00:24:11,200 --> 00:24:12,220 o que quere. 490 00:24:12,220 --> 00:24:13,890 >> Entón eu vou poñer unha chamada. 491 00:24:13,890 --> 00:24:15,540 Que dicir - 492 00:24:15,540 --> 00:24:16,940 que vai comezar pola concatenação. 493 00:24:16,940 --> 00:24:19,520 Por iso me deixa realizar calquera comandar carreira da persoa 494 00:24:19,520 --> 00:24:21,500 antes e meu mando. 495 00:24:21,500 --> 00:24:23,980 E eu estou executando un comando do sistema. 496 00:24:23,980 --> 00:24:27,310 E estes últimos cordas son - lembre se o que eu falei con vós sobre, 497 00:24:27,310 --> 00:24:31,725 mentres que ten que codificar lo nun método de URL. 498 00:24:31,725 --> 00:24:35,010 499 00:24:35,010 --> 00:24:36,992 Se eu executar iso agora - 500 00:24:36,992 --> 00:24:39,150 Eu vou te amosar por aquí - 501 00:24:39,150 --> 00:24:41,100 vai ver que eu rematar se executar un comando. 502 00:24:41,100 --> 00:24:45,700 503 00:24:45,700 --> 00:24:49,320 >> Este é realmente o servidor real que o meu sitio está en execución. 504 00:24:49,320 --> 00:24:55,840 505 00:24:55,840 --> 00:24:58,510 Entón, nós non queremos iso, porque eu podo correr - 506 00:24:58,510 --> 00:25:00,320 Este servidor non é o meu. 507 00:25:00,320 --> 00:25:04,030 Entón eu non quero romper a súa irmá, servidor de Marcus. 508 00:25:04,030 --> 00:25:07,470 Pero pode executar máis ordes que son perigosos. 509 00:25:07,470 --> 00:25:11,885 E potencialmente, pode borrar arquivos, borrar directorios. 510 00:25:11,885 --> 00:25:14,390 511 00:25:14,390 --> 00:25:17,970 Podo eliminar un determinado directorio se Quería, pero eu non quero 512 00:25:17,970 --> 00:25:19,530 facelo con Marcus. 513 00:25:19,530 --> 00:25:20,420 El é un cara legal. 514 00:25:20,420 --> 00:25:21,470 El me prestou o seu servidor. 515 00:25:21,470 --> 00:25:24,620 Entón eu vou deixar fóra na boa. 516 00:25:24,620 --> 00:25:32,280 >> Entón, o que nós non queremos usar - non facer quere usar eval ou sistema. 517 00:25:32,280 --> 00:25:34,755 Eval ou sistema permite facer estas chamadas do sistema. 518 00:25:34,755 --> 00:25:37,410 519 00:25:37,410 --> 00:25:38,410 Medios Eval avaliar. 520 00:25:38,410 --> 00:25:40,790 Sistema significa que eu execute. 521 00:25:40,790 --> 00:25:42,490 É realizar algo no sistema. 522 00:25:42,490 --> 00:25:46,730 Pero podemos prohibir estas cousas en PHP para que non usalos. 523 00:25:46,730 --> 00:25:47,400 E facer a carga de ficheiros. 524 00:25:47,400 --> 00:25:49,180 Eu ía facer unha incrible cousa con a carga de ficheiros. 525 00:25:49,180 --> 00:25:52,740 Pero, como dixen a vostedes, o meu arquivo cousa de carga non funciona. 526 00:25:52,740 --> 00:25:54,590 Se eu fose facer a carga de un arquivo de agora - 527 00:25:54,590 --> 00:25:57,120 528 00:25:57,120 --> 00:26:00,830 se eu fose facer a carga de un arquivo, e é unha imaxe - 529 00:26:00,830 --> 00:26:03,180 ten unha cousa de carga que é unha imaxe. 530 00:26:03,180 --> 00:26:03,660 Iso é bo. 531 00:26:03,660 --> 00:26:04,280 Nada acontece. 532 00:26:04,280 --> 00:26:10,840 >> Pero se ten un arquivo de subida, para exemplo, e que o usuario realmente envíos 533 00:26:10,840 --> 00:26:19,220 un arquivo PHP ou un arquivo exe ou algo así, entón podería potencialmente 534 00:26:19,220 --> 00:26:19,740 temos un problema. 535 00:26:19,740 --> 00:26:21,390 Este estaba a traballar antes. 536 00:26:21,390 --> 00:26:25,202 Desafortunadamente para min, é non funciona. 537 00:26:25,202 --> 00:26:30,230 Se eu, por exemplo, cargar este ficheiro, eu son non obtendo permiso para cargar 538 00:26:30,230 --> 00:26:33,400 o arquivo debido ao servidor non sendo a miña. 539 00:26:33,400 --> 00:26:38,670 Entón, o cara é moi intelixente. 540 00:26:38,670 --> 00:26:39,610 >> Entón, nós non queremos - 541 00:26:39,610 --> 00:26:40,130 Vou amosar para vós - 542 00:26:40,130 --> 00:26:41,840 OK, estas son algunhas ferramentas moi legais. 543 00:26:41,840 --> 00:26:45,100 Entón, estas - 544 00:26:45,100 --> 00:26:47,715 entrar - se vós ten Firefox - espero que fai. 545 00:26:47,715 --> 00:26:54,260 Hai dous add-ons chamados SQL Inject Eu e Cross-Site Script min. 546 00:26:54,260 --> 00:26:56,870 Abren-se tan pouco de lado bares xunto. 547 00:26:56,870 --> 00:27:01,480 E se eu fose para ir a CS60, por exemplo - 548 00:27:01,480 --> 00:27:04,210 entón o que fai é que parece para todas as formas que - 549 00:27:04,210 --> 00:27:07,220 550 00:27:07,220 --> 00:27:08,760 espero, eu non vou estar en apuros por iso. 551 00:27:08,760 --> 00:27:09,190 >> Pero Aceptar. 552 00:27:09,190 --> 00:27:12,600 Aquí está o sistema de pinos. 553 00:27:12,600 --> 00:27:18,946 Entón, cando comezar a buscar buratos no o sistema, o primeiro que fago é 554 00:27:18,946 --> 00:27:21,820 abrir esta pequena fermosa ferramenta no lado. 555 00:27:21,820 --> 00:27:24,160 E eu vou probar formas con ataques de automóbiles. 556 00:27:24,160 --> 00:27:28,510 E entón o que isto significa que vai lentamente abrir unha morea de navegadores. 557 00:27:28,510 --> 00:27:29,930 Aquí é unha morea de navegadores. 558 00:27:29,930 --> 00:27:33,320 E el está tratando cada combinación única de cross-site scripting 559 00:27:33,320 --> 00:27:37,380 que posibelmente sexa, se ve á beira. 560 00:27:37,380 --> 00:27:42,080 >> E me vai dar un resultado tipo de cal é a resposta. 561 00:27:42,080 --> 00:27:42,860 Todo pasar. 562 00:27:42,860 --> 00:27:43,910 Obviamente, todos eles pasan. 563 00:27:43,910 --> 00:27:46,190 Quero dicir, son moi intelixentes persoas alí enriba. 564 00:27:46,190 --> 00:27:48,010 Pero se eu fose a correr - 565 00:27:48,010 --> 00:27:52,050 Tiven momentos antes, cando eu executar este en proxectos finais dos alumnos. 566 00:27:52,050 --> 00:27:56,080 Eu simplemente executar SQL Inject Me con todos os ataques diferentes. 567 00:27:56,080 --> 00:28:00,080 E el está intentando inxectar SQL este servidor Pino. 568 00:28:00,080 --> 00:28:03,590 Entón, se nós rolar para abaixo, exemplo, el di - 569 00:28:03,590 --> 00:28:04,960 iso é bo, se volve. 570 00:28:04,960 --> 00:28:08,250 >> Por iso, deu algúns valores. 571 00:28:08,250 --> 00:28:11,170 E servidor devolveu un código que foi negativo. 572 00:28:11,170 --> 00:28:11,780 Eliminar temporalmente. 573 00:28:11,780 --> 00:28:13,030 Iso é bo. 574 00:28:13,030 --> 00:28:17,050 575 00:28:17,050 --> 00:28:20,750 Tenta todos eses probas. 576 00:28:20,750 --> 00:28:21,790 Entón, vostede podería simplemente executar - 577 00:28:21,790 --> 00:28:27,860 Gustaríame poder atopar un sitio real rápido, que me deixou - 578 00:28:27,860 --> 00:28:29,110 quizais a tenda CS50. 579 00:28:29,110 --> 00:28:43,890 580 00:28:43,890 --> 00:28:45,711 >> Guau, iso vai tomar un camiño moi longo. 581 00:28:45,711 --> 00:28:53,090 582 00:28:53,090 --> 00:28:55,130 Vou deixar a primeira proba non rematar ben. 583 00:28:55,130 --> 00:28:57,330 Por iso, está reclamando. 584 00:28:57,330 --> 00:28:58,470 Entón, estas son as tres cousas. 585 00:28:58,470 --> 00:29:00,430 Estas ferramentas son gratuítas. 586 00:29:00,430 --> 00:29:03,960 Podes baixa-los e executa-los en seu sitio, e só pode dicir-lle se 587 00:29:03,960 --> 00:29:06,650 ten cross-site scripting, se ten SQL, se ten 588 00:29:06,650 --> 00:29:07,900 algo parecido. 589 00:29:07,900 --> 00:29:12,230 590 00:29:12,230 --> 00:29:14,500 Eu son unha especie de desorde. 591 00:29:14,500 --> 00:29:15,550 >> O que é importante - 592 00:29:15,550 --> 00:29:17,900 OK, por iso nunca confiar no usuario. 593 00:29:17,900 --> 00:29:21,920 Calquera que sexan as entradas do usuario para ti, facer seguro de que higienizar-lo, limpa-lo, 594 00:29:21,920 --> 00:29:25,300 comprobar as cousas certas, que está dando o que 595 00:29:25,300 --> 00:29:28,240 quero que el para lle dar. 596 00:29:28,240 --> 00:29:32,460 Estea sempre actualizado sobre o que os cadros que en realidade está a usar. 597 00:29:32,460 --> 00:29:34,630 Se usar algo como arranque - 598 00:29:34,630 --> 00:29:36,340 Sei que vostedes van utilizar arrincar porque está indo a ir 599 00:29:36,340 --> 00:29:38,140 sobre iso en breve na clase - 600 00:29:38,140 --> 00:29:43,120 e WordPress ou algo parecido, normalmente isto pode ser cortado. 601 00:29:43,120 --> 00:29:44,770 >> E entón non necesita nin saber. 602 00:29:44,770 --> 00:29:45,800 Está só a executar o seu sitio. 603 00:29:45,800 --> 00:29:47,360 E é totalmente seguro. 604 00:29:47,360 --> 00:29:51,730 E vai para abaixo. 605 00:29:51,730 --> 00:29:54,000 Entón, eu estou pescando moi cedo. 606 00:29:54,000 --> 00:29:55,770 Pero quero agradecer Pentest Labs. 607 00:29:55,770 --> 00:29:58,140 Vou amosar para vós algo chamado Pentest Labs. 608 00:29:58,140 --> 00:30:05,000 Se vostedes están realmente interesados ​​en que a seguridade é realmente, hai unha 609 00:30:05,000 --> 00:30:07,300 sitio chamado Pentest Labs se vostedes van para iso agora. 610 00:30:07,300 --> 00:30:10,730 Oh, así, non é iso. 611 00:30:10,730 --> 00:30:12,030 Eu só vou para executa-lo así. 612 00:30:12,030 --> 00:30:14,400 Google di-me a resposta. 613 00:30:14,400 --> 00:30:16,590 >> Aceptar. 614 00:30:16,590 --> 00:30:19,030 E ensina usalo - por iso di, aprender a penetración web 615 00:30:19,030 --> 00:30:21,060 probar o camiño correcto. 616 00:30:21,060 --> 00:30:23,650 Ela ensínalle - 617 00:30:23,650 --> 00:30:25,150 espera-se, vostede é unha persoa ética. 618 00:30:25,150 --> 00:30:29,200 Pero el ensina como pode ollar como pode comezar dentro de sitios. 619 00:30:29,200 --> 00:30:31,130 E se aprender como pode entrar sitios, podes aprender a 620 00:30:31,130 --> 00:30:34,960 protexer-se de estar sitios dentro. 621 00:30:34,960 --> 00:30:39,100 Déixeme achegar porque quizais vostedes non están mirando para ese dereito. 622 00:30:39,100 --> 00:30:46,350 >> Da inxección de SQL que desembolsar, de xeito tipo de como podo comezar a partir de SQL 623 00:30:46,350 --> 00:30:48,530 inxección de desembolsar. 624 00:30:48,530 --> 00:30:53,890 E vostede descargue esta máquina virtual. 625 00:30:53,890 --> 00:30:55,690 E a máquina virtual xa vén co sitio web que está a 626 00:30:55,690 --> 00:30:56,780 indo a probalo. 627 00:30:56,780 --> 00:30:58,030 Fai a descarga deste PDF. 628 00:30:58,030 --> 00:31:03,610 629 00:31:03,610 --> 00:31:08,370 E el vai amosar liña por liña o que tes que facer, o que verifique. 630 00:31:08,370 --> 00:31:14,560 Isto é o que un atacante realmente fai para comezar dentro dun sitio web. 631 00:31:14,560 --> 00:31:15,750 >> E algunhas destas cousas é complicado. 632 00:31:15,750 --> 00:31:17,520 Gustaríame poder pasar por riba de máis cousas con vostedes. 633 00:31:17,520 --> 00:31:21,090 Pero eu me preocupo que vostedes non ten realmente - 634 00:31:21,090 --> 00:31:23,090 iso é o que eu fun con vostedes, probas web 635 00:31:23,090 --> 00:31:26,830 para probas de penetración. 636 00:31:26,830 --> 00:31:33,540 Realmente non sei que SQL é eo que - 637 00:31:33,540 --> 00:31:35,960 Seminario de Carl Jackson é incrible tamén. 638 00:31:35,960 --> 00:31:37,360 Vostedes non saben especie de que é iso. 639 00:31:37,360 --> 00:31:39,450 Pero se vai para o sitio, e vostede descargar estes tutoriais e estes 640 00:31:39,450 --> 00:31:43,290 PDFs, pode dar un ollo ao tipo de que a zona de seguridade realmente 641 00:31:43,290 --> 00:31:46,940 en probas de penetración, vexa como pode obter sitios dentro e protexer 642 00:31:46,940 --> 00:31:48,020 se a partir del. 643 00:31:48,020 --> 00:31:56,360 >> Entón se eu fai unha visión super-rápida, será evitar cross-site scripting. 644 00:31:56,360 --> 00:32:00,160 Quere usar htmlspecialchars cada cronometrar o usuario inserir algo. 645 00:32:00,160 --> 00:32:01,580 Evitar inxección de SQL. 646 00:32:01,580 --> 00:32:04,510 Se fai iso, xa está mellor que Harvard era 647 00:32:04,510 --> 00:32:06,530 cando se roto. 648 00:32:06,530 --> 00:32:10,510 E asegúrese de súas claves non están en texto sen formato. 649 00:32:10,510 --> 00:32:16,220 Asegúrese de que fai non só unha forma de hash eles, pero que use cripta, PHP 650 00:32:16,220 --> 00:32:18,670 función que eu mostre a vostedes. 651 00:32:18,670 --> 00:32:20,060 Desta forma, ten que ser bo. 652 00:32:20,060 --> 00:32:25,830 >> Ademais, se os seus amigos deixar, executa SQL Inject Me nos seus sitios. 653 00:32:25,830 --> 00:32:28,140 Executar cross-site scripting nos seus sitios. 654 00:32:28,140 --> 00:32:33,720 E vai ver unha chea destes sitios ten unha tonelada de vulnerabilidades. 655 00:32:33,720 --> 00:32:40,400 É incrible o que a xente esquecen para higienizar as súas bases de datos ou para facer 656 00:32:40,400 --> 00:32:46,340 seguro do que escribir o da persoa non é código de script. 657 00:32:46,340 --> 00:32:47,200 Aceptar. 658 00:32:47,200 --> 00:32:49,182 Eu medio que terminou moi cedo. 659 00:32:49,182 --> 00:32:56,510 Pero, se alguén ten algunha dúbida sobre calquera cousa, pode tirar en min unha pregunta. 660 00:32:56,510 --> 00:32:56,630 É. 661 00:32:56,630 --> 00:32:56,970 Vai, vai. 662 00:32:56,970 --> 00:32:59,846 >> Audiencia: Eu só quero preguntar, podes explicar como o arquivo 663 00:32:59,846 --> 00:33:03,160 enviar exactamente obras. 664 00:33:03,160 --> 00:33:03,480 >> Luciano Arango: Yeah. 665 00:33:03,480 --> 00:33:06,350 Entón deixe-me amosar-lle o arquivo Cargando rapidamente. 666 00:33:06,350 --> 00:33:11,300 Entón a carga do arquivo - 667 00:33:11,300 --> 00:33:14,500 o problema sagacidade a carga do arquivo agora é que - 668 00:33:14,500 --> 00:33:18,541 Vou abrir o código para vós ver o código detrás dos bastidores. 669 00:33:18,541 --> 00:33:22,390 670 00:33:22,390 --> 00:33:24,305 E é cargar. 671 00:33:24,305 --> 00:33:28,030 672 00:33:28,030 --> 00:33:31,560 Aquí está o código para o uploader de arquivos. 673 00:33:31,560 --> 00:33:33,980 >> Estamos intentando ir a este directorio aquí. 674 00:33:33,980 --> 00:33:37,380 675 00:33:37,380 --> 00:33:44,880 E estamos tentando, así que introducir o arquivo, arquivo isset - por iso, cando hai unha 676 00:33:44,880 --> 00:33:50,900 arquivo en arquivos, esa imaxe, a continuación, tratamos movelo aquí. 677 00:33:50,900 --> 00:33:51,910 Nós pegar o arquivo aquí. 678 00:33:51,910 --> 00:33:58,350 O método é POST, tipo, imaxe, arquivo. 679 00:33:58,350 --> 00:33:59,630 E estamos enviando este ficheiro. 680 00:33:59,630 --> 00:34:03,910 E, a continuación, xa que temos iso, entón cando arquivo ten unha imaxe, estamos intentando envialo 681 00:34:03,910 --> 00:34:05,060 para este directorio. 682 00:34:05,060 --> 00:34:09,814 >> O problema é que o sitio non é me deixando ir a este directorio, 683 00:34:09,814 --> 00:34:12,239 porque non quere que eu volva. 684 00:34:12,239 --> 00:34:13,489 El non quere que eu vaia - 685 00:34:13,489 --> 00:34:15,620 686 00:34:15,620 --> 00:34:17,070 Teño que ir - por iso aquí está a carga. 687 00:34:17,070 --> 00:34:17,639 Velaquí imaxes. 688 00:34:17,639 --> 00:34:21,780 Eu teño que ir todo o camiño de volta para a comezando e poñelas alí e, a continuación, 689 00:34:21,780 --> 00:34:23,820 ir e poñelas no directorio. 690 00:34:23,820 --> 00:34:30,000 Entón, se eu estaba correndo unha fiestra de terminal, e eu quería cambiar un arquivo - 691 00:34:30,000 --> 00:34:30,409 [Inaudível] 692 00:34:30,409 --> 00:34:32,159 pode velo. 693 00:34:32,159 --> 00:34:37,940 Se eu quixese mover un ficheiro, eu teño para poñer o nome do ficheiro e, a continuación, o 694 00:34:37,940 --> 00:34:40,860 camiño completo Quero enviar. 695 00:34:40,860 --> 00:34:45,110 >> E, a continuación, o servidor non é deixarme volver. 696 00:34:45,110 --> 00:34:46,929 E por iso non está deixando me chegar a ese ficheiro. 697 00:34:46,929 --> 00:34:47,670 Pero normalmente - 698 00:34:47,670 --> 00:34:49,360 entón non hai un código para a carga de un arquivo. 699 00:34:49,360 --> 00:34:52,260 Entón, normalmente o que vai pasar é que o persoa non está comprobando se o meu arquivo 700 00:34:52,260 --> 00:34:57,920 remata con. jpeg, entón eu quere comprobar. 701 00:34:57,920 --> 00:35:00,054 Déixeme abrir un exemplo moi rápido. 702 00:35:00,054 --> 00:35:07,766 703 00:35:07,766 --> 00:35:08,260 >> Aceptar. 704 00:35:08,260 --> 00:35:09,230 Esta persoa correcta - 705 00:35:09,230 --> 00:35:11,980 así exemplo dous está comprobando se preg_match - 706 00:35:11,980 --> 00:35:14,180 aquí está aquí - 707 00:35:14,180 --> 00:35:19,660 para asegurarse de que termina coa PHP, que é bo. 708 00:35:19,660 --> 00:35:20,580 Iso é bo. 709 00:35:20,580 --> 00:35:22,820 Pero hai unha gran verdade problema con este. 710 00:35:22,820 --> 00:35:24,600 Iso é bo. 711 00:35:24,600 --> 00:35:44,190 Pero se eu fose poñer un ficheiro chamado myfavoritepicture.php.jpeg, eu podería 712 00:35:44,190 --> 00:35:50,060 aínda potencialmente librarse do jpeg e executar it.k que o PHP é perigoso. 713 00:35:50,060 --> 00:35:53,850 Non quere que a persoa sexa capaz para executar código no seu sitio. 714 00:35:53,850 --> 00:35:55,750 >> Pero entón. JPEG deixa pasar. 715 00:35:55,750 --> 00:36:00,720 A idea é o que realmente quere facer non é ter arquivos, A. Pero, OK, o que 716 00:36:00,720 --> 00:36:07,500 realmente quere facer é asegurarse de que le sobre o mundo enteiro. 717 00:36:07,500 --> 00:36:08,720 E non hai nada. Php nel. 718 00:36:08,720 --> 00:36:10,500 Non hai. Php no nome completo do ficheiro. 719 00:36:10,500 --> 00:36:12,780 >> Audiencia: Pero podería poñer. jpeg ao final. 720 00:36:12,780 --> 00:36:15,830 Os servidores aínda executar o código. 721 00:36:15,830 --> 00:36:16,870 >> Luciano Arango: Non, non vai executado no inicio. 722 00:36:16,870 --> 00:36:22,310 Ten que ir cara atrás e tratar de a ver se pode - 723 00:36:22,310 --> 00:36:24,210 >> Audiencia: Entón temos que - 724 00:36:24,210 --> 00:36:26,020 OK, só outro conxunto que implica - 725 00:36:26,020 --> 00:36:26,936 >> Luciano Arango: Yeah. 726 00:36:26,936 --> 00:36:29,230 >> Audiencia: Aceptar. 727 00:36:29,230 --> 00:36:31,486 >> Luciano Arango: Yeah. 728 00:36:31,486 --> 00:36:31,900 Aceptar. 729 00:36:31,900 --> 00:36:32,865 Algunha pregunta? 730 00:36:32,865 --> 00:36:33,180 Aceptar. 731 00:36:33,180 --> 00:36:37,350 Vou deixar isto e clasificar de intentar ver se vostedes poden - 732 00:36:37,350 --> 00:36:40,490 os outros son un pouco máis complicado, porque esixen moito 733 00:36:40,490 --> 00:36:44,050 máis coñecemento de SQL que o comezando coñecemento de SQL é web e 734 00:36:44,050 --> 00:36:47,010 o que é JavaScript. 735 00:36:47,010 --> 00:36:49,730 Pero eu vou tentar continuar así, e espero que vostedes van aprender 736 00:36:49,730 --> 00:36:53,230 sobre iso e tratar de dar un ollo ao o que pode facer e cantos exemplos 737 00:36:53,230 --> 00:36:54,420 pode pasar. 738 00:36:54,420 --> 00:36:56,020 >> Alguén ten algunha outra preguntas sobre o tema? 739 00:36:56,020 --> 00:36:59,387 740 00:36:59,387 --> 00:37:00,350 Dalle. 741 00:37:00,350 --> 00:37:01,170 Si, tirar, tire. 742 00:37:01,170 --> 00:37:01,580 Si, vai adiante. 743 00:37:01,580 --> 00:37:01,850 Dalle. 744 00:37:01,850 --> 00:37:02,310 >> Audiencia: Aceptar. 745 00:37:02,310 --> 00:37:08,870 Entón eu oín sobre como Magic Quotes non son seguros o suficiente. 746 00:37:08,870 --> 00:37:09,280 >> Luciano Arango: Qué - 747 00:37:09,280 --> 00:37:10,110 Magic Quotes? 748 00:37:10,110 --> 00:37:10,595 >> Audiencia: Yeah. 749 00:37:10,595 --> 00:37:15,445 Por iso, engade - por iso, sempre que entrada algo, el sempre engade comiñas. 750 00:37:15,445 --> 00:37:15,930 >> Luciano Arango: Yeah. 751 00:37:15,930 --> 00:37:16,000 É. 752 00:37:16,000 --> 00:37:16,496 Aceptar. 753 00:37:16,496 --> 00:37:19,113 >> Audiencia: E entón eu penso que traballou, pero entón eu procurei-o. 754 00:37:19,113 --> 00:37:21,648 E el dixo que non é bo. 755 00:37:21,648 --> 00:37:23,050 Pero eu non sei por que. 756 00:37:23,050 --> 00:37:23,360 >> Luciano Arango: Yeah. 757 00:37:23,360 --> 00:37:26,240 >> Audiencia: Non use Magic Quotes, por que non é seguro. 758 00:37:26,240 --> 00:37:26,360 >> Luciano Arango: Aceptar. 759 00:37:26,360 --> 00:37:31,735 Presupostos tan máxico é cando inserir SQL e xa engade a cotización para ti. 760 00:37:31,735 --> 00:37:33,520 >> Audiencia: Sempre engade comiñas en torno a todo o que poñer dentro 761 00:37:33,520 --> 00:37:34,210 >> Luciano Arango: Yeah. 762 00:37:34,210 --> 00:37:37,190 Así, o problema con isto é que - 763 00:37:37,190 --> 00:37:38,445 Vou dar un ollo - 764 00:37:38,445 --> 00:37:41,390 >> Audiencia: Como se adquiren a instrución SQL? 765 00:37:41,390 --> 00:37:44,690 Ou eu creo que podería ser como cita seleccionar. 766 00:37:44,690 --> 00:37:49,030 >> Luciano Arango: Si, o que precisa boas presupostos para o SQL. 767 00:37:49,030 --> 00:37:52,900 >> Audiencia: Non, pero o servidor fai isto por ti. 768 00:37:52,900 --> 00:37:54,460 >> Luciano Arango: Estas pequenas citas aquí, estas pequenas citas? 769 00:37:54,460 --> 00:37:55,670 >> Audiencia: Yeah. 770 00:37:55,670 --> 00:37:56,450 >> Luciano Arango: Yeah. 771 00:37:56,450 --> 00:37:59,860 O problema é que pode comente o último - 772 00:37:59,860 --> 00:38:05,770 OK, entón o que podo facer é que podo comentar fóra - así que imos dar un ollo - deixarme 773 00:38:05,770 --> 00:38:07,920 abrir un arquivo de edición de texto. 774 00:38:07,920 --> 00:38:09,610 Déixeme só modificar esta aquí directamente. 775 00:38:09,610 --> 00:38:19,510 776 00:38:19,510 --> 00:38:20,400 Aceptar. 777 00:38:20,400 --> 00:38:23,710 Podedes ver iso claramente? 778 00:38:23,710 --> 00:38:29,730 ¿Que podo facer é que podo comentar fóra o último. 779 00:38:29,730 --> 00:38:32,190 Isto vai comentar a última. 780 00:38:32,190 --> 00:38:36,760 E entón eu vou poñer aquí, poñer todo o material malicioso aquí. 781 00:38:36,760 --> 00:38:39,840 782 00:38:39,840 --> 00:38:42,630 >> Así, o usuario é realmente introducindo, non? 783 00:38:42,630 --> 00:38:45,230 O usuario non está introducindo as cousas, non? 784 00:38:45,230 --> 00:38:47,430 Isto é o que eu estou indo para a entrada como a persoa que trata de entrar. 785 00:38:47,430 --> 00:38:49,430 Vou poñer en - 786 00:38:49,430 --> 00:38:59,290 787 00:38:59,290 --> 00:39:00,180 esta é unha aspa. 788 00:39:00,180 --> 00:39:01,760 É só rabiscada por erro. 789 00:39:01,760 --> 00:39:15,080 790 00:39:15,080 --> 00:39:19,400 E entón, o que o código vai facer - 791 00:39:19,400 --> 00:39:20,190 Sentímolo, eu vou levar isto para fóra. 792 00:39:20,190 --> 00:39:22,170 Que o código vai facer é que vai engadir a primeira 793 00:39:22,170 --> 00:39:24,030 comiñas aquí. 794 00:39:24,030 --> 00:39:26,040 E vai a engadir o último comiñas tamén. 795 00:39:26,040 --> 00:39:29,350 796 00:39:29,350 --> 00:39:33,270 >> E tamén vai engadir o última, derradeira aspa. 797 00:39:33,270 --> 00:39:37,380 Pero eu estou comentando estes cotización marca para fóra, para que eles non son executados. 798 00:39:37,380 --> 00:39:41,440 E eu estou rematando esta cita marcar aquí. 799 00:39:41,440 --> 00:39:42,290 Vostede entendeu? 800 00:39:42,290 --> 00:39:43,750 Está perdido? 801 00:39:43,750 --> 00:39:45,880 Eu podo comentar a última cotización marca, e coidar da 802 00:39:45,880 --> 00:39:46,680 marca primeira cita. 803 00:39:46,680 --> 00:39:47,350 >> Audiencia: E só acabado o primeiro. 804 00:39:47,350 --> 00:39:47,480 >> Luciano Arango: Yeah. 805 00:39:47,480 --> 00:39:48,400 E só rematar o primeiro. 806 00:39:48,400 --> 00:39:48,790 Si, iso é certo. 807 00:39:48,790 --> 00:39:50,800 Isto é o que podo facer. 808 00:39:50,800 --> 00:39:51,890 É. 809 00:39:51,890 --> 00:39:52,980 Calquera outras preguntas como esta? 810 00:39:52,980 --> 00:39:54,230 Esta é unha boa pregunta. 811 00:39:54,230 --> 00:39:56,960 812 00:39:56,960 --> 00:39:59,790 Non, si, quizais. 813 00:39:59,790 --> 00:40:06,150 Espero que vostedes van facer unha especie de máis sentido cando estuda e SQL 814 00:40:06,150 --> 00:40:06,650 cousas así. 815 00:40:06,650 --> 00:40:07,980 Pero asegúrese se - 816 00:40:07,980 --> 00:40:10,340 manter estas ferramentas no reloxo. 817 00:40:10,340 --> 00:40:12,760 Sentímolo, estas ferramentas máis aquí. 818 00:40:12,760 --> 00:40:14,200 Estas ferramentas son grandes. 819 00:40:14,200 --> 00:40:17,190 Se alguén ten algunha dúbida, tamén se pode enviar correo-e me. 820 00:40:17,190 --> 00:40:19,020 Este é o meu correo normal. 821 00:40:19,020 --> 00:40:25,015 E este é o meu correo electrónico de traballo, que é cando eu traballo en Seas. 822 00:40:25,015 --> 00:40:26,040 >> OK, grazas. 823 00:40:26,040 --> 00:40:26,740 Grazas, persoal. 824 00:40:26,740 --> 00:40:27,860 Está preparado para ir. 825 00:40:27,860 --> 00:40:28,830 Non ten que estar aquí. 826 00:40:28,830 --> 00:40:29,570 Non bater palmas. 827 00:40:29,570 --> 00:40:30,170 Isto é raro. 828 00:40:30,170 --> 00:40:31,420 OK, grazas, persoal. 829 00:40:31,420 --> 00:40:32,320