1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:10,300 >> LUCIANO ARANGO: OK, muchachos. 3 00:00:10,300 --> 00:00:11,550 Mi nombre es Luciano Arango. 4 00:00:11,550 --> 00:00:13,915 Soy un estudiante de segundo año en la Casa de Adams. 5 00:00:13,915 --> 00:00:17,550 Y vamos a estar hablando de defensa activa de seguridad web. 6 00:00:17,550 --> 00:00:24,220 Así que yo trabajo para la Oficina de Información Seguridad en SEAS. 7 00:00:24,220 --> 00:00:28,670 Y durante el verano, me internaron en SeguraTec, que era una información 8 00:00:28,670 --> 00:00:31,310 empresa de seguridad que sirvió para el Banco de Columbia. 9 00:00:31,310 --> 00:00:34,740 Eso es sobre todo donde aprendí lo que he aprendido hasta ahora. 10 00:00:34,740 --> 00:00:37,990 >> Y así, algunos de los materiales que estamos va a ir hoy, no tenemos 11 00:00:37,990 --> 00:00:39,670 realmente se habla en clase. 12 00:00:39,670 --> 00:00:40,410 Pero lo haremos pronto. 13 00:00:40,410 --> 00:00:42,360 Va a ser como SQL, JavaScript. 14 00:00:42,360 --> 00:00:44,870 Y en realidad no hemos repasado. 15 00:00:44,870 --> 00:00:47,730 Así que puede ordenar de vuelo a través de él, y usted puede no saber algunas cosas. 16 00:00:47,730 --> 00:00:48,890 Pero pronto, usted aprenderá él. 17 00:00:48,890 --> 00:00:52,080 Y todo va a tener sentido. 18 00:00:52,080 --> 00:00:54,010 También otra cosa - 19 00:00:54,010 --> 00:00:55,780 permanecer ético. 20 00:00:55,780 --> 00:01:00,560 Algunas de las cosas que aprendes, te podría utilizar en formas no éticas. 21 00:01:00,560 --> 00:01:01,950 >> Si es tuyo, sin duda prueba. 22 00:01:01,950 --> 00:01:04,500 Definitivamente me motivo a ustedes para tratar sus propios servidores, intente 23 00:01:04,500 --> 00:01:05,519 ir dentro de ellos. 24 00:01:05,519 --> 00:01:08,500 A ver si puedes penetrar en ellos, si usted puede conseguir en su interior. 25 00:01:08,500 --> 00:01:09,560 Pero no de cualquier otro. 26 00:01:09,560 --> 00:01:12,390 Los policías no les gusta realmente los chistes y general, nos puso esto aquí. 27 00:01:12,390 --> 00:01:14,040 Estábamos tonteando. 28 00:01:14,040 --> 00:01:15,780 Consiguen realmente enojado. 29 00:01:15,780 --> 00:01:18,700 >> Así que dirígete a este sitio web. 30 00:01:18,700 --> 00:01:23,560 Lo tengo abierto aquí. 31 00:01:23,560 --> 00:01:26,780 Se trata de un sitio web, y tiene un montón de ejemplos. 32 00:01:26,780 --> 00:01:30,000 Lo que pasa es que el primer ejemplo es una especie de va a ser mucho más fácil 33 00:01:30,000 --> 00:01:33,470 que el anterior ejemplo, en un sentido que el primer ejemplo 34 00:01:33,470 --> 00:01:34,970 es completamente inseguro. 35 00:01:34,970 --> 00:01:40,850 Y el último es una especie de lo que es un persona normal de seguridad web haría. 36 00:01:40,850 --> 00:01:42,760 Pero todavía se puede ordenar de conseguir alrededor de eso. 37 00:01:42,760 --> 00:01:44,860 Y vamos a centrarse en un y dos, uno y dos ejemplos. 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 Vamos a empezar con cross-site scripting. 41 00:01:52,780 --> 00:01:56,100 El JavaScript se ejecuta en el navegador del cliente. 42 00:01:56,100 --> 00:01:59,980 Es un lenguaje de programación que se utiliza para ejecutarse en el navegador del cliente para 43 00:01:59,980 --> 00:02:04,120 usted no tiene que actualizar el sitio web e ir de nuevo al servidor. 44 00:02:04,120 --> 00:02:04,940 Usted tiene que correr. 45 00:02:04,940 --> 00:02:08,870 Por ejemplo, Facebook, usted no tiene volver a cargar la página web para el nuevo estado 46 00:02:08,870 --> 00:02:09,710 cambios a subir. 47 00:02:09,710 --> 00:02:12,170 Se trata de utilizar JavaScript para generar todas estas cosas. 48 00:02:12,170 --> 00:02:16,290 Así que podemos inyectar código JavaScript malicioso en los sitios web. 49 00:02:16,290 --> 00:02:20,890 Y de esa manera, cuando enviamos un enlace a alguien, podríamos especie de enviarlo con 50 00:02:20,890 --> 00:02:23,050 una parte del código que queremos. 51 00:02:23,050 --> 00:02:26,450 >> Hay persistente y no persistente JavaScript - 52 00:02:26,450 --> 00:02:30,640 cross-site persistente y no persistente scripting, quiero decir. 53 00:02:30,640 --> 00:02:33,760 Y la diferencia de que persistente es JavaScript que será 54 00:02:33,760 --> 00:02:36,060 guardado en el sitio web. 55 00:02:36,060 --> 00:02:39,780 Y no persistente será JavaScript que será en realidad sólo ocurrirá una vez. 56 00:02:39,780 --> 00:02:41,795 Así que echemos un vistazo a un ejemplo muy rápido. 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 Así que este sitio web, simple, aquí no pasa nada. 60 00:02:51,620 --> 00:02:53,070 Y vamos a tratar de insertar algo de JavaScript. 61 00:02:53,070 --> 00:02:58,110 Así que la manera de empezar a escribir JavaScript es que empezamos con la secuencia de comandos de inicio. 62 00:02:58,110 --> 00:03:00,570 Y cerramos con la escritura. 63 00:03:00,570 --> 00:03:03,770 Estamos simplemente va a poner un mensaje - 64 00:03:03,770 --> 00:03:05,410 Te voy a mostrar - 65 00:03:05,410 --> 00:03:06,500 de alerta. 66 00:03:06,500 --> 00:03:11,150 Alerta es una función que JavaScript utiliza para mostrar algo. 67 00:03:11,150 --> 00:03:12,400 Así que vamos a intentarlo realmente rápido. 68 00:03:12,400 --> 00:03:15,600 69 00:03:15,600 --> 00:03:18,944 Yo voy a ir, hola alerta. 70 00:03:18,944 --> 00:03:20,400 Bueno, se me olvidó poner - 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 Así que eso es simple. 74 00:03:26,540 --> 00:03:28,730 >> Ponemos JavaScript en un sitio web, y se ha producido. 75 00:03:28,730 --> 00:03:31,200 Y que tipo de sólo ocurre en nuestro sitio web, ¿no? 76 00:03:31,200 --> 00:03:33,040 Así que parece que no es un problema, ¿verdad? 77 00:03:33,040 --> 00:03:34,920 Quiero decir, ¿cómo puede usted usar esta forma maliciosa? 78 00:03:34,920 --> 00:03:39,930 Así que la forma en que lo hagan los hackers esto es realmente simple. 79 00:03:39,930 --> 00:03:40,970 Ellos van a agarrar. 80 00:03:40,970 --> 00:03:43,750 Pueden enviar este enlace a usted. 81 00:03:43,750 --> 00:03:46,780 Si voy a enviar este enlace a usted en este momento, y abrirlo, se va a 82 00:03:46,780 --> 00:03:51,620 decir hola, decir que mi sitio web le está diciendo hola. 83 00:03:51,620 --> 00:03:57,280 >> Y así, si yo fuera a decir algo un poco más inteligente, si me levanto un 84 00:03:57,280 --> 00:03:59,880 Función de JavaScript que tipo de que ya escribió - 85 00:03:59,880 --> 00:04:03,940 pero si usted lo mira, voy a ir sobre él antes de que yo escribí. 86 00:04:03,940 --> 00:04:06,650 Así que vamos a establecer un tiempo de espera. 87 00:04:06,650 --> 00:04:08,450 Vamos a esperar a que un par de segundos. 88 00:04:08,450 --> 00:04:13,970 De hecho, vamos a esperar a que, si No me equivoco, a cinco segundos. 89 00:04:13,970 --> 00:04:15,870 Esto va en milisegundos. 90 00:04:15,870 --> 00:04:18,640 Y entonces lo que vamos a hacer es que estamos va a alertar de que el inicio de sesión 91 00:04:18,640 --> 00:04:21,459 el tiempo de espera para volver a iniciar sesión 92 00:04:21,459 --> 00:04:23,990 Y vamos a cambiar la ubicación a una ubicación diferente. 93 00:04:23,990 --> 00:04:30,370 94 00:04:30,370 --> 00:04:32,970 >> Así que si le envío esta página web a otra, que van a ser 95 00:04:32,970 --> 00:04:34,380 navegar alrededor, calma. 96 00:04:34,380 --> 00:04:35,650 No ocurre nada. 97 00:04:35,650 --> 00:04:38,550 Y en cinco segundos, se va decir, el tiempo de espera de inicio de sesión. 98 00:04:38,550 --> 00:04:40,200 Por favor, vuelva a iniciar sesión pulg 99 00:04:40,200 --> 00:04:43,400 Una vez que haga clic en OK, voy a llevarlos a otro sitio web. 100 00:04:43,400 --> 00:04:45,980 Presumiblemente, el sitio va a ser similar a la página web que 101 00:04:45,980 --> 00:04:47,280 en que estaban antes. 102 00:04:47,280 --> 00:04:50,770 Y van a iniciar su credenciales en mi sitio web en lugar de 103 00:04:50,770 --> 00:04:51,850 su página web. 104 00:04:51,850 --> 00:04:54,780 >> Y para que pueda enviar a la gente una un correo electrónico con el enlace. 105 00:04:54,780 --> 00:04:56,240 Yo digo, oh, aquí hay un enlace. 106 00:04:56,240 --> 00:04:57,290 Se trata de un banco, por ejemplo. 107 00:04:57,290 --> 00:05:01,390 Digo, aquí, voy en este enlace. 108 00:05:01,390 --> 00:05:03,730 Y una vez que lo envían, son va a navegar alrededor. 109 00:05:03,730 --> 00:05:07,560 Puedo esperar durante 15 segundos, 20 segundos, y luego pop que por favor vuelva a entrar 110 00:05:07,560 --> 00:05:08,840 firmar de nuevo. 111 00:05:08,840 --> 00:05:10,120 Ustedes pueden tratar con muchas más cosas. 112 00:05:10,120 --> 00:05:13,190 Es complicado porque ustedes no han visto JavaScript, por lo que podría 113 00:05:13,190 --> 00:05:14,750 No sé algunas funciones. 114 00:05:14,750 --> 00:05:18,625 Pero todo lo que tienes que hacer es empezar con la escritura, terminar con guión. 115 00:05:18,625 --> 00:05:22,105 116 00:05:22,105 --> 00:05:25,510 Y se puede poner cualquier cosa en el medio. 117 00:05:25,510 --> 00:05:27,350 >> Alerta es una función, espere. 118 00:05:27,350 --> 00:05:29,365 Ubicación de la ventana te lleva a una nueva ubicación. 119 00:05:29,365 --> 00:05:31,370 Pero se puede hacer mucho más. 120 00:05:31,370 --> 00:05:32,630 Y así, la idea es que tomamos eso. 121 00:05:32,630 --> 00:05:39,350 Si voy al ejemplo dos, y yo puso en este mismo código, es 122 00:05:39,350 --> 00:05:40,210 no va a funcionar. 123 00:05:40,210 --> 00:05:43,620 Así que ha de imprimir todo lo que fuera porque lo que este sitio web originalmente 124 00:05:43,620 --> 00:05:50,350 hace es si pongo nada aquí, que va a imprimir hacia fuera aquí. 125 00:05:50,350 --> 00:05:52,390 Así que no es nada fuera de impresión. 126 00:05:52,390 --> 00:05:55,560 Este ejemplo es en realidad la comprobación para ver si el script está ahí. 127 00:05:55,560 --> 00:05:57,163 Así que sí, adelante. 128 00:05:57,163 --> 00:05:57,606 Pídeme. 129 00:05:57,606 --> 00:05:59,560 >> AUDIENCIA: no está enviando una petición GET o POST? 130 00:05:59,560 --> 00:06:00,670 >> LUCIANO ARANGO: Si. son enviando una solicitud GET. 131 00:06:00,670 --> 00:06:01,350 >> AUDIENCIA: ¿Lo es? 132 00:06:01,350 --> 00:06:02,490 >> LUCIANO ARANGO: Si. 133 00:06:02,490 --> 00:06:04,030 También navegadores utilizan las peticiones POST. 134 00:06:04,030 --> 00:06:07,470 Pero estoy tratando de mostrar las solicitudes get para que podamos ver lo que hay 135 00:06:07,470 --> 00:06:10,760 realmente está pasando. 136 00:06:10,760 --> 00:06:12,880 Y así, si nos fijamos en el código - por lo que no funciona más. 137 00:06:12,880 --> 00:06:24,870 Y si echamos un vistazo a este código, que va a ser en el ejemplo dos. 138 00:06:24,870 --> 00:06:29,300 Lo que esta persona está haciendo, la persona a cargo de este navegador - 139 00:06:29,300 --> 00:06:35,370 abrir, OK - 140 00:06:35,370 --> 00:06:39,290 está sustituyendo el guión palabra. 141 00:06:39,290 --> 00:06:42,850 Esta es PHP, que ustedes podrían han visto un poco el momento. 142 00:06:42,850 --> 00:06:46,250 >> Él sólo la sustitución de la escritura de palabras con el nombre. 143 00:06:46,250 --> 00:06:50,895 Así que, sin embargo, si voy por delante y sólo hay que poner en - 144 00:06:50,895 --> 00:06:58,520 145 00:06:58,520 --> 00:07:02,360 si yo cojo mi código de nuevo, y voy modificarlo un poco. 146 00:07:02,360 --> 00:07:15,010 En lugar de la escritura, yo voy a cambiar para escritura con mayúscula R. Y 147 00:07:15,010 --> 00:07:16,390 vamos a ver si el código funciona. 148 00:07:16,390 --> 00:07:19,090 Por lo tanto, no se ha impreso a cabo, la cual es una buena señal. 149 00:07:19,090 --> 00:07:21,990 Y espero que en dos segundos más, que va a aparecer. 150 00:07:21,990 --> 00:07:22,820 >> Su nombre de usuario el tiempo de espera. 151 00:07:22,820 --> 00:07:23,210 Aceptar. 152 00:07:23,210 --> 00:07:24,460 Todo está bien. 153 00:07:24,460 --> 00:07:27,670 Así que la comprobación de secuencia de comandos podría no necesariamente funcionará. 154 00:07:27,670 --> 00:07:28,130 La persona - 155 00:07:28,130 --> 00:07:32,290 también puede comprobar si hay mayúsculas guión, minúscula escritura, caso str 156 00:07:32,290 --> 00:07:34,180 comparar, asegúrese de que son lo mismo. 157 00:07:34,180 --> 00:07:38,480 Pero el hacker todavía puede hacer más o menos lo lo hicimos en Vigenére cuando nos mudamos 158 00:07:38,480 --> 00:07:40,620 personajes de nuevo una pareja, seguir adelante. 159 00:07:40,620 --> 00:07:43,470 Y se puede encontrar la manera de poner la escritura volver ahí para que pueda inyectar 160 00:07:43,470 --> 00:07:44,460 ese guión. 161 00:07:44,460 --> 00:07:50,370 >> Así que lo que usted desea utilizar es htmlspecialchars a 162 00:07:50,370 --> 00:07:51,330 proteger a su sitio web. 163 00:07:51,330 --> 00:07:56,490 Y lo que esto hace es que hace Asegúrese de que lo que pones en - 164 00:07:56,490 --> 00:07:59,610 por ejemplo, las cotizaciones o los esta mayor que o menor que - 165 00:07:59,610 --> 00:08:04,701 se sustituye con algo eso no será - 166 00:08:04,701 --> 00:08:05,951 déjame el zoom aquí - 167 00:08:05,951 --> 00:08:08,730 168 00:08:08,730 --> 00:08:09,685 el signo real. 169 00:08:09,685 --> 00:08:13,420 Sustituirá los especiales HTML personajes que veremos cuando estemos 170 00:08:13,420 --> 00:08:14,670 hablando - 171 00:08:14,670 --> 00:08:18,635 172 00:08:18,635 --> 00:08:20,740 oh, esto va a llevarme de vuelta a - 173 00:08:20,740 --> 00:08:24,220 174 00:08:24,220 --> 00:08:25,380 estos personajes aquí. 175 00:08:25,380 --> 00:08:28,180 >> Estos significan que algo que viene. 176 00:08:28,180 --> 00:08:31,570 Para HTML, esa franja que comienza nos dice que algo 177 00:08:31,570 --> 00:08:33,299 HTML relacionada está llegando. 178 00:08:33,299 --> 00:08:33,980 Y queremos deshacernos de eso. 179 00:08:33,980 --> 00:08:36,200 No queremos poner HTML en un website.k No queremos que el usuario sea 180 00:08:36,200 --> 00:08:40,260 capaz de poner algo en su página web que pueden afectar a su página web, al igual que 181 00:08:40,260 --> 00:08:43,480 script o HTML, o algo así. 182 00:08:43,480 --> 00:08:53,090 Lo que es importante es que usted desinfectar la entrada del usuario. 183 00:08:53,090 --> 00:08:54,720 >> Así los usuarios pueden de entrada de muchas cosas. 184 00:08:54,720 --> 00:08:58,110 Se puede introducir un montón de cosas para tratar de engañar a su navegador en aún 185 00:08:58,110 --> 00:08:59,410 la ejecución de este código de script. 186 00:08:59,410 --> 00:09:02,870 Lo que quiero hacer es que no basta con ver para la secuencia de comandos, pero mira por todo 187 00:09:02,870 --> 00:09:04,250 eso podría ser dañino. 188 00:09:04,250 --> 00:09:06,800 Y htmlspecialchars harán que por usted, por lo que no tiene 189 00:09:06,800 --> 00:09:07,340 que preocuparse por ello. 190 00:09:07,340 --> 00:09:12,280 Pero no trate de hacer por ti mismo especie de con su propio código. 191 00:09:12,280 --> 00:09:14,055 Es claro en XSS todo el mundo? 192 00:09:14,055 --> 00:09:14,370 >> Aceptar. 193 00:09:14,370 --> 00:09:16,355 Vamos a ir a la inyección de SQL. 194 00:09:16,355 --> 00:09:21,010 Así que la inyección de SQL es probablemente la el número uno de la vulnerabilidad 195 00:09:21,010 --> 00:09:22,490 en diferentes sitios web. 196 00:09:22,490 --> 00:09:24,350 Es decir, un buen ejemplo - 197 00:09:24,350 --> 00:09:27,350 Estaba investigando más lejos por esto. 198 00:09:27,350 --> 00:09:34,430 Y me encontré con este artículo impresionante, donde Vi que Harvard fue violada, 199 00:09:34,430 --> 00:09:35,390 fue hackeado. 200 00:09:35,390 --> 00:09:37,370 Y me preguntaba, bueno, ¿cómo iban a hacerlo? 201 00:09:37,370 --> 00:09:41,660 Harvard es la más impresionante, más asegurar universidad nunca. 202 00:09:41,660 --> 00:09:43,850 ¿Cierto? 203 00:09:43,850 --> 00:09:45,410 Bueno, a la violación de los servidores, los piratas informáticos utilizan un 204 00:09:45,410 --> 00:09:47,710 técnica llamada inyección SQL. 205 00:09:47,710 --> 00:09:50,250 >> Así que esto ocurre en el día a día. 206 00:09:50,250 --> 00:09:53,590 La gente se olvida de tener en cuenta para la inyección SQL. 207 00:09:53,590 --> 00:09:54,930 Harvard hace. 208 00:09:54,930 --> 00:10:00,050 Creo que dice aquí, Princeton, Stanford, Cornell. 209 00:10:00,050 --> 00:10:03,550 Entonces, ¿cómo - ¿y qué es esto SQL inyección que está llevando todo esto 210 00:10:03,550 --> 00:10:05,668 gente abajo? 211 00:10:05,668 --> 00:10:08,010 Aceptar. 212 00:10:08,010 --> 00:10:12,090 Así SQL es un lenguaje de programación que podemos acceder a bases de datos. 213 00:10:12,090 --> 00:10:14,560 Lo que hacemos es seleccionamos - 214 00:10:14,560 --> 00:10:18,510 así que lo que esto se lee en este momento es de selección todo, desde la mesa. 215 00:10:18,510 --> 00:10:22,640 >> SQL, se transforma en estas bases de datos que tienen mesas llenas de información. 216 00:10:22,640 --> 00:10:26,550 Así que seleccione todo, desde los usuarios donde el nombre es nombre de usuario. 217 00:10:26,550 --> 00:10:28,120 ¿Cierto? 218 00:10:28,120 --> 00:10:30,770 Bastante simple. 219 00:10:30,770 --> 00:10:34,490 La idea de inyección SQL es que insertar algún código malicioso que haría 220 00:10:34,490 --> 00:10:37,270 engañar al servidor para que ejecute algo diferente de lo que 221 00:10:37,270 --> 00:10:38,430 originalmente se ejecuta. 222 00:10:38,430 --> 00:10:44,970 Así que digamos que el nombre de usuario, ponemos en o 1 es igual a 1. 223 00:10:44,970 --> 00:10:46,700 Por eso, pusimos en o 1 es igual a 1. 224 00:10:46,700 --> 00:10:49,890 La forma en que se va a leer ahora será select de los usuarios, de todo, desde 225 00:10:49,890 --> 00:10:51,360 usuarios - esto es todo - 226 00:10:51,360 --> 00:10:55,880 donde nombre es nombre de usuario, pero nombre de usuario es o 1 es igual a 1. 227 00:10:55,880 --> 00:11:01,760 >> Así que el nombre no es nada o 1 es igual a 1. 228 00:11:01,760 --> 00:11:04,060 1 es igual a 1 es siempre cierto. 229 00:11:04,060 --> 00:11:07,690 Así que esto siempre devolverá información de los usuarios. 230 00:11:07,690 --> 00:11:08,100 Aceptar. 231 00:11:08,100 --> 00:11:10,030 No es necesario tener la nombre de usuario correcto. 232 00:11:10,030 --> 00:11:14,240 Sólo podemos tener lo que queremos, y ha de devolver la información 233 00:11:14,240 --> 00:11:15,690 lo que necesitamos. 234 00:11:15,690 --> 00:11:17,160 Veamos otro ejemplo. 235 00:11:17,160 --> 00:11:22,720 >> Si hemos seleccionar todo de usuario, donde nombre es usuarios DROP TABLE - 236 00:11:22,720 --> 00:11:26,420 así que ¿qué cree usted que esta voluntad hacer si pongo el nombre de usuario 237 00:11:26,420 --> 00:11:29,560 como usuarios DROP TABLE? 238 00:11:29,560 --> 00:11:30,230 ¿Alguien tiene una idea? 239 00:11:30,230 --> 00:11:31,050 Sí. 240 00:11:31,050 --> 00:11:32,470 >> AUDIENCIA: Se lo voy a decir a volcar todas las tablas. 241 00:11:32,470 --> 00:11:35,460 >> LUCIANO ARANGO: Va a decirnos para volcar todo en la página web, 242 00:11:35,460 --> 00:11:38,290 todo en la base de datos. 243 00:11:38,290 --> 00:11:41,910 Y lo que la gente usa esto para - por lo Voy a mostrarles. 244 00:11:41,910 --> 00:11:45,462 He desactivado eliminar las tablas porque yo no te quiero 245 00:11:45,462 --> 00:11:48,240 chicos a soltar mis tablas. 246 00:11:48,240 --> 00:11:49,850 Echemos un vistazo a esto. 247 00:11:49,850 --> 00:11:54,410 Así que esto simplemente se levanta la información para una persona determinada. 248 00:11:54,410 --> 00:11:57,550 Así que, ¿cómo sabemos si esto es afectada por la inyección de SQL. 249 00:11:57,550 --> 00:12:01,545 Vamos a revisar muy rápido si podemos poner algo - 250 00:12:01,545 --> 00:12:04,990 251 00:12:04,990 --> 00:12:06,080 déjame copiar este código. 252 00:12:06,080 --> 00:12:08,140 Yo voy a ir sobre ella en un segundo. 253 00:12:08,140 --> 00:12:12,210 Me voy a poner la raíz y 1 es igual a 1. 254 00:12:12,210 --> 00:12:15,510 >> Este derecho aquí, esto signo de porcentaje 23 - 255 00:12:15,510 --> 00:12:19,970 lo que realmente es, si yo buscar aquí mismo, en - 256 00:12:19,970 --> 00:12:23,820 la forma en que HTML tiene en número, si echar un vistazo a cuando puse en un espacio 257 00:12:23,820 --> 00:12:28,380 aquí - si yo fuera al espacio algo aquí, cambia a un 2 por ciento. 258 00:12:28,380 --> 00:12:31,420 ¿Ustedes ven esto aquí cuando puse en un espacio? 259 00:12:31,420 --> 00:12:36,710 La forma en que funciona es que sólo se puede enviar valores ASCII a través de HTML. 260 00:12:36,710 --> 00:12:40,330 De forma que sustituye, por ejemplo, un espacio con 20 por ciento. 261 00:12:40,330 --> 00:12:41,970 No sé si ustedes han visto eso antes. 262 00:12:41,970 --> 00:12:45,100 >> Sustituye a un hashtag con 23 por ciento. 263 00:12:45,100 --> 00:12:50,840 Necesitamos un hashtag al final o declaración para que podamos decirle al 264 00:12:50,840 --> 00:13:00,885 base de datos que te olvides de comentar este último punto y coma al final. 265 00:13:00,885 --> 00:13:03,060 Queremos que no piensa en eso. 266 00:13:03,060 --> 00:13:05,980 Sólo queremos que se ejecute todo que tenemos de antemano y 267 00:13:05,980 --> 00:13:07,450 comentar eso. 268 00:13:07,450 --> 00:13:08,710 Vamos a echar un vistazo. 269 00:13:08,710 --> 00:13:14,670 >> Así que si yo fuera a poner algo mal - digamos, por ejemplo, me pongo 2 iguales 270 00:13:14,670 --> 00:13:15,690 1, no me da nada. 271 00:13:15,690 --> 00:13:22,930 Cuando me puse en 1 es igual a 1, y lo hace regresar algo, esto me dice que 272 00:13:22,930 --> 00:13:24,660 este es vulnerable a una inyección SQL. 273 00:13:24,660 --> 00:13:29,090 Yo sé ahora que todo lo que Puse después de esto - 274 00:13:29,090 --> 00:13:39,110 y, por ejemplo, eliminar tablas o algo por el estilo 275 00:13:39,110 --> 00:13:41,190 sin duda trabajar. 276 00:13:41,190 --> 00:13:44,350 Sé que es vulnerable a inyección SQL porque sé que 277 00:13:44,350 --> 00:13:49,850 debajo de la capilla, que está dejando me hago el 1 es igual a 1 cosa. 278 00:13:49,850 --> 00:13:51,100 ¿De acuerdo? 279 00:13:51,100 --> 00:13:53,950 280 00:13:53,950 --> 00:13:56,540 >> Y si nos fijamos en las demás, número dos y número tres, es 281 00:13:56,540 --> 00:13:59,110 vamos a hacer un poco más de comprobar debajo de la 282 00:13:59,110 --> 00:14:03,680 capó de lo que es. 283 00:14:03,680 --> 00:14:07,425 Así que cualquiera habilitar la gota nada ni juzgado? 284 00:14:07,425 --> 00:14:08,760 ¿Ustedes suerte de conseguir SQL todavía? 285 00:14:08,760 --> 00:14:10,430 Porque yo sé que ustedes no han visto todavía, así que es una especie de 286 00:14:10,430 --> 00:14:11,759 confuso para ustedes. 287 00:14:11,759 --> 00:14:16,160 288 00:14:16,160 --> 00:14:18,480 Vamos a echar un vistazo. 289 00:14:18,480 --> 00:14:21,270 ¿Cuál es la manera de prevenir SQLI? 290 00:14:21,270 --> 00:14:21,390 Aceptar. 291 00:14:21,390 --> 00:14:23,330 Así que esto es realmente importante, ya que chicos definitivamente quieren evitar 292 00:14:23,330 --> 00:14:24,090 esto en sus sitios web. 293 00:14:24,090 --> 00:14:28,040 >> Si no es así, todos sus amigos van a se burlan de usted cuando se les cae todo 294 00:14:28,040 --> 00:14:29,390 sus tablas. 295 00:14:29,390 --> 00:14:36,150 Así que la idea es que reparar el SQL en cierto modo, mientras que coinciden 296 00:14:36,150 --> 00:14:41,940 lo que las entradas del usuario con una cadena determinada. 297 00:14:41,940 --> 00:14:46,120 Así que la forma en que esto funciona es que preparar la base de datos. 298 00:14:46,120 --> 00:14:50,830 Usted selecciona el nombre, el color y calorías a partir de una base de datos denominada fruta. 299 00:14:50,830 --> 00:14:53,580 Y entonces, ¿dónde calorías es menor que, y ponemos un signo de interrogación no 300 00:14:53,580 --> 00:14:56,530 diciendo que vamos a la entrada algo en un segundo. 301 00:14:56,530 --> 00:14:58,850 >> Y el color es igual, y nos hace una pregunta marca diciendo que vamos a 302 00:14:58,850 --> 00:15:00,913 introduzca datos en un segundo también. 303 00:15:00,913 --> 00:15:02,660 ¿De acuerdo? 304 00:15:02,660 --> 00:15:09,920 Y luego lo ejecutamos, poniendo en 150 y rojo. 305 00:15:09,920 --> 00:15:12,820 Y esto va a comprobar para asegurarse Asegúrese de que estos dos - 306 00:15:12,820 --> 00:15:15,300 esta matriz se compruebe que éstas dos son un número entero y 307 00:15:15,300 --> 00:15:16,550 que esto es una cadena. 308 00:15:16,550 --> 00:15:18,810 309 00:15:18,810 --> 00:15:20,890 Luego vamos y buscamos a todo, lo ponemos en rojo. 310 00:15:20,890 --> 00:15:21,964 Eso significa que buscamos a todos. 311 00:15:21,964 --> 00:15:26,790 Esto significa que en realidad ejecuta el SQL declaración y poner de nuevo en rojo. 312 00:15:26,790 --> 00:15:30,530 Aquí hacemos lo mismo, pero nosotros hacer lo mismo para el amarillo. 313 00:15:30,530 --> 00:15:32,490 Y buscamos a todos. 314 00:15:32,490 --> 00:15:36,140 >> Y de esta manera, evitamos que el usuario de ser capaz de introducir algo 315 00:15:36,140 --> 00:15:41,710 eso no es lo que hemos especificado, una cadena o un número entero, por ejemplo. 316 00:15:41,710 --> 00:15:45,100 317 00:15:45,100 --> 00:15:46,610 Yo estaba hablando antes sobre depender de otros. 318 00:15:46,610 --> 00:15:50,010 Cuando ustedes empezar su proyecto, usted es definitivamente va a utilizar 319 00:15:50,010 --> 00:15:52,310 arrancar o algo similar. 320 00:15:52,310 --> 00:15:53,490 ¿Han utilizado alguna vez Wordpress? 321 00:15:53,490 --> 00:15:57,170 Probablemente ustedes han utilizado Wordpress más probable. 322 00:15:57,170 --> 00:16:00,050 Así que el problema con el uso cosas de los demás - 323 00:16:00,050 --> 00:16:05,940 Yo sólo voy a bienes rápida Google Vulnerabilidad Wordpress. 324 00:16:05,940 --> 00:16:07,495 >> Si tiro de esto ahora mismo - 325 00:16:07,495 --> 00:16:08,995 Yo, literalmente, hice un dos segundos Google. 326 00:16:08,995 --> 00:16:12,300 327 00:16:12,300 --> 00:16:13,800 Podemos ver que Wordpress - 328 00:16:13,800 --> 00:16:17,450 este tiene fecha en septiembre '12. 329 00:16:17,450 --> 00:16:19,120 26 se actualiza. 330 00:16:19,120 --> 00:16:23,620 La configuración por defecto de Wordpress antes 3.6 no impide estos 331 00:16:23,620 --> 00:16:27,110 ciertos archivos, lo que podría hacer que sea más fácil para los 332 00:16:27,110 --> 00:16:29,790 ataques cross-site scripting. 333 00:16:29,790 --> 00:16:34,530 Así que una historia rápida, una vez que estaban trabajando - así estaba yo, en verano, un trabajo 334 00:16:34,530 --> 00:16:34,970 de prácticas. 335 00:16:34,970 --> 00:16:40,400 Y estábamos trabajando con una especie de como una gran compañía de tarjeta de crédito. 336 00:16:40,400 --> 00:16:42,020 >> Y se basan en algo que se llama - 337 00:16:42,020 --> 00:16:45,740 No sé si ustedes alguna vez jugaron con un producto llamado Joomla. 338 00:16:45,740 --> 00:16:51,750 Joomla es un producto que se utiliza para de control - tipo de similar a 339 00:16:51,750 --> 00:16:54,340 Wordpress, usado para construir sitios web. 340 00:16:54,340 --> 00:16:56,060 Así que tuvieron su página web trabajando en Joomla. 341 00:16:56,060 --> 00:16:59,290 Esto es en realidad una tarjeta de crédito empresa en Colombia. 342 00:16:59,290 --> 00:17:01,000 Te llevaré a su sitio muy rápido. 343 00:17:01,000 --> 00:17:04,550 344 00:17:04,550 --> 00:17:05,400 >> Así que ellos usan Joomla. 345 00:17:05,400 --> 00:17:08,630 Y no habían actualizado Joomla a la última incorporación. 346 00:17:08,630 --> 00:17:12,160 Y así, cuando nos estábamos tomando un vistazo a su código, pudimos realmente 347 00:17:12,160 --> 00:17:18,430 entrar su código y robar todo el información de la tarjeta de crédito que tenían, 348 00:17:18,430 --> 00:17:21,670 todos los números de tarjetas de crédito, los nombres, las direcciones. 349 00:17:21,670 --> 00:17:22,740 Y esto fue sólo - 350 00:17:22,740 --> 00:17:23,569 y su código era perfectamente bien. 351 00:17:23,569 --> 00:17:24,710 Tenían un gran código. 352 00:17:24,710 --> 00:17:25,389 Era toda la seguridad. 353 00:17:25,389 --> 00:17:26,520 Revisaron todas las bases de datos. 354 00:17:26,520 --> 00:17:29,020 Se aseguraron de cross-site scripting estaba bien. 355 00:17:29,020 --> 00:17:34,390 >> Pero usaron algo que no era actualizada, que no era seguro. 356 00:17:34,390 --> 00:17:36,940 Y para que los llevó a - así que ustedes definitivamente se va a utilizar otra 357 00:17:36,940 --> 00:17:40,650 código, los marcos de la gente de la gente para construir su sitio web. 358 00:17:40,650 --> 00:17:43,860 Asegúrese de que son seguras porque a veces no eres tú, el que 359 00:17:43,860 --> 00:17:44,480 comete un error. 360 00:17:44,480 --> 00:17:47,440 Pero alguien comete un error, y entonces te caes por eso. 361 00:17:47,440 --> 00:17:51,190 362 00:17:51,190 --> 00:17:53,885 >> Contraseñas y PII. 363 00:17:53,885 --> 00:17:56,820 Así contraseñas. 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 Echemos un vistazo a las contraseñas muy rápido. 367 00:18:04,230 --> 00:18:04,590 Aceptar. 368 00:18:04,590 --> 00:18:06,520 Por favor, dime que todo el mundo utiliza seguro - 369 00:18:06,520 --> 00:18:09,030 Espero que todo el mundo aquí utiliza contraseñas seguras. 370 00:18:09,030 --> 00:18:12,890 Yo sólo voy a dejar que como una suposición. 371 00:18:12,890 --> 00:18:14,850 Así que ustedes son sin duda va a almacenar las contraseñas de tus sitios web. 372 00:18:14,850 --> 00:18:17,440 ¿Vas a hacer algo como un inicio de sesión, o algo así. 373 00:18:17,440 --> 00:18:19,610 Lo importante es no almacenar contraseñas en texto plano. 374 00:18:19,610 --> 00:18:20,860 Esto es extremadamente importante. 375 00:18:20,860 --> 00:18:23,960 Usted no desea almacenar un contraseña en texto plano. 376 00:18:23,960 --> 00:18:27,370 >> Y definitivamente no quiere realmente para almacenarlo en un hash de una manera. 377 00:18:27,370 --> 00:18:32,440 Así que lo que es un hash de un sentido es que cuando se generar una palabra, cuando se pone esta 378 00:18:32,440 --> 00:18:36,200 palabra en una función hash, lo hará generar de nuevo algún tipo de críptico 379 00:18:36,200 --> 00:18:39,390 mensaje o conjunto críptica de llaves. 380 00:18:39,390 --> 00:18:40,640 Te voy a mostrar un ejemplo. 381 00:18:40,640 --> 00:18:44,620 382 00:18:44,620 --> 00:18:50,250 Voy hash que contraseña1 palabra. 383 00:18:50,250 --> 00:18:55,280 Hash md5 Así me va a volver algún tipo de información extraña. 384 00:18:55,280 --> 00:18:59,140 >> El problema es que la gente por ahí que les gusta ir a los sitios web tienen 385 00:18:59,140 --> 00:19:02,750 ya descubierto especie de todos los hashes md5. 386 00:19:02,750 --> 00:19:06,030 Lo que hicieron es que se sentaron en su computadoras, y hash cada 387 00:19:06,030 --> 00:19:09,660 sola palabra posible por ahí hasta que consiguieron una especie de lo que es esto. 388 00:19:09,660 --> 00:19:11,420 Si yo fuera a ver esto - 389 00:19:11,420 --> 00:19:12,420 Agarré este hash. 390 00:19:12,420 --> 00:19:14,120 Si consigo este hash de - 391 00:19:14,120 --> 00:19:17,470 si entro en un sitio web, y me encuentro con este hash porque me permite la 392 00:19:17,470 --> 00:19:24,100 bases de datos, y miro hacia arriba, alguien ya descubierto por mí. 393 00:19:24,100 --> 00:19:28,600 394 00:19:28,600 --> 00:19:29,100 >> Sí. 395 00:19:29,100 --> 00:19:35,030 Así que la gente se sentó, y cualquiera que sea md5 hash que usted pone en, van a 396 00:19:35,030 --> 00:19:37,760 volver a algo es decir una palabra. 397 00:19:37,760 --> 00:19:39,800 Si Hachís otra palabra, como - 398 00:19:39,800 --> 00:19:42,410 No sé - 399 00:19:42,410 --> 00:19:43,490 trees2. 400 00:19:43,490 --> 00:19:46,050 No quiero que se decepcione por mis búsquedas de Google. 401 00:19:46,050 --> 00:19:49,820 402 00:19:49,820 --> 00:19:52,780 Ahí está, trees2. 403 00:19:52,780 --> 00:19:55,930 Así que un montón de sitios web seguir utilizando hash MD5. 404 00:19:55,930 --> 00:19:57,730 Ellos dicen, oh, es seguro. 405 00:19:57,730 --> 00:19:58,570 No vamos a almacenar en texto plano. 406 00:19:58,570 --> 00:19:59,740 Tenemos este hash md5. 407 00:19:59,740 --> 00:20:01,880 Y todo lo que tengo que hacer es Google el número. 408 00:20:01,880 --> 00:20:03,940 >> Ni siquiera tengo que calcular a mí mismo. 409 00:20:03,940 --> 00:20:06,790 Yo sólo puedo buscarlo en Google, y alguien Ya lo hizo por mí. 410 00:20:06,790 --> 00:20:08,010 Aquí hay un montón de ellos. 411 00:20:08,010 --> 00:20:09,260 Aquí hay un montón de contraseñas. 412 00:20:09,260 --> 00:20:13,890 413 00:20:13,890 --> 00:20:18,680 Así que, definitivamente, no debe emplear hash md5, porque todo lo que tiene que 414 00:20:18,680 --> 00:20:19,140 hacer es Google él. 415 00:20:19,140 --> 00:20:20,390 Así que ¿qué es lo que desea utilizar en su 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 llamado salazón. 419 00:20:31,260 --> 00:20:32,460 Entonces, ¿cuál es el salado - 420 00:20:32,460 --> 00:20:36,280 es lo que ustedes recuerden cuando éramos hablando de azar en - 421 00:20:36,280 --> 00:20:37,920 No estoy seguro de qué conjunto de procesadores que era - 422 00:20:37,920 --> 00:20:41,140 Se lo PSet allí o cuatro? 423 00:20:41,140 --> 00:20:45,150 >> Estábamos hablando de la búsqueda la aguja en el pajar. 424 00:20:45,150 --> 00:20:48,480 Y en el conjunto de procesadores, se dijo que se podía realmente averiguar lo aleatorio 425 00:20:48,480 --> 00:20:51,840 genera porque alguien ya está corriendo al azar un millón de veces y sólo 426 00:20:51,840 --> 00:20:53,230 suerte de formar lo que ellos generan. 427 00:20:53,230 --> 00:20:55,840 Lo que quiero hacer es poner en una entrada. 428 00:20:55,840 --> 00:20:57,130 Así que eso es lo que la salazón tipo de es. 429 00:20:57,130 --> 00:21:00,900 Ya cuenta de lo salado devuelve para cada obra. 430 00:21:00,900 --> 00:21:04,750 >> Así que lo que hace es salado se pone en una sal. 431 00:21:04,750 --> 00:21:06,160 Se pone en una determinada palabra. 432 00:21:06,160 --> 00:21:09,720 Y será hash de esa palabra en función en lo que se pone aquí. 433 00:21:09,720 --> 00:21:13,570 Así que si yo hash de la contraseña uno con este frase, va para discutir 434 00:21:13,570 --> 00:21:17,180 diferente si Hachís contraseña1 con una frase diferente. 435 00:21:17,180 --> 00:21:21,670 De alguna manera se le da un lugar para comenzar por el hash para comenzar. 436 00:21:21,670 --> 00:21:25,970 Así que es mucho más difícil de calcular, pero todavía puede calcularla, especialmente 437 00:21:25,970 --> 00:21:26,830 si utiliza una mala sal. 438 00:21:26,830 --> 00:21:29,650 >> La gente ya ha también descubierto sales comunes y descubierto 439 00:21:29,650 --> 00:21:31,500 lo que es. 440 00:21:31,500 --> 00:21:34,980 Sales de azar son mucho mejores, pero la mejor manera es usar 441 00:21:34,980 --> 00:21:38,160 algo que se llama cripta. 442 00:21:38,160 --> 00:21:40,480 ¿Y qué cripta le permite no - por lo que estas funciones son 443 00:21:40,480 --> 00:21:41,820 ya construido para usted. 444 00:21:41,820 --> 00:21:44,910 Mucha gente se olvida de que, o se olvidan de utilizarlo. 445 00:21:44,910 --> 00:21:54,520 Pero si miro hacia arriba cripta PHP, cripta Ya devuelve una cadena hash para mí. 446 00:21:54,520 --> 00:21:58,790 Y lo que realmente sales muchas veces y hashes muchas veces. 447 00:21:58,790 --> 00:22:00,070 >> Así que no tenemos que hacer esto. 448 00:22:00,070 --> 00:22:04,790 Lo único que tienes que hacer es enviarlo a la cripta. 449 00:22:04,790 --> 00:22:08,170 Y va a crear un gran picadillo sin tener que preocuparse acerca de la sal 450 00:22:08,170 --> 00:22:08,990 ni nada. 451 00:22:08,990 --> 00:22:12,000 Porque si usted fuera a la sal, tienes recordar lo que la sal que utilizó 452 00:22:12,000 --> 00:22:13,800 porque si no, usted no puede conseguir su contraseña de nuevo sin el 453 00:22:13,800 --> 00:22:15,760 sal que usa. 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 >> Y también identificable personal información. 457 00:22:23,150 --> 00:22:26,730 Así que la seguridad social, la tarjeta de crédito - eso es bastante obvio. 458 00:22:26,730 --> 00:22:31,880 Pero a veces la gente se olvida de la manera que obras es, la cantidad de información hace que 459 00:22:31,880 --> 00:22:35,690 en realidad la necesidad de encontrar alguna persona? 460 00:22:35,690 --> 00:22:37,740 Alguien hizo un estudio sobre este un camino de regreso. 461 00:22:37,740 --> 00:22:40,870 Y fue como, si usted tiene el nombre completo, no se puede encontrar 462 00:22:40,870 --> 00:22:41,610 alguien tan fácilmente. 463 00:22:41,610 --> 00:22:43,900 Pero lo que si usted tiene un nombre completo y su fecha de nacimiento? 464 00:22:43,900 --> 00:22:47,770 ¿Es eso suficiente para identificar alguien en concreto? 465 00:22:47,770 --> 00:22:52,760 >> ¿Qué pasa si usted tiene su nombre y la dirección de la calle que viven? 466 00:22:52,760 --> 00:22:55,110 ¿Es eso suficiente para encontrar a alguien? 467 00:22:55,110 --> 00:23:02,490 Y fue entonces cuando se preguntan, ¿cuál es información de identificación personal, y 468 00:23:02,490 --> 00:23:05,360 ¿qué debe preocuparse por no regalar? 469 00:23:05,360 --> 00:23:08,770 Si usted regala identificable personal información que alguien te da, 470 00:23:08,770 --> 00:23:11,420 usted podría ser demandado. 471 00:23:11,420 --> 00:23:12,610 Y definitivamente no queremos eso. 472 00:23:12,610 --> 00:23:14,955 >> Así que cuando usted está poniendo su sitio web , y usted tiene una muy cool 473 00:23:14,955 --> 00:23:17,230 diseño, es de esperar que usted hizo un proyecto final impresionante. 474 00:23:17,230 --> 00:23:18,370 Cualquier especie de que deseas lo puso ahí. 475 00:23:18,370 --> 00:23:21,420 Usted quiere asegurarse de que todo lo que usted está tomando por parte del usuario, si es 476 00:23:21,420 --> 00:23:25,310 información de identificación personal, querrá asegurarse de que usted está siendo realmente 477 00:23:25,310 --> 00:23:26,560 cuidado con él. 478 00:23:26,560 --> 00:23:29,670 479 00:23:29,670 --> 00:23:31,080 >> Inyección de Shell. 480 00:23:31,080 --> 00:23:31,350 Aceptar. 481 00:23:31,350 --> 00:23:37,590 Inyección de carcasa permite que el intruso obtener acceso a la línea de comandos real 482 00:23:37,590 --> 00:23:39,660 en su servidor. 483 00:23:39,660 --> 00:23:44,060 Y así que él es capaz de ejecutar código que no se puede controlar. 484 00:23:44,060 --> 00:23:49,560 Veamos un ejemplo de esto hermosa cadena aquí. 485 00:23:49,560 --> 00:23:55,570 Si entramos en la página web de nuevo, estoy va a entrar en la inyección de código. 486 00:23:55,570 --> 00:23:58,910 Así que lo que esto hace es - 487 00:23:58,910 --> 00:24:00,420 que es también lo que fuimos mirando antes. 488 00:24:00,420 --> 00:24:11,200 Estamos dejando al usuario poner en cualquier que quiere, y lo que imprimirá 489 00:24:11,200 --> 00:24:12,220 lo que quieras. 490 00:24:12,220 --> 00:24:13,890 >> Así que me voy a poner una llamada. 491 00:24:13,890 --> 00:24:15,540 Lo que esto hace es - 492 00:24:15,540 --> 00:24:16,940 se iniciará mediante la concatenación. 493 00:24:16,940 --> 00:24:19,520 Así que me permite ejecutar cualquier comando de fórmula de la persona 494 00:24:19,520 --> 00:24:21,500 antes y mi mando. 495 00:24:21,500 --> 00:24:23,980 Y me estoy quedando un comando del sistema. 496 00:24:23,980 --> 00:24:27,310 Y estas últimas cadenas son - recuerda lo que hablé con ustedes acerca de, 497 00:24:27,310 --> 00:24:31,725 mientras que usted tiene que codificar en un método de URL. 498 00:24:31,725 --> 00:24:35,010 499 00:24:35,010 --> 00:24:36,992 Si me quedo esto ahora - 500 00:24:36,992 --> 00:24:39,150 Te voy a mostrar aquí - 501 00:24:39,150 --> 00:24:41,100 verás que terminé hasta la ejecución de un comando. 502 00:24:41,100 --> 00:24:45,700 503 00:24:45,700 --> 00:24:49,320 >> Esto es en realidad el servidor real que mi sitio web se está ejecutando. 504 00:24:49,320 --> 00:24:55,840 505 00:24:55,840 --> 00:24:58,510 Así que nosotros no queremos eso, porque puedo correr - 506 00:24:58,510 --> 00:25:00,320 este servidor no es mío. 507 00:25:00,320 --> 00:25:04,030 Así que no quiero echar a perder su hermana, servidor de Marcus. 508 00:25:04,030 --> 00:25:07,470 Pero se puede ejecutar más comandos que son peligrosos. 509 00:25:07,470 --> 00:25:11,885 Y potencialmente, podría eliminar archivos, eliminar directorios. 510 00:25:11,885 --> 00:25:14,390 511 00:25:14,390 --> 00:25:17,970 Puedo eliminar un directorio determinado si Yo quería, pero yo no quiero 512 00:25:17,970 --> 00:25:19,530 hacerle eso a Marcus. 513 00:25:19,530 --> 00:25:20,420 Él es un buen tipo. 514 00:25:20,420 --> 00:25:21,470 Él me prestó su servidor. 515 00:25:21,470 --> 00:25:24,620 Así que voy a dejarlo de descuento en la buena. 516 00:25:24,620 --> 00:25:32,280 >> Así que lo que no quieren usar - no lo hacemos quiera usar eval o sistema. 517 00:25:32,280 --> 00:25:34,755 Eval o el sistema nos permite hacer estas llamadas al sistema. 518 00:25:34,755 --> 00:25:37,410 519 00:25:37,410 --> 00:25:38,410 Medios de evaluación evalúan. 520 00:25:38,410 --> 00:25:40,790 Sistema significa lo que me encontré. 521 00:25:40,790 --> 00:25:42,490 Está dirigido algo en el sistema. 522 00:25:42,490 --> 00:25:46,730 Pero podemos prohibir estas cosas en PHP para que no los usamos. 523 00:25:46,730 --> 00:25:47,400 Y la carga de archivos. 524 00:25:47,400 --> 00:25:49,180 Yo iba a hacer una impresionante cosa con la carga de archivos. 525 00:25:49,180 --> 00:25:52,740 Pero como te dije chicos, mi archivo Lo carga no está funcionando. 526 00:25:52,740 --> 00:25:54,590 Si tuviera que cargar un archivo en este momento - 527 00:25:54,590 --> 00:25:57,120 528 00:25:57,120 --> 00:26:00,830 si tuviera que cargar un archivo, y es una imagen - 529 00:26:00,830 --> 00:26:03,180 usted tiene algo de carga eso es una foto. 530 00:26:03,180 --> 00:26:03,660 Eso está bien. 531 00:26:03,660 --> 00:26:04,280 No ocurre nada. 532 00:26:04,280 --> 00:26:10,840 >> Pero si usted tiene un archivo de carga, por ejemplo, y el usuario realmente archivos 533 00:26:10,840 --> 00:26:19,220 un archivo PHP o un archivo exe o algo así, entonces usted podría potencialmente 534 00:26:19,220 --> 00:26:19,740 tener un problema. 535 00:26:19,740 --> 00:26:21,390 Esto funcionaba antes. 536 00:26:21,390 --> 00:26:25,202 Por desgracia para mí, es no trabajar nunca más. 537 00:26:25,202 --> 00:26:30,230 Si yo, por ejemplo, subir el archivo, estoy no obtener permiso para subir 538 00:26:30,230 --> 00:26:33,400 el archivo debido a que el servidor no siendo mía. 539 00:26:33,400 --> 00:26:38,670 Así que el chico es muy inteligente. 540 00:26:38,670 --> 00:26:39,610 >> Así que no queremos - 541 00:26:39,610 --> 00:26:40,130 Voy a mostrar que ustedes - 542 00:26:40,130 --> 00:26:41,840 Bueno, estas son algunas herramientas muy interesantes. 543 00:26:41,840 --> 00:26:45,100 Así que estos - 544 00:26:45,100 --> 00:26:47,715 entrar - si ustedes tienen Firefox - espero que sí. 545 00:26:47,715 --> 00:26:54,260 Hay dos agregaciones llamadas SQL Inject Yo y Cross-Site Guión Me. 546 00:26:54,260 --> 00:26:56,870 Abren tan poco de lado bares en el lado. 547 00:26:56,870 --> 00:27:01,480 Y si tuviera que ir a CS60, por ejemplo - 548 00:27:01,480 --> 00:27:04,210 así que lo que hace es lo que parece para todas las formas que - 549 00:27:04,210 --> 00:27:07,220 550 00:27:07,220 --> 00:27:08,760 con suerte, no voy a entrar en problemas por esto. 551 00:27:08,760 --> 00:27:09,190 >> Pero en Aceptar. 552 00:27:09,190 --> 00:27:12,600 Aquí está el sistema de pin. 553 00:27:12,600 --> 00:27:18,946 Así que cuando me pongo a buscar agujeros en el sistema, lo primero que hago es 554 00:27:18,946 --> 00:27:21,820 abrir esta pequeña y hermosa herramienta en el lado. 555 00:27:21,820 --> 00:27:24,160 Y yo voy a probar formas con ataques automáticos. 556 00:27:24,160 --> 00:27:28,510 Y así, lo que esto hace es que poco a poco abrir un montón de navegadores. 557 00:27:28,510 --> 00:27:29,930 Aquí hay un montón de navegadores. 558 00:27:29,930 --> 00:27:33,320 Y está tratando cada combinación única de cross-site scripting 559 00:27:33,320 --> 00:27:37,380 que posiblemente es decir, si que se ve en el lado. 560 00:27:37,380 --> 00:27:42,080 >> Y que me va a dar un resultado especie de cuál es la respuesta. 561 00:27:42,080 --> 00:27:42,860 Todos pasar. 562 00:27:42,860 --> 00:27:43,910 Obviamente, todos ellos pasan. 563 00:27:43,910 --> 00:27:46,190 Quiero decir, ellos son muy inteligentes la gente de allá arriba. 564 00:27:46,190 --> 00:27:48,010 Pero si yo fuera a correr - 565 00:27:48,010 --> 00:27:52,050 He tenido momentos antes, cuando ejecuto esto sobre los proyectos finales de los alumnos. 566 00:27:52,050 --> 00:27:56,080 Yo simplemente ejecutar SQL Inject Me con todos los diferentes ataques. 567 00:27:56,080 --> 00:28:00,080 Y está tratando de inyectar SQL este servidor pin. 568 00:28:00,080 --> 00:28:03,590 Así que si nos desplazamos hacia abajo, para ejemplo, se dice - 569 00:28:03,590 --> 00:28:04,960 esto es bueno si devuelve. 570 00:28:04,960 --> 00:28:08,250 >> Así que probó algunos ciertos valores. 571 00:28:08,250 --> 00:28:11,170 Y el servidor ha devuelto un código que fue negativo. 572 00:28:11,170 --> 00:28:11,780 Retire temporalmente. 573 00:28:11,780 --> 00:28:13,030 Esto es bueno. 574 00:28:13,030 --> 00:28:17,050 575 00:28:17,050 --> 00:28:20,750 Trata todas estas pruebas. 576 00:28:20,750 --> 00:28:21,790 Así que usted puede simplemente ejecutar - 577 00:28:21,790 --> 00:28:27,860 Me gustaría poder encontrar un sitio web de bienes rápida que me dejaron - 578 00:28:27,860 --> 00:28:29,110 tal vez la tienda CS50. 579 00:28:29,110 --> 00:28:43,890 580 00:28:43,890 --> 00:28:45,711 >> Wow, esto va a tomar demasiado tiempo. 581 00:28:45,711 --> 00:28:53,090 582 00:28:53,090 --> 00:28:55,130 Voy a dejar que la primera prueba No terminó bien. 583 00:28:55,130 --> 00:28:57,330 Por lo tanto, se queja. 584 00:28:57,330 --> 00:28:58,470 Así que estas son tres cosas. 585 00:28:58,470 --> 00:29:00,430 Estas herramientas son gratis. 586 00:29:00,430 --> 00:29:03,960 Puedes descargarlos y ejecutarlos en su sitio web, y le dirá si 587 00:29:03,960 --> 00:29:06,650 usted tiene cross-site scripting, si tiene SQL, si usted tiene 588 00:29:06,650 --> 00:29:07,900 algo por el estilo. 589 00:29:07,900 --> 00:29:12,230 590 00:29:12,230 --> 00:29:14,500 Yo soy una especie de echar a perder. 591 00:29:14,500 --> 00:29:15,550 >> Lo que es importante - 592 00:29:15,550 --> 00:29:17,900 OK, así que nunca confiar en el usuario. 593 00:29:17,900 --> 00:29:21,920 Cualquiera que sea el usuario introduce para ti, enviame Seguro que desinfectar, lo limpie, 594 00:29:21,920 --> 00:29:25,300 comprobar por las cosas correctas, que le está dando lo que 595 00:29:25,300 --> 00:29:28,240 quería que se le dan. 596 00:29:28,240 --> 00:29:32,460 Esté siempre al día de lo marcos que en realidad estás usando. 597 00:29:32,460 --> 00:29:34,630 Si utiliza algo como bootstrap - 598 00:29:34,630 --> 00:29:36,340 Yo sé que ustedes van a utilizar arrancar porque él va a ir 599 00:29:36,340 --> 00:29:38,140 sobre esto pronto en la clase - 600 00:29:38,140 --> 00:29:43,120 y Wordpress o algo por el estilo, Normalmente esto podría ser hackeado. 601 00:29:43,120 --> 00:29:44,770 >> Y entonces usted ni siquiera conoce. 602 00:29:44,770 --> 00:29:45,800 No eres más que el funcionamiento de su sitio web. 603 00:29:45,800 --> 00:29:47,360 Y es totalmente seguro. 604 00:29:47,360 --> 00:29:51,730 Y usted va abajo. 605 00:29:51,730 --> 00:29:54,000 Así que me voy a pescar muy temprano. 606 00:29:54,000 --> 00:29:55,770 Pero quiero agradecer Pentest laboratorios. 607 00:29:55,770 --> 00:29:58,140 Voy a mostrar que ustedes algo llamado Pentest laboratorios. 608 00:29:58,140 --> 00:30:05,000 Si ustedes son realmente interesado en lo que la seguridad es en realidad, hay una 609 00:30:05,000 --> 00:30:07,300 sitio web llamado Pentest laboratorios si ustedes van a él en estos momentos. 610 00:30:07,300 --> 00:30:10,730 Oh, bueno, eso no es todo. 611 00:30:10,730 --> 00:30:12,030 Yo sólo voy a correr así. 612 00:30:12,030 --> 00:30:14,400 Google me dice la respuesta. 613 00:30:14,400 --> 00:30:16,590 >> Aceptar. 614 00:30:16,590 --> 00:30:19,030 Y te enseña el uso - por lo que dice, aprender penetración web 615 00:30:19,030 --> 00:30:21,060 las pruebas de la manera correcta. 616 00:30:21,060 --> 00:30:23,650 Te enseña - 617 00:30:23,650 --> 00:30:25,150 con suerte, usted es una persona ética. 618 00:30:25,150 --> 00:30:29,200 Pero le enseña cómo se puede ver en cómo se puede conseguir dentro de sitios web. 619 00:30:29,200 --> 00:30:31,130 Y si se entera de cómo se puede conseguir dentro de sitios web, usted puede aprender a 620 00:30:31,130 --> 00:30:34,960 proteger uno contra sitios web en su interior. 621 00:30:34,960 --> 00:30:39,100 Déjame el zoom en porque tal vez ustedes no están mirando a este derecho. 622 00:30:39,100 --> 00:30:46,350 >> De inyección de SQL a la cáscara, por lo que especie de cómo puedo obtener de SQL 623 00:30:46,350 --> 00:30:48,530 inyección de shell. 624 00:30:48,530 --> 00:30:53,890 Y usted descarga esta máquina virtual. 625 00:30:53,890 --> 00:30:55,690 Y la máquina virtual ya viene con el sitio web que usted está 626 00:30:55,690 --> 00:30:56,780 va a probar. 627 00:30:56,780 --> 00:30:58,030 Usted descarga el PDF. 628 00:30:58,030 --> 00:31:03,610 629 00:31:03,610 --> 00:31:08,370 Y le mostrará línea por línea lo que lo que tienes que hacer, lo que comprueba. 630 00:31:08,370 --> 00:31:14,560 Esto es lo que un atacante en realidad Cómo llegar dentro de una página web. 631 00:31:14,560 --> 00:31:15,750 >> Y algunas de estas cosas es complicado. 632 00:31:15,750 --> 00:31:17,520 Me gustaría poder ir más cosas con ustedes. 633 00:31:17,520 --> 00:31:21,090 Pero me preocupa que ustedes no tiene en realidad - 634 00:31:21,090 --> 00:31:23,090 esto es lo que me acerqué con ustedes, pruebas web 635 00:31:23,090 --> 00:31:26,830 para las pruebas de penetración. 636 00:31:26,830 --> 00:31:33,540 Realmente no sé lo que SQL es y lo que - 637 00:31:33,540 --> 00:31:35,960 El seminario de Carl Jackson es increíble. 638 00:31:35,960 --> 00:31:37,360 Ustedes no saben ordenar de lo que se trata. 639 00:31:37,360 --> 00:31:39,450 Pero si vas a este sitio web, y usted descargar estos tutoriales y éstos 640 00:31:39,450 --> 00:31:43,290 PDF, usted puede echar un vistazo a una especie de lo que el área de la seguridad que realmente hace 641 00:31:43,290 --> 00:31:46,940 en pruebas de penetración, ver cómo se puede conseguir sitios web dentro y proteger 642 00:31:46,940 --> 00:31:48,020 a sí mismo de ella. 643 00:31:48,020 --> 00:31:56,360 >> Así que si hago un resumen muy rápido, Será prevenir cross-site scripting. 644 00:31:56,360 --> 00:32:00,160 ¿Quieres usar htmlspecialchars cada momento en que el usuario introduce algo. 645 00:32:00,160 --> 00:32:01,580 Evitar la inyección SQL. 646 00:32:01,580 --> 00:32:04,510 Si usted hace eso, usted ya está mejor que Harvard estaba 647 00:32:04,510 --> 00:32:06,530 cuando fueron violadas. 648 00:32:06,530 --> 00:32:10,510 Y asegúrese de que sus contraseñas no están en texto plano. 649 00:32:10,510 --> 00:32:16,220 Asegúrese de hacer no sólo una forma de hash ellos, sino que se utiliza cripta, el PHP 650 00:32:16,220 --> 00:32:18,670 función que les mostré chicos. 651 00:32:18,670 --> 00:32:20,060 De esa manera, debe ser bueno. 652 00:32:20,060 --> 00:32:25,830 >> Además, si sus amigos le permiten, ejecuta SQL Inject Me en sus sitios web. 653 00:32:25,830 --> 00:32:28,140 Ejecutar secuencias de comandos en sitios cruzados en sus sitios web. 654 00:32:28,140 --> 00:32:33,720 Y verás que muchos de estos sitios web tener un montón de vulnerabilidades. 655 00:32:33,720 --> 00:32:40,400 Es increíble cómo se olvidan de mucha gente para desinfectar sus bases de datos o para hacer 656 00:32:40,400 --> 00:32:46,340 seguro de lo de introducción de la persona no es de código script. 657 00:32:46,340 --> 00:32:47,200 Aceptar. 658 00:32:47,200 --> 00:32:49,182 En cierto modo me terminé muy temprano. 659 00:32:49,182 --> 00:32:56,510 Pero si alguien tiene alguna pregunta acerca de cualquier cosa, usted puede dispararme una pregunta. 660 00:32:56,510 --> 00:32:56,630 Sí. 661 00:32:56,630 --> 00:32:56,970 Vaya, vaya. 662 00:32:56,970 --> 00:32:59,846 >> AUDIENCIA: Sólo quiero preguntar, ¿puede explicar cómo el archivo 663 00:32:59,846 --> 00:33:03,160 subir exactamente obras. 664 00:33:03,160 --> 00:33:03,480 >> LUCIANO ARANGO: Si. 665 00:33:03,480 --> 00:33:06,350 Así que déjame que te enseñe el archivo subir muy rápido. 666 00:33:06,350 --> 00:33:11,300 Así que la carga de archivos - 667 00:33:11,300 --> 00:33:14,500 el problema ingenio la carga de archivos ahora mismo es que - 668 00:33:14,500 --> 00:33:18,541 Voy a abrir el código para que ustedes ver el código detrás de las escenas. 669 00:33:18,541 --> 00:33:22,390 670 00:33:22,390 --> 00:33:24,305 Y se sube. 671 00:33:24,305 --> 00:33:28,030 672 00:33:28,030 --> 00:33:31,560 Aquí hay un código para el cargador de archivos. 673 00:33:31,560 --> 00:33:33,980 >> Estamos tratando de entrar en esta directorio por aquí. 674 00:33:33,980 --> 00:33:37,380 675 00:33:37,380 --> 00:33:44,880 Y estamos tratando de, una vez que la entrada de archivo, archivo isset - así que cuando hay una 676 00:33:44,880 --> 00:33:50,900 presentar en ARCHIVOS, esa imagen, a continuación, tratamos de mover aquí. 677 00:33:50,900 --> 00:33:51,910 Cogemos el archivo aquí. 678 00:33:51,910 --> 00:33:58,350 El método es POST, tipo, imagen, archivo. 679 00:33:58,350 --> 00:33:59,630 Y estamos enviando este archivo. 680 00:33:59,630 --> 00:34:03,910 Y una vez que lo hagamos, así que una vez el archivo tiene una imagen, que estamos tratando de enviarlo 681 00:34:03,910 --> 00:34:05,060 a este directorio. 682 00:34:05,060 --> 00:34:09,814 >> El problema es que el sitio web no es dejarme ir a este directorio, 683 00:34:09,814 --> 00:34:12,239 ya que no quiere que vuelva. 684 00:34:12,239 --> 00:34:13,489 No quiere que me vaya - 685 00:34:13,489 --> 00:34:15,620 686 00:34:15,620 --> 00:34:17,070 Me tengo que ir - así que aquí está la cargar. 687 00:34:17,070 --> 00:34:17,639 He aquí las imágenes. 688 00:34:17,639 --> 00:34:21,780 Tengo que ir todo el camino de regreso a la comenzando y lo puso en en el acto 689 00:34:21,780 --> 00:34:23,820 ir y ponerlo en el directorio. 690 00:34:23,820 --> 00:34:30,000 Así que si yo estaba corriendo una ventana de terminal, y quería mover un archivo - 691 00:34:30,000 --> 00:34:30,409 [Inaudible] 692 00:34:30,409 --> 00:34:32,159 puede verlo. 693 00:34:32,159 --> 00:34:37,940 Si quisiera mover un archivo, tengo para poner el nombre del archivo y luego el 694 00:34:37,940 --> 00:34:40,860 ruta completa Quiero enviar el mensaje. 695 00:34:40,860 --> 00:34:45,110 >> Y a continuación, el servidor no está dejarme ir hacia atrás. 696 00:34:45,110 --> 00:34:46,929 Y lo que no está dejando a llegar a ese archivo. 697 00:34:46,929 --> 00:34:47,670 Pero normalmente - 698 00:34:47,670 --> 00:34:49,360 así que hay un código para subir un archivo. 699 00:34:49,360 --> 00:34:52,260 Así que normalmente lo que sucederá es que el persona no está comprobando si mi archivo 700 00:34:52,260 --> 00:34:57,920 termina con. jpeg, así que que desee comprobar. 701 00:34:57,920 --> 00:35:00,054 Permítanme abrir un ejemplo demasiado 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 persona adecuada - 705 00:35:09,230 --> 00:35:11,980 así ejemplo dos es la comprobación si 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 con PHP, lo cual es bueno. 708 00:35:19,660 --> 00:35:20,580 Esto es bueno. 709 00:35:20,580 --> 00:35:22,820 Pero hay una gran reales problema con esto. 710 00:35:22,820 --> 00:35:24,600 Esto es bueno. 711 00:35:24,600 --> 00:35:44,190 Pero si tuviera que poner un archivo llamado myfavoritepicture.php.jpeg, pude 712 00:35:44,190 --> 00:35:50,060 siendo potencialmente deshacerse del jpeg y ejecutar PHP it.k Eso es peligroso. 713 00:35:50,060 --> 00:35:53,850 Usted no quiere que la persona sea capaz para ejecutar código en su sitio web. 714 00:35:53,850 --> 00:35:55,750 >> Pero entonces. Jpeg lo deja pasar. 715 00:35:55,750 --> 00:36:00,720 La idea es lo que realmente quieres hacer No es tomar los archivos, A. Pero, bien, lo que 716 00:36:00,720 --> 00:36:07,500 que realmente quiero hacer es asegurarse de que se lee en todo el mundo. 717 00:36:07,500 --> 00:36:08,720 Y no hay nada. Php en ella. 718 00:36:08,720 --> 00:36:10,500 No hay. Php en el nombre del archivo entero. 719 00:36:10,500 --> 00:36:12,780 >> AUDIENCIA: Pero podrías poner. jpeg en el extremo. 720 00:36:12,780 --> 00:36:15,830 Los servidores siguen corriendo el código. 721 00:36:15,830 --> 00:36:16,870 >> LUCIANO ARANGO: No, no lo hará correr por el principio. 722 00:36:16,870 --> 00:36:22,310 Tienes que volver y probar para ver si puedes - 723 00:36:22,310 --> 00:36:24,210 >> AUDIENCIA: Así que tenemos que - 724 00:36:24,210 --> 00:36:26,020 Bien, sólo otro conjunto que implica - 725 00:36:26,020 --> 00:36:26,936 >> LUCIANO ARANGO: Si. 726 00:36:26,936 --> 00:36:29,230 >> AUDIENCIA: OK. 727 00:36:29,230 --> 00:36:31,486 >> LUCIANO ARANGO: Si. 728 00:36:31,486 --> 00:36:31,900 Aceptar. 729 00:36:31,900 --> 00:36:32,865 ¿Alguna otra pregunta? 730 00:36:32,865 --> 00:36:33,180 Aceptar. 731 00:36:33,180 --> 00:36:37,350 Voy a dejar esto y ordenar de tratar de ver si ustedes pueden - 732 00:36:37,350 --> 00:36:40,490 los otros son un poco más complicado porque requieren mucho 733 00:36:40,490 --> 00:36:44,050 más conocimientos de SQL que sólo la a partir del conocimiento de la web es SQL y 734 00:36:44,050 --> 00:36:47,010 lo que JavaScript está. 735 00:36:47,010 --> 00:36:49,730 Pero voy a tratar de seguir con esto, y es de esperar que los chicos se aprenda 736 00:36:49,730 --> 00:36:53,230 sobre esto y tratar de echar un vistazo a lo que puede hacer y cuántos ejemplos 737 00:36:53,230 --> 00:36:54,420 usted puede conseguir a través. 738 00:36:54,420 --> 00:36:56,020 >> Alguien tiene alguna otra preguntas al respecto? 739 00:36:56,020 --> 00:36:59,387 740 00:36:59,387 --> 00:37:00,350 Adelante. 741 00:37:00,350 --> 00:37:01,170 Sí, disparar, disparar. 742 00:37:01,170 --> 00:37:01,580 Sí, adelante. 743 00:37:01,580 --> 00:37:01,850 Adelante. 744 00:37:01,850 --> 00:37:02,310 >> AUDIENCIA: OK. 745 00:37:02,310 --> 00:37:08,870 Así me enteré de cómo Cotizaciones Magia no están lo suficientemente seguro. 746 00:37:08,870 --> 00:37:09,280 >> LUCIANO ARANGO: ¿Qué - 747 00:37:09,280 --> 00:37:10,110 Cotizaciones magia? 748 00:37:10,110 --> 00:37:10,595 >> AUDIENCIA: Si. 749 00:37:10,595 --> 00:37:15,445 Por lo tanto, añade - así que siempre que la entrada algo, que siempre añade comillas. 750 00:37:15,445 --> 00:37:15,930 >> LUCIANO ARANGO: Si. 751 00:37:15,930 --> 00:37:16,000 Sí. 752 00:37:16,000 --> 00:37:16,496 Aceptar. 753 00:37:16,496 --> 00:37:19,113 >> AUDIENCIA: Y entonces pensé que trabajé, pero luego busqué arriba. 754 00:37:19,113 --> 00:37:21,648 Y dijo que no es bueno. 755 00:37:21,648 --> 00:37:23,050 Pero no estoy seguro de por qué. 756 00:37:23,050 --> 00:37:23,360 >> LUCIANO ARANGO: Si. 757 00:37:23,360 --> 00:37:26,240 >> AUDIENCIA: No utilice Comillas Mágicas, porque no es seguro. 758 00:37:26,240 --> 00:37:26,360 >> LUCIANO ARANGO: OK. 759 00:37:26,360 --> 00:37:31,735 Así Comillas Mágicas es al insertar SQL y ya suma la oferta para usted. 760 00:37:31,735 --> 00:37:33,520 >> AUDIENCIA: Siempre agrega comillas todo lo que usted pone adentro 761 00:37:33,520 --> 00:37:34,210 >> LUCIANO ARANGO: Si. 762 00:37:34,210 --> 00:37:37,190 Así que el problema con esto es que - 763 00:37:37,190 --> 00:37:38,445 Voy a echar un vistazo a - 764 00:37:38,445 --> 00:37:41,390 >> AUDIENCIA: ¿Cómo se adquieren la sentencia de SQL? 765 00:37:41,390 --> 00:37:44,690 O supongo que podría ser como dice la cita seleccionar. 766 00:37:44,690 --> 00:37:49,030 >> LUCIANO ARANGO: Sí, usted necesita buenas citas para el SQL. 767 00:37:49,030 --> 00:37:52,900 >> AUDIENCIA: No, pero el servidor lo hace por usted. 768 00:37:52,900 --> 00:37:54,460 >> LUCIANO ARANGO: Estos pequeños cotizaciones aquí, estas pequeñas frases? 769 00:37:54,460 --> 00:37:55,670 >> AUDIENCIA: Si. 770 00:37:55,670 --> 00:37:56,450 >> LUCIANO ARANGO: Si. 771 00:37:56,450 --> 00:37:59,860 El problema es que se puede comente la última - 772 00:37:59,860 --> 00:38:05,770 OK, así que lo que puedo hacer es lo que puedo comentar - así que vamos a echar un vistazo a - dejame 773 00:38:05,770 --> 00:38:07,920 abrir un archivo de texto de edición. 774 00:38:07,920 --> 00:38:09,610 Permítanme editar este 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 Pueden ustedes ver que claramente? 778 00:38:23,710 --> 00:38:29,730 Lo que puedo hacer es que puedo comentar fuera el último. 779 00:38:29,730 --> 00:38:32,190 Esto le comente la última. 780 00:38:32,190 --> 00:38:36,760 Y luego voy a poner uno aquí, puesto todas las cosas malicioso aquí. 781 00:38:36,760 --> 00:38:39,840 782 00:38:39,840 --> 00:38:42,630 >> Así que el usuario es en realidad insertando, ¿verdad? 783 00:38:42,630 --> 00:38:45,230 El usuario no está introduciendo las cosas, ¿no? 784 00:38:45,230 --> 00:38:47,430 Esto es lo que voy a la entrada como la persona que intenta entrar. 785 00:38:47,430 --> 00:38:49,430 Me voy a poner en - 786 00:38:49,430 --> 00:38:59,290 787 00:38:59,290 --> 00:39:00,180 esa es una comilla. 788 00:39:00,180 --> 00:39:01,760 Es sólo serpenteante por error. 789 00:39:01,760 --> 00:39:15,080 790 00:39:15,080 --> 00:39:19,400 Y entonces lo que el código va a hacer - 791 00:39:19,400 --> 00:39:20,190 lo siento, me voy a tomar esto. 792 00:39:20,190 --> 00:39:22,170 Lo que el código va a hacer es que va a añadir el primero 793 00:39:22,170 --> 00:39:24,030 comillas aquí. 794 00:39:24,030 --> 00:39:26,040 Y se va a agregar a la última comilla también. 795 00:39:26,040 --> 00:39:29,350 796 00:39:29,350 --> 00:39:33,270 >> Y también va a añadir el última, última comilla. 797 00:39:33,270 --> 00:39:37,380 Pero yo estoy comentando estos cita marca a cabo, por lo que no se ejecutan. 798 00:39:37,380 --> 00:39:41,440 Y estoy terminando esta cita marque aquí. 799 00:39:41,440 --> 00:39:42,290 ¿Entiendes? 800 00:39:42,290 --> 00:39:43,750 ¿Te has perdido? 801 00:39:43,750 --> 00:39:45,880 Yo puedo comentar la última cotización marca, y cuidar de la 802 00:39:45,880 --> 00:39:46,680 primera comilla. 803 00:39:46,680 --> 00:39:47,350 >> AUDIENCIA: Y acabado justo el primero. 804 00:39:47,350 --> 00:39:47,480 >> LUCIANO ARANGO: Si. 805 00:39:47,480 --> 00:39:48,400 Y así terminar la primera. 806 00:39:48,400 --> 00:39:48,790 Sí, eso es correcto. 807 00:39:48,790 --> 00:39:50,800 Eso es lo que puedo hacer. 808 00:39:50,800 --> 00:39:51,890 Sí. 809 00:39:51,890 --> 00:39:52,980 ¿Alguna otra pregunta como esa? 810 00:39:52,980 --> 00:39:54,230 Esa es una gran pregunta. 811 00:39:54,230 --> 00:39:56,960 812 00:39:56,960 --> 00:39:59,790 No, sí, tal vez. 813 00:39:59,790 --> 00:40:06,150 Con suerte, ustedes van a hacer una especie de más sentido cuando se estudia SQL y 814 00:40:06,150 --> 00:40:06,650 cosas así. 815 00:40:06,650 --> 00:40:07,980 Pero asegúrese de que - 816 00:40:07,980 --> 00:40:10,340 mantener estas herramientas en el reloj. 817 00:40:10,340 --> 00:40:12,760 Lo sentimos, estas herramientas más aquí. 818 00:40:12,760 --> 00:40:14,200 Estas herramientas son muy buenos. 819 00:40:14,200 --> 00:40:17,190 Si alguien tiene alguna pregunta, usted también puede enviarme un email. 820 00:40:17,190 --> 00:40:19,020 Este es mi correo electrónico normal. 821 00:40:19,020 --> 00:40:25,015 Y este es mi correo electrónico del trabajo, que es cuando yo trabajo en SEAS. 822 00:40:25,015 --> 00:40:26,040 >> Bien, gracias. 823 00:40:26,040 --> 00:40:26,740 Gracias, chicos. 824 00:40:26,740 --> 00:40:27,860 Eres bueno para ir. 825 00:40:27,860 --> 00:40:28,830 Usted no tiene que quedarse aquí. 826 00:40:28,830 --> 00:40:29,570 No aplauda. 827 00:40:29,570 --> 00:40:30,170 Eso es raro. 828 00:40:30,170 --> 00:40:31,420 Bien, gracias, chicos. 829 00:40:31,420 --> 00:40:32,320