1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:10,300 >> LUCIANO Arango: OK, băieți. 3 00:00:10,300 --> 00:00:11,550 Numele meu este Luciano Arango. 4 00:00:11,550 --> 00:00:13,915 Sunt un al doilea de studentie în Adams House. 5 00:00:13,915 --> 00:00:17,550 Și vom vorbi despre securitate web apărare activă. 6 00:00:17,550 --> 00:00:24,220 Așa că am de lucru pentru Biroul de Informare Securitate în SEAS. 7 00:00:24,220 --> 00:00:28,670 Și în timpul verii, am internat la SeguraTec, care a fost o informație 8 00:00:28,670 --> 00:00:31,310 Compania de securitate care a servit pentru Banca de Columbia. 9 00:00:31,310 --> 00:00:34,740 Asta-i cea mai mare parte în care am învățat ceea ce am învățat până acum. 10 00:00:34,740 --> 00:00:37,990 >> Și astfel o parte din materialul pe care suntem de gând să meargă peste ziua de azi, noi nu avem 11 00:00:37,990 --> 00:00:39,670 într-adevăr a vorbit despre în clasa. 12 00:00:39,670 --> 00:00:40,410 Dar o vom face în curând. 13 00:00:40,410 --> 00:00:42,360 O să fie ca SQL, JavaScript. 14 00:00:42,360 --> 00:00:44,870 Și nu am cu adevărat trecut peste el. 15 00:00:44,870 --> 00:00:47,730 Asa ca am putea sorta de zbor prin ea, și s-ar putea să nu știu unele lucruri. 16 00:00:47,730 --> 00:00:48,890 Dar în curând, vei afla. 17 00:00:48,890 --> 00:00:52,080 Și va face toate sens. 18 00:00:52,080 --> 00:00:54,010 De asemenea, un alt lucru - 19 00:00:54,010 --> 00:00:55,780 rămâne etic. 20 00:00:55,780 --> 00:01:00,560 Unele din lucrurile pe care le învață, te ar putea folosi într-un mod non-etice. 21 00:01:00,560 --> 00:01:01,950 >> Dacă e al tău, să încercați cu siguranta. 22 00:01:01,950 --> 00:01:04,500 Eu cu siguranta voi motiva pentru a încerca propriile servere, încercați 23 00:01:04,500 --> 00:01:05,519 întâmplă în interiorul lor. 24 00:01:05,519 --> 00:01:08,500 A se vedea dacă aveți posibilitatea să le pătrundă, dacă puteți obține în interiorul lor. 25 00:01:08,500 --> 00:01:09,560 Dar nu oricine altcineva. 26 00:01:09,560 --> 00:01:12,390 Polițiștii nu-mi place cu adevărat glumele și În general, am pus asta aici. 27 00:01:12,390 --> 00:01:14,040 Am fost în jur de joc. 28 00:01:14,040 --> 00:01:15,780 Ei primesc foarte furios. 29 00:01:15,780 --> 00:01:18,700 >> Deci, peste cap de la acest site. 30 00:01:18,700 --> 00:01:23,560 Am deschis-o chiar aici. 31 00:01:23,560 --> 00:01:26,780 Acesta este un site web, și-l are o grămadă de exemple. 32 00:01:26,780 --> 00:01:30,000 Ce se întâmplă este că primul exemplu este un fel de a merge pentru a fi mult mai ușor 33 00:01:30,000 --> 00:01:33,470 decât ultimul exemplu într-un sens că primul exemplu 34 00:01:33,470 --> 00:01:34,970 este complet nesigur. 35 00:01:34,970 --> 00:01:40,850 Iar ultima este un fel de ceea ce o persoană normală securitate web ar face. 36 00:01:40,850 --> 00:01:42,760 Dar puteți totuși fel de a obține în jurul asta. 37 00:01:42,760 --> 00:01:44,860 Și am de gând să concentrându-se pe o și doi, exemple unu și doi. 38 00:01:44,860 --> 00:01:49,880 39 00:01:49,880 --> 00:01:49,920 >> OK. 40 00:01:49,920 --> 00:01:52,780 Să începem cu cross-site scripting. 41 00:01:52,780 --> 00:01:56,100 JavaScript este rulat pe browser-ul clientului. 42 00:01:56,100 --> 00:01:59,980 Este un limbaj de programare pe care le utilizați pentru a rula pe browser-ul clientului, astfel 43 00:01:59,980 --> 00:02:04,120 nu aveți pentru a actualiza site-ul web și du-te înapoi la server. 44 00:02:04,120 --> 00:02:04,940 L-ați pornit. 45 00:02:04,940 --> 00:02:08,870 De exemplu, Facebook, nu trebuie pentru a reîncărca site-ul pentru un nou statut 46 00:02:08,870 --> 00:02:09,710 actualizări de a veni. 47 00:02:09,710 --> 00:02:12,170 Este folosind JavaScript pentru a genera toate aceste lucruri. 48 00:02:12,170 --> 00:02:16,290 Deci, putem injecta malitios JavaScript în site-urile. 49 00:02:16,290 --> 00:02:20,890 Și în acest fel, atunci când vom trimite un link la cineva, am putea un fel de-l trimite cu 50 00:02:20,890 --> 00:02:23,050 o parte din codul pe care ne-o dorim. 51 00:02:23,050 --> 00:02:26,450 >> Există persistente și non-persistent JavaScript - 52 00:02:26,450 --> 00:02:30,640 persistente și non-persistent cross-site-ul scripting, vreau să spun. 53 00:02:30,640 --> 00:02:33,760 Și diferența fiind că persistente este JavaScript care va fi 54 00:02:33,760 --> 00:02:36,060 salvate pe site-ul web. 55 00:02:36,060 --> 00:02:39,780 Și non-persistent va fi JavaScript că se va întâmpla de fapt, doar o dată. 56 00:02:39,780 --> 00:02:41,795 Așa că haideți să ne uităm la un exemplu foarte repede. 57 00:02:41,795 --> 00:02:45,660 58 00:02:45,660 --> 00:02:46,130 >> OK. 59 00:02:46,130 --> 00:02:51,620 Deci acest site, simplu, nu se întâmplă nimic aici. 60 00:02:51,620 --> 00:02:53,070 Și vom încerca să introduce unele JavaScript. 61 00:02:53,070 --> 00:02:58,110 Deci, modul în care începe să scrie JavaScript este să începem cu scenariul început. 62 00:02:58,110 --> 00:03:00,570 Și l-am închide cu script. 63 00:03:00,570 --> 00:03:03,770 Suntem pur și simplu merge pentru a pune un mesaj - 64 00:03:03,770 --> 00:03:05,410 Vă voi arăta - 65 00:03:05,410 --> 00:03:06,500 alertă. 66 00:03:06,500 --> 00:03:11,150 Alert este o funcție care JavaScript folosește pentru a afișa ceva. 67 00:03:11,150 --> 00:03:12,400 Deci, haideți să încercăm repede. 68 00:03:12,400 --> 00:03:15,600 69 00:03:15,600 --> 00:03:18,944 Am de gând să merg, salut alertă. 70 00:03:18,944 --> 00:03:20,400 Ei bine, am uitat să pun - 71 00:03:20,400 --> 00:03:24,510 72 00:03:24,510 --> 00:03:25,460 OK. 73 00:03:25,460 --> 00:03:26,540 Deci, asta e simplu. 74 00:03:26,540 --> 00:03:28,730 >> Am pus JavaScript pe un site web, și a venit în sus. 75 00:03:28,730 --> 00:03:31,200 Și ea un fel de întâmplă numai pe site-ul nostru, nu? 76 00:03:31,200 --> 00:03:33,040 Deci, se pare ca nu e o problemă, nu? 77 00:03:33,040 --> 00:03:34,920 Vreau să spun, cum ai putea folosi această răutate? 78 00:03:34,920 --> 00:03:39,930 Astfel modul în care hackerii fac acest lucru este foarte simplu. 79 00:03:39,930 --> 00:03:40,970 Ei au de gând să-l apuca. 80 00:03:40,970 --> 00:03:43,750 Ei pot trimite link-ul pentru tine. 81 00:03:43,750 --> 00:03:46,780 Dacă voi trimite link-ul la tine chiar acum, și-l deschide, se va 82 00:03:46,780 --> 00:03:51,620 spun, salut, spunând că site-ul meu va spune salut. 83 00:03:51,620 --> 00:03:57,280 >> Și așa că, dacă ar fi să spun ceva un pic mai inteligent, dacă am trage un 84 00:03:57,280 --> 00:03:59,880 JavaScript funcții I fel a scris deja - 85 00:03:59,880 --> 00:04:03,940 dar dacă te uiți la el, voi merge peste el înainte de a am scris-o. 86 00:04:03,940 --> 00:04:06,650 Așa că am de gând să se stabilească un timeout. 87 00:04:06,650 --> 00:04:08,450 Vom aștepta câteva secunde. 88 00:04:08,450 --> 00:04:13,970 De fapt, am de gând să aștepte, în cazul în care Eu nu mă înșel, cinci secunde. 89 00:04:13,970 --> 00:04:15,870 Acest lucru este valabil în milisecunde. 90 00:04:15,870 --> 00:04:18,640 Și atunci ce vom face este că suntem O să avertizăm că conectare 91 00:04:18,640 --> 00:04:21,459 a expirat pentru a vă conecta înapoi inch 92 00:04:21,459 --> 00:04:23,990 Și vom schimba locația la o altă locație. 93 00:04:23,990 --> 00:04:30,370 94 00:04:30,370 --> 00:04:32,970 >> Deci, dacă am trimite acest site pentru cineva, ei vor fi 95 00:04:32,970 --> 00:04:34,380 navighează în jurul, calm. 96 00:04:34,380 --> 00:04:35,650 Nu se întâmplă nimic. 97 00:04:35,650 --> 00:04:38,550 Și în cinci secunde, acesta va să spun, login-ul expirat. 98 00:04:38,550 --> 00:04:40,200 Conectați-vă înapoi inch 99 00:04:40,200 --> 00:04:43,400 După ce fac clic pe OK, am de gând să le ia la un alt site. 100 00:04:43,400 --> 00:04:45,980 Probabil, site-ul se va fie similar cu site-ul care 101 00:04:45,980 --> 00:04:47,280 au fost înainte. 102 00:04:47,280 --> 00:04:50,770 Și au de gând să vă conectați lor scrisorile de acreditare în site-ul meu în loc de 103 00:04:50,770 --> 00:04:51,850 site-ul lor. 104 00:04:51,850 --> 00:04:54,780 >> Și așa că am putea trimite oameni o e-mail cu acest link. 105 00:04:54,780 --> 00:04:56,240 Eu zic, oh, aici este un link. 106 00:04:56,240 --> 00:04:57,290 Aceasta este o bancă, de exemplu. 107 00:04:57,290 --> 00:05:01,390 Eu spun, aici, du-te la acest link. 108 00:05:01,390 --> 00:05:03,730 Și odată ce-l trimit, sunt va fi de navigare în jurul. 109 00:05:03,730 --> 00:05:07,560 Pot să aștept timp de 15 secunde, 20 secunde, și apoi pop care vă rugăm să intrați din nou în 110 00:05:07,560 --> 00:05:08,840 semna din nou. 111 00:05:08,840 --> 00:05:10,120 Voi încerca să-l cu mult mai multe lucruri. 112 00:05:10,120 --> 00:05:13,190 E complicat pentru că voi nu s-au văzut JavaScript, deci s-ar putea 113 00:05:13,190 --> 00:05:14,750 Nu știu unele funcții. 114 00:05:14,750 --> 00:05:18,625 Dar tot ce trebuie să faceți este să înceapă cu script-ul, se încheie cu script. 115 00:05:18,625 --> 00:05:22,105 116 00:05:22,105 --> 00:05:25,510 Și ai putea pune ceva în mijloc. 117 00:05:25,510 --> 00:05:27,350 >> Alert este o funcție, așteptați. 118 00:05:27,350 --> 00:05:29,365 Locul de amplasare fereastră va duce într-o locație nouă. 119 00:05:29,365 --> 00:05:31,370 Dar puteți face acest lucru mult mai mult. 120 00:05:31,370 --> 00:05:32,630 Și astfel ideea este că vom lua aia. 121 00:05:32,630 --> 00:05:39,350 Dacă mă duc la exemplu, două, și eu pune în același cod, este 122 00:05:39,350 --> 00:05:40,210 nu va merge. 123 00:05:40,210 --> 00:05:43,620 Deci, se imprimă tot din cauza ceea ce acest site inițial 124 00:05:43,620 --> 00:05:50,350 nu este dacă am pus ceva aici, se va imprima chiar aici. 125 00:05:50,350 --> 00:05:52,390 Deci, nu se imprimă nimic. 126 00:05:52,390 --> 00:05:55,560 Acest exemplu este de fapt verificare pentru a vedea în cazul în care script-ul este acolo. 127 00:05:55,560 --> 00:05:57,163 Deci da, dă-i drumul. 128 00:05:57,163 --> 00:05:57,606 Întreabă-mă. 129 00:05:57,606 --> 00:05:59,560 >> Audiența: nu este trimiterea o obține sau cerere posta? 130 00:05:59,560 --> 00:06:00,670 >> LUCIANO Arango: Da. acestea sunt trimite o cerere GET. 131 00:06:00,670 --> 00:06:01,350 >> Audiența: Este? 132 00:06:01,350 --> 00:06:02,490 >> LUCIANO Arango: Da. 133 00:06:02,490 --> 00:06:04,030 De asemenea, browsere folosesc cereri POST. 134 00:06:04,030 --> 00:06:07,470 Dar eu încerc să arate cereri get astfel încât să putem vedea ce este 135 00:06:07,470 --> 00:06:10,760 de fapt se întâmplă. 136 00:06:10,760 --> 00:06:12,880 Și așa, dacă ne uităm la acest cod - asa ca nu mai e de lucru. 137 00:06:12,880 --> 00:06:24,870 Și dacă ne uităm la acest cod, aceasta va fi în exemplul doi. 138 00:06:24,870 --> 00:06:29,300 Ce această persoană este de a face, persoana care se ocupă de acest browser - 139 00:06:29,300 --> 00:06:35,370 deschide, OK - 140 00:06:35,370 --> 00:06:39,290 este înlocuirea script cuvânt. 141 00:06:39,290 --> 00:06:42,850 Acest lucru este PHP, care voi s-ar putea au văzut un pic de încă. 142 00:06:42,850 --> 00:06:46,250 >> Tocmai înlocuirea script cuvânt cu nume. 143 00:06:46,250 --> 00:06:50,895 Deci, cu toate acestea, dacă am merge mai departe și doar a pus în - 144 00:06:50,895 --> 00:06:58,520 145 00:06:58,520 --> 00:07:02,360 dacă am apuca codul meu din nou, și am de gând să-l modifice doar un pic. 146 00:07:02,360 --> 00:07:15,010 În loc de scenariu, am de gând să se schimbe l pentru script cu un capital R. Și 147 00:07:15,010 --> 00:07:16,390 vom vedea dacă acest cod de lucrări. 148 00:07:16,390 --> 00:07:19,090 Deci, nu-l imprimați, ceea ce este un semn bun. 149 00:07:19,090 --> 00:07:21,990 Și, sperăm, în mai multe de două secunde, se va pop-up. 150 00:07:21,990 --> 00:07:22,820 >> Login-ul expirat. 151 00:07:22,820 --> 00:07:23,210 OK. 152 00:07:23,210 --> 00:07:24,460 E bine. 153 00:07:24,460 --> 00:07:27,670 Deci, de verificare pentru script-ar putea nu funcționează în mod necesar. 154 00:07:27,670 --> 00:07:28,130 Persoana - 155 00:07:28,130 --> 00:07:32,290 se poate verifica, de asemenea, pentru script majuscule, script litere mici, caz str. 156 00:07:32,290 --> 00:07:34,180 comparație, asigurați-vă că sunt la fel. 157 00:07:34,180 --> 00:07:38,480 Dar hacker poate face încă un fel de ceea ce am făcut în Vigenere când ne-am mutat 158 00:07:38,480 --> 00:07:40,620 înapoi câteva personaje, merge mai departe. 159 00:07:40,620 --> 00:07:43,470 Și-l pot da seama cum de a pune script înapoi acolo astfel încât să poată injecta 160 00:07:43,470 --> 00:07:44,460 că script. 161 00:07:44,460 --> 00:07:50,370 >> Deci, ceea ce doriți să utilizați este htmlspecialchars a 162 00:07:50,370 --> 00:07:51,330 proteja site-ul dumneavoastră. 163 00:07:51,330 --> 00:07:56,490 Și ce acest lucru nu este o face sigur că ceea ce ai pus în - 164 00:07:56,490 --> 00:07:59,610 de exemplu, cursuri sau acest mai mare sau mai mică de - 165 00:07:59,610 --> 00:08:04,701 este înlocuit cu ceva că nu va fi - 166 00:08:04,701 --> 00:08:05,951 permiteți-mi mări aici - 167 00:08:05,951 --> 00:08:08,730 168 00:08:08,730 --> 00:08:09,685 ampersand real. 169 00:08:09,685 --> 00:08:13,420 Acesta va înlocui cele special HTML personaje pe care le vom vedea când vom fi 170 00:08:13,420 --> 00:08:14,670 vorbesc despre - 171 00:08:14,670 --> 00:08:18,635 172 00:08:18,635 --> 00:08:20,740 oh, acest lucru se întâmplă să mă ducă înapoi la - 173 00:08:20,740 --> 00:08:24,220 174 00:08:24,220 --> 00:08:25,380 aceste personaje chiar aici. 175 00:08:25,380 --> 00:08:28,180 >> Acestea înseamnă că ceva se apropie. 176 00:08:28,180 --> 00:08:31,570 Pentru HTML, ca suport început ne spune că ceva 177 00:08:31,570 --> 00:08:33,299 Vine HTML aferente. 178 00:08:33,299 --> 00:08:33,980 Și vrem să scăpăm de asta. 179 00:08:33,980 --> 00:08:36,200 Noi nu vrem să pună HTML într-un website.k Nu vrem ca utilizatorul să fie 180 00:08:36,200 --> 00:08:40,260 posibilitatea de a pune ceva pe site-ul lor care pot afecta site-ul lor, cum ar fi 181 00:08:40,260 --> 00:08:43,480 script sau HTML sau ceva de genul asta. 182 00:08:43,480 --> 00:08:53,090 Ceea ce este important este că asanare a introduse de utilizator. 183 00:08:53,090 --> 00:08:54,720 >> Astfel încât utilizatorii pot de intrare multe lucruri. 184 00:08:54,720 --> 00:08:58,110 El poate introduce o grămadă de lucruri pentru a încerca a truc browser-ul dvs. în continuare 185 00:08:58,110 --> 00:08:59,410 care rulează acest cod script. 186 00:08:59,410 --> 00:09:02,870 Ce doriți să faceți este să nu se uite doar pentru scenariu, dar uita-te pentru tot 187 00:09:02,870 --> 00:09:04,250 care ar putea fi rău intenționat. 188 00:09:04,250 --> 00:09:06,800 Și htmlspecialchars va face asta pentru tine, astfel încât să nu aveți 189 00:09:06,800 --> 00:09:07,340 să vă faceți griji despre asta. 190 00:09:07,340 --> 00:09:12,280 Dar nu încerca să faci de unul singur un fel de cu propriul cod. 191 00:09:12,280 --> 00:09:14,055 Este clar pe toată lumea XSS? 192 00:09:14,055 --> 00:09:14,370 >> OK. 193 00:09:14,370 --> 00:09:16,355 Să mergem la SQL injection. 194 00:09:16,355 --> 00:09:21,010 Deci, injecție SQL este, probabil, numărul unu vulnerabilitate 195 00:09:21,010 --> 00:09:22,490 în diferite site-uri. 196 00:09:22,490 --> 00:09:24,350 Vreau să spun, un exemplu bun - 197 00:09:24,350 --> 00:09:27,350 Am fost doar cercetarea mai departe pentru acest lucru. 198 00:09:27,350 --> 00:09:34,430 Și am găsit acest articol minunat, în cazul în care Am văzut că la Harvard a fost încălcat, 199 00:09:34,430 --> 00:09:35,390 a fost spart. 200 00:09:35,390 --> 00:09:37,370 Și mă întrebam, ei bine, cum ar face ei? 201 00:09:37,370 --> 00:09:41,660 E Harvard cel mai minunat, cel mai asigura universitate vreodată. 202 00:09:41,660 --> 00:09:43,850 Corect? 203 00:09:43,850 --> 00:09:45,410 Ei bine, să încalce serverele, hackerii au folosit un 204 00:09:45,410 --> 00:09:47,710 tehnica numita SQL injection. 205 00:09:47,710 --> 00:09:50,250 >> Deci, acest lucru se întâmplă într-o zi la bază zi. 206 00:09:50,250 --> 00:09:53,590 Oameni uitați să luați în considerare pentru injecție SQL. 207 00:09:53,590 --> 00:09:54,930 Harvard are. 208 00:09:54,930 --> 00:10:00,050 Cred că se spune aici, Princeton, Stanford, Cornell. 209 00:10:00,050 --> 00:10:03,550 Deci, cum putem - Deci, ce este această SQL injectare, care aduce toate aceste 210 00:10:03,550 --> 00:10:05,668 oameni în jos? 211 00:10:05,668 --> 00:10:08,010 OK. 212 00:10:08,010 --> 00:10:12,090 Deci, SQL este un limbaj de programare care vom folosi pentru a accesa bazele de date. 213 00:10:12,090 --> 00:10:14,560 Ceea ce facem este vom selecta - 214 00:10:14,560 --> 00:10:18,510 Deci, despre ce citește acum este select totul, de la masa. 215 00:10:18,510 --> 00:10:22,640 >> SQL, se schimbă în aceste baze de date care au mese pline de informații. 216 00:10:22,640 --> 00:10:26,550 Deci, alege totul, de la utilizatori în cazul în care numele este numele de utilizator. 217 00:10:26,550 --> 00:10:28,120 Corect? 218 00:10:28,120 --> 00:10:30,770 Destul de simplu. 219 00:10:30,770 --> 00:10:34,490 Ideea de injecție SQL este că noi introduceți un cod malitios care ar 220 00:10:34,490 --> 00:10:37,270 păcăli serverul în care rulează ceva diferit de ceea ce se 221 00:10:37,270 --> 00:10:38,430 inițial a fost difuzate. 222 00:10:38,430 --> 00:10:44,970 Deci, haideți să spunem, de numele de utilizator, am pus în sau 1 este egal cu 1. 223 00:10:44,970 --> 00:10:46,700 Așa că am pus în sau 1 este egal cu 1. 224 00:10:46,700 --> 00:10:49,890 Modul în care se va citi acum vor fi selectați de la utilizatori, totul, de la 225 00:10:49,890 --> 00:10:51,360 utilizatori - aceasta este tot ceea ce - 226 00:10:51,360 --> 00:10:55,880 unde nume este numele de utilizator, dar numele de utilizator este de 1 sau egal cu 1. 227 00:10:55,880 --> 00:11:01,760 >> Deci numele nu este nimic sau 1 este egal cu 1. 228 00:11:01,760 --> 00:11:04,060 1 este egal cu 1 este întotdeauna adevărat. 229 00:11:04,060 --> 00:11:07,690 Deci, acest lucru se va întoarce întotdeauna informații de utilizatori. 230 00:11:07,690 --> 00:11:08,100 OK. 231 00:11:08,100 --> 00:11:10,030 Noi nu trebuie să aibă numele de utilizator corect. 232 00:11:10,030 --> 00:11:14,240 Putem avea doar ceva care ne-o dorim, și se va reveni informații 233 00:11:14,240 --> 00:11:15,690 de care avem nevoie. 234 00:11:15,690 --> 00:11:17,160 Să ne uităm la un alt exemplu. 235 00:11:17,160 --> 00:11:22,720 >> Dacă am alege orice de la utilizator, unde nume este utilizatorii TABLE DROP - 236 00:11:22,720 --> 00:11:26,420 Deci, ce crezi că acest lucru va face în cazul în care am pus la numele de utilizator 237 00:11:26,420 --> 00:11:29,560 ca utilizatorii TABLE DROP? 238 00:11:29,560 --> 00:11:30,230 Oricine are o idee? 239 00:11:30,230 --> 00:11:31,050 Da. 240 00:11:31,050 --> 00:11:32,470 >> Audiența: O să spun o să-și arunce toate mesele. 241 00:11:32,470 --> 00:11:35,460 >> LUCIANO Arango: O să ne spună să-și arunce totul în site-ul, 242 00:11:35,460 --> 00:11:38,290 tot în baza de date. 243 00:11:38,290 --> 00:11:41,910 Și ceea ce oamenii folosesc acest lucru pentru - așa Am de gând să-ți arăt băieți. 244 00:11:41,910 --> 00:11:45,462 Am dezactivat scadere tabele pentru că eu nu te-am vrut 245 00:11:45,462 --> 00:11:48,240 băieți să renunțe mesele mele. 246 00:11:48,240 --> 00:11:49,850 Să aruncăm o privire la aceasta. 247 00:11:49,850 --> 00:11:54,410 Deci, acest lucru pur și simplu trage în sus informațiile pentru o anumită persoană. 248 00:11:54,410 --> 00:11:57,550 Deci, cum știm dacă acest lucru este afectat de injecție SQL. 249 00:11:57,550 --> 00:12:01,545 Vom verifica foarte repede dacă putem pune ceva - 250 00:12:01,545 --> 00:12:04,990 251 00:12:04,990 --> 00:12:06,080 permiteți-mi să copiați acest cod. 252 00:12:06,080 --> 00:12:08,140 Am de gând să meargă peste ea într-o secundă. 253 00:12:08,140 --> 00:12:12,210 Am de gând să rădăcină și 1 este egal cu 1. 254 00:12:12,210 --> 00:12:15,510 >> Acest lucru chiar aici, acest procente semn 23 - 255 00:12:15,510 --> 00:12:19,970 ceea ce este într-adevăr, dacă am uita-te aici la - 256 00:12:19,970 --> 00:12:23,820 modul HTML ia în număr, dacă aruncăm o privire la când am pus într-un spațiu 257 00:12:23,820 --> 00:12:28,380 aici - dacă ar fi să spațiu ceva aici, ea se transformă într-o sută 2. 258 00:12:28,380 --> 00:12:31,420 Nu voi vedea acest lucru chiar aici atunci când am pus într-un spațiu? 259 00:12:31,420 --> 00:12:36,710 Modul în care funcționează este că puteți doar trimite valorile ASCII prin HTML. 260 00:12:36,710 --> 00:12:40,330 Deci îl înlocuiește, de exemplu, un spațiu cu 20 la sută. 261 00:12:40,330 --> 00:12:41,970 Nu știu dacă voi au văzut că, înainte. 262 00:12:41,970 --> 00:12:45,100 >> Acesta înlocuiește un hashtag cu 23 la sută. 263 00:12:45,100 --> 00:12:50,840 Avem nevoie de un hashtag la sfârșitul sau afirmație astfel încât să putem spune 264 00:12:50,840 --> 00:13:00,885 de baze de date pentru a uita să comentați acest ultim punct și virgulă la sfârșitul anului. 265 00:13:00,885 --> 00:13:03,060 Vrem să nu se gândească la asta. 266 00:13:03,060 --> 00:13:05,980 Vrem doar să rulați totul pe care le avem în prealabil și 267 00:13:05,980 --> 00:13:07,450 comment asta. 268 00:13:07,450 --> 00:13:08,710 Să aruncăm o privire la ea. 269 00:13:08,710 --> 00:13:14,670 >> Deci, dacă ar fi să pun ceva în neregulă - să spunem, de exemplu, mi-am pus 2 la egal la egal 270 00:13:14,670 --> 00:13:15,690 1, nu-mi dai nimic. 271 00:13:15,690 --> 00:13:22,930 Când m-am pus în 1 este egal cu 1, și o face reveni ceva, acest lucru mi-a spus că 272 00:13:22,930 --> 00:13:24,660 aceasta este vulnerabil la o injecție SQL. 273 00:13:24,660 --> 00:13:29,090 Știu acum că orice Am pus după această - 274 00:13:29,090 --> 00:13:39,110 și, de exemplu, DROP TABELE sau ceva de genul asta 275 00:13:39,110 --> 00:13:41,190 va lucra cu siguranta. 276 00:13:41,190 --> 00:13:44,350 Știu că e vulnerabil la SQL injection pentru că știu că 277 00:13:44,350 --> 00:13:49,850 sub capota, se lasa mi fac un lucru este egal cu 1. 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 >> Și dacă ne uităm la aceste altele, numărul doi și numărul trei, este 281 00:13:56,540 --> 00:13:59,110 de gând să faci un pic mai mult de verificare sub 282 00:13:59,110 --> 00:14:03,680 capota din ceea ce este. 283 00:14:03,680 --> 00:14:07,425 Astfel încât oricine să permită scăderea încă nimic sau au încercat? 284 00:14:07,425 --> 00:14:08,760 Nu voi un fel de a obține SQL încă? 285 00:14:08,760 --> 00:14:10,430 Pentru că știu că voi nu au văzut-o încă, așa că e un fel de 286 00:14:10,430 --> 00:14:11,759 confuz pentru voi. 287 00:14:11,759 --> 00:14:16,160 288 00:14:16,160 --> 00:14:18,480 Să aruncăm o privire. 289 00:14:18,480 --> 00:14:21,270 Deci, ceea ce este modul de a preveni sqli? 290 00:14:21,270 --> 00:14:21,390 OK. 291 00:14:21,390 --> 00:14:23,330 Deci, acest lucru este foarte important pentru că baieti cu siguranta doriți pentru a preveni 292 00:14:23,330 --> 00:14:24,090 aceasta în site-urile dvs.. 293 00:14:24,090 --> 00:14:28,040 >> Dacă nu, toți prietenii tăi sunt de gând să râd de tine atunci când picătură toate 294 00:14:28,040 --> 00:14:29,390 tabele. 295 00:14:29,390 --> 00:14:36,150 Deci, ideea este că veți repara SQL într-un anumit fel, în timp ce se potrivesc 296 00:14:36,150 --> 00:14:41,940 ceea ce intrările de utilizatori cu un anumit șir. 297 00:14:41,940 --> 00:14:46,120 Deci, modul în care aceasta funcționează este tine pregăti baza de date. 298 00:14:46,120 --> 00:14:50,830 Selectați nume, culoare, și de calorii dintr-o bază de date numită fruct. 299 00:14:50,830 --> 00:14:53,580 Și atunci unde calorii este mai mic, și am pus un semn de întrebare acolo 300 00:14:53,580 --> 00:14:56,530 spunând vom intrare ceva într-o secundă. 301 00:14:56,530 --> 00:14:58,850 >> Și culoare este egal, și am pus o întrebare semn spunând vom 302 00:14:58,850 --> 00:15:00,913 ceva de intrare într-un al doilea, de asemenea. 303 00:15:00,913 --> 00:15:02,660 OK? 304 00:15:02,660 --> 00:15:09,920 Și apoi l-am executa, punând în 150 și roșu. 305 00:15:09,920 --> 00:15:12,820 Iar acest lucru se va verifica pentru a face sigur că aceste două - 306 00:15:12,820 --> 00:15:15,300 această matrice va verifica faptul că aceste două sunt un întreg și 307 00:15:15,300 --> 00:15:16,550 că acest lucru este un șir. 308 00:15:16,550 --> 00:15:18,810 309 00:15:18,810 --> 00:15:20,890 Apoi mergem, și ne-am aduce toate, ne-am pus-o în roșu. 310 00:15:20,890 --> 00:15:21,964 Asta înseamnă că ne aduce tot. 311 00:15:21,964 --> 00:15:26,790 Aceasta înseamnă că, de fapt executa SQL declarație și a pus-o înapoi în roșu. 312 00:15:26,790 --> 00:15:30,530 Aici vom face același lucru, dar ne-am face același lucru pentru galben. 313 00:15:30,530 --> 00:15:32,490 Și ne-am aduce toți. 314 00:15:32,490 --> 00:15:36,140 >> Și în acest fel, vom preveni utilizatorul de a fi capabil de a introduce ceva 315 00:15:36,140 --> 00:15:41,710 că nu este ceea ce am precizat, un șir sau un număr întreg, de exemplu. 316 00:15:41,710 --> 00:15:45,100 317 00:15:45,100 --> 00:15:46,610 Vorbeam mai devreme despre bazându-se pe alții. 318 00:15:46,610 --> 00:15:50,010 Când voi începe proiectul tău, ai cel mai sigur de gând să utilizeze 319 00:15:50,010 --> 00:15:52,310 bootstrap sau ceva similar. 320 00:15:52,310 --> 00:15:53,490 L-ați folosit vreodată Wordpress? 321 00:15:53,490 --> 00:15:57,170 Probabil că voi fi folosit WordPress, cel mai probabil. 322 00:15:57,170 --> 00:16:00,050 Deci problema cu folosirea lucruri altor oameni - 323 00:16:00,050 --> 00:16:05,940 Mă duc la Google foarte repede Vulnerabilitate WordPress. 324 00:16:05,940 --> 00:16:07,495 >> Dacă am trage asta chiar acum - 325 00:16:07,495 --> 00:16:08,995 Am făcut literalmente o două secunde Google. 326 00:16:08,995 --> 00:16:12,300 327 00:16:12,300 --> 00:16:13,800 Putem vedea că Wordpress - 328 00:16:13,800 --> 00:16:17,450 acest lucru este datat ca septembrie '12. 329 00:16:17,450 --> 00:16:19,120 26 este actualizat. 330 00:16:19,120 --> 00:16:23,620 Configurația implicită de Wordpress înainte de 3.6 nu împiedică aceste 331 00:16:23,620 --> 00:16:27,110 anumite încărcări, care s-ar putea face mai ușor pentru 332 00:16:27,110 --> 00:16:29,790 atacuri cross-site scripting. 333 00:16:29,790 --> 00:16:34,530 Deci, o poveste rapid, odată ce am fost de lucru cu - așa că am fost, în vara, lucru un 334 00:16:34,530 --> 00:16:34,970 stagiu. 335 00:16:34,970 --> 00:16:40,400 Și am fost de lucru cu un fel de ca o companie de card de credit mare. 336 00:16:40,400 --> 00:16:42,020 >> Și ele se bazează pe ceva numit - 337 00:16:42,020 --> 00:16:45,740 Nu știu dacă voi jucat vreodată cu un produs numit Joomla. 338 00:16:45,740 --> 00:16:51,750 Joomla este un produs care este utilizat pentru a Controlul - un fel de similar cu 339 00:16:51,750 --> 00:16:54,340 Wordpress, folosit pentru a construi site-uri web. 340 00:16:54,340 --> 00:16:56,060 Așa că a trebuit site-ul lor lucru pe Joomla. 341 00:16:56,060 --> 00:16:59,290 Aceasta este de fapt un card de credit companie în Columbia. 342 00:16:59,290 --> 00:17:01,000 Te voi duce la lor site-ul foarte repede. 343 00:17:01,000 --> 00:17:04,550 344 00:17:04,550 --> 00:17:05,400 >> Așa că au folosit Joomla. 345 00:17:05,400 --> 00:17:08,630 Și ei nu au actualizat Joomla la cele mai recente plus. 346 00:17:08,630 --> 00:17:12,160 Așa că atunci când am fost de a lua o privire la codul lor, am reușit să efectiv 347 00:17:12,160 --> 00:17:18,430 du-te în interiorul codul lor și fura tot informații card de credit care au avut, 348 00:17:18,430 --> 00:17:21,670 toate numerele de card de credit, numele, adresele. 349 00:17:21,670 --> 00:17:22,740 Și acest lucru a fost doar - 350 00:17:22,740 --> 00:17:23,569 și codul lor a fost foarte bine. 351 00:17:23,569 --> 00:17:24,710 Ei au avut o mare cod. 352 00:17:24,710 --> 00:17:25,389 Totul a fost de securitate. 353 00:17:25,389 --> 00:17:26,520 Ei au verificat toate bazele de date. 354 00:17:26,520 --> 00:17:29,020 S-au asigurat cross-site-ul scripting a fost bine. 355 00:17:29,020 --> 00:17:34,390 >> Dar au folosit ceva care nu a fost actualizat, care nu a fost sigur. 356 00:17:34,390 --> 00:17:36,940 Și astfel încât le-a dus la - așa voi sunt cu siguranta de gând să utilizeze alte 357 00:17:36,940 --> 00:17:40,650 cod, cadre altor oameni oameni pentru a construi site-ul dumneavoastră. 358 00:17:40,650 --> 00:17:43,860 Asigurați-vă că acestea sunt sigure, deoarece uneori, nu ești tu, cel care 359 00:17:43,860 --> 00:17:44,480 face o greșeală. 360 00:17:44,480 --> 00:17:47,440 Dar cineva face o greșeală, și atunci vei cădea în jos din cauza asta. 361 00:17:47,440 --> 00:17:51,190 362 00:17:51,190 --> 00:17:53,885 >> Parole și PII. 363 00:17:53,885 --> 00:17:56,820 Deci parole. 364 00:17:56,820 --> 00:17:58,070 OK. 365 00:17:58,070 --> 00:17:59,980 366 00:17:59,980 --> 00:18:04,230 Să aruncăm o privire la parole foarte repede. 367 00:18:04,230 --> 00:18:04,590 OK. 368 00:18:04,590 --> 00:18:06,520 Te rog, spune-mi că toată lumea foloseste sigur - 369 00:18:06,520 --> 00:18:09,030 Sper că toată lumea de aici folosește parole sigure. 370 00:18:09,030 --> 00:18:12,890 Mă las asta în ca o presupunere. 371 00:18:12,890 --> 00:18:14,850 Deci, voi sunt cu siguranta de gând să stoca parolele pentru site-uri web. 372 00:18:14,850 --> 00:18:17,440 Ai de gând să facă ceva de genul o autentificare sau ceva de genul asta. 373 00:18:17,440 --> 00:18:19,610 Ceea ce este important nu este de a stoca parolele in text simplu. 374 00:18:19,610 --> 00:18:20,860 Acest lucru este extrem de important. 375 00:18:20,860 --> 00:18:23,960 Nu doriți să stocați un parola în text simplu. 376 00:18:23,960 --> 00:18:27,370 >> Si cu siguranta nu vrei cu adevărat să-l păstrează într-un mod hash. 377 00:18:27,370 --> 00:18:32,440 Deci, ceea ce o într-un fel hash este că, atunci când genera un cuvânt, atunci când pune această 378 00:18:32,440 --> 00:18:36,200 cuvânt într-o funcție hash, se va genera spate un fel de criptice 379 00:18:36,200 --> 00:18:39,390 mesaj sau set criptic de chei. 380 00:18:39,390 --> 00:18:40,640 O să-ți arăt un exemplu. 381 00:18:40,640 --> 00:18:44,620 382 00:18:44,620 --> 00:18:50,250 Am de gând să hash au password1 cuvânt. 383 00:18:50,250 --> 00:18:55,280 Hash astfel MD5 este de gând să-mi întoarcă un fel de informații ciudat. 384 00:18:55,280 --> 00:18:59,140 >> Problema este că oamenii de acolo care vrea să intre în site-uri au 385 00:18:59,140 --> 00:19:02,750 deja seama de sortare din toate hash MD5. 386 00:19:02,750 --> 00:19:06,030 Ceea ce au făcut ei este așezat pe teritoriul lor calculatoare, și au distribuit în fiecare 387 00:19:06,030 --> 00:19:09,660 posibil cuvânt singur acolo până au primit un fel de ceea ce este aceasta. 388 00:19:09,660 --> 00:19:11,420 Dacă ar fi să te uiți asta - 389 00:19:11,420 --> 00:19:12,420 Am luat acest hash. 390 00:19:12,420 --> 00:19:14,120 Dacă am obține acest hash de la - 391 00:19:14,120 --> 00:19:17,470 dacă mă duc într-un site web, și mi se pare acest hash pentru că eu ajung la 392 00:19:17,470 --> 00:19:24,100 baze de date, și l-am privi în sus, cineva deja a dat seama pentru mine. 393 00:19:24,100 --> 00:19:28,600 394 00:19:28,600 --> 00:19:29,100 >> Da. 395 00:19:29,100 --> 00:19:35,030 Așa că oamenii se așeză, și indiferent de MD5 hash care ai pus în, au de gând să 396 00:19:35,030 --> 00:19:37,760 a reveni la ceva care este un cuvânt. 397 00:19:37,760 --> 00:19:39,800 Dacă am hash un alt cuvânt, cum ar fi - 398 00:19:39,800 --> 00:19:42,410 Nu știu - 399 00:19:42,410 --> 00:19:43,490 trees2. 400 00:19:43,490 --> 00:19:46,050 Nu vreau să fie dezamăgit de căutările mele Google. 401 00:19:46,050 --> 00:19:49,820 402 00:19:49,820 --> 00:19:52,780 Acolo este, trees2. 403 00:19:52,780 --> 00:19:55,930 Deci, o mulțime de site-uri web încă mai folosesc md5 hash. 404 00:19:55,930 --> 00:19:57,730 Ei spun, oh, e sigur. 405 00:19:57,730 --> 00:19:58,570 Nu suntem stocarea în text simplu. 406 00:19:58,570 --> 00:19:59,740 Avem acest hash MD5. 407 00:19:59,740 --> 00:20:01,880 Și tot ce trebuie sa faci este doar Google numărul. 408 00:20:01,880 --> 00:20:03,940 >> Eu nici măcar nu trebuie să mă calcula. 409 00:20:03,940 --> 00:20:06,790 Am să-l Google, și cineva deja a făcut-o pentru mine. 410 00:20:06,790 --> 00:20:08,010 Iată o grămadă de ei. 411 00:20:08,010 --> 00:20:09,260 Iată o gramada de parole. 412 00:20:09,260 --> 00:20:13,890 413 00:20:13,890 --> 00:20:18,680 Deci, cu siguranta, nu folositi md5 hash, pentru că tot ce trebuie să 414 00:20:18,680 --> 00:20:19,140 faceți este să Google-l. 415 00:20:19,140 --> 00:20:20,390 Deci, ce vrei să utilizați în schimb? 416 00:20:20,390 --> 00:20:29,340 417 00:20:29,340 --> 00:20:30,170 OK. 418 00:20:30,170 --> 00:20:31,260 Ceva numit sărare. 419 00:20:31,260 --> 00:20:32,460 Deci, ceea ce sărare este - 420 00:20:32,460 --> 00:20:36,280 nu voi amintesc când am fost vorbind despre aleatoare în - 421 00:20:36,280 --> 00:20:37,920 Eu nu sunt sigur ce PSET a fost - 422 00:20:37,920 --> 00:20:41,140 a fost o PSET acolo sau patru? 423 00:20:41,140 --> 00:20:45,150 >> Vorbeam despre găsirea acul în carul cu fân. 424 00:20:45,150 --> 00:20:48,480 Și în PSET, a spus că ai putea seama de fapt ce aleator 425 00:20:48,480 --> 00:20:51,840 generează pentru că cineva deja a fugit aleatoare de un milion de ori și doar 426 00:20:51,840 --> 00:20:53,230 un fel de format ceea ce le generează. 427 00:20:53,230 --> 00:20:55,840 Ce doriți să faceți este să pune într-o intrare. 428 00:20:55,840 --> 00:20:57,130 Deci, asta e ceea ce fel de sărare este. 429 00:20:57,130 --> 00:21:00,900 Ei au deja dat seama ce sărare revine pentru fiecare lucrare. 430 00:21:00,900 --> 00:21:04,750 >> Deci, ce sărare nu este ai pus într-o sare. 431 00:21:04,750 --> 00:21:06,160 Ai pus într-un anumit cuvânt. 432 00:21:06,160 --> 00:21:09,720 Și se va hash ca cuvânt în funcție de pe ceea ce ai pus aici. 433 00:21:09,720 --> 00:21:13,570 Deci, dacă am hash parola una cu acest propoziție, se va hash 434 00:21:13,570 --> 00:21:17,180 altfel dacă am hash password1 cu o pedeapsă diferită. 435 00:21:17,180 --> 00:21:21,670 Este un fel de-l dă undeva la începe de hashing pentru a începe. 436 00:21:21,670 --> 00:21:25,970 Deci, este mult mai greu de a calcula, dar tu poate încă se calcula, în special 437 00:21:25,970 --> 00:21:26,830 dacă utilizați o sare rău. 438 00:21:26,830 --> 00:21:29,650 >> Oamenii au deja, de asemenea, seama săruri și-a dat seama comune 439 00:21:29,650 --> 00:21:31,500 ceea ce, care este. 440 00:21:31,500 --> 00:21:34,980 Săruri aleatorii sunt mult mai bine, dar cel mai bun mod este de a utiliza 441 00:21:34,980 --> 00:21:38,160 ceva numit cripta. 442 00:21:38,160 --> 00:21:40,480 Și criptă ce vă permite să nu - astfel încât aceste funcții sunt 443 00:21:40,480 --> 00:21:41,820 deja construit pentru tine. 444 00:21:41,820 --> 00:21:44,910 Multi oameni uita ca, sau au uitat să-l folosească. 445 00:21:44,910 --> 00:21:54,520 Dar dacă mă uit în sus PHP crypt, cripta returnează deja un șir hash pentru mine. 446 00:21:54,520 --> 00:21:58,790 Și de fapt, săruri de mai multe ori și hash-l de mai multe ori. 447 00:21:58,790 --> 00:22:00,070 >> Deci, noi nu trebuie să facem acest lucru. 448 00:22:00,070 --> 00:22:04,790 Deci, tot ce trebuie sa faci este trimite-l în criptă. 449 00:22:04,790 --> 00:22:08,170 Și se va crea o mare hash fără a fi nevoie să vă faceți griji cu privire la sare 450 00:22:08,170 --> 00:22:08,990 sau ceva. 451 00:22:08,990 --> 00:22:12,000 Pentru că dacă ar fi să-l sare, aveți să-și amintească ceea ce sare, folosit 452 00:22:12,000 --> 00:22:13,800 pentru că dacă nu, nu puteți obține dvs. parola înapoi fără 453 00:22:13,800 --> 00:22:15,760 sare pe care ai folosit. 454 00:22:15,760 --> 00:22:17,010 OK. 455 00:22:17,010 --> 00:22:21,120 456 00:22:21,120 --> 00:22:23,150 >> Și, de asemenea, identificabile personal informații. 457 00:22:23,150 --> 00:22:26,730 De securitate socială, astfel, carte de credit - asta e destul de evident. 458 00:22:26,730 --> 00:22:31,880 Dar, uneori, oamenii uita modul în care fapte este, cât de mult informații aveți 459 00:22:31,880 --> 00:22:35,690 de fapt, nevoie de a găsi ceva o singură persoană? 460 00:22:35,690 --> 00:22:37,740 Cineva a făcut un studiu despre aceasta o cale de întoarcere. 461 00:22:37,740 --> 00:22:40,870 Și a fost ca și cum, dacă aveți un nume complet, nu puteți găsi 462 00:22:40,870 --> 00:22:41,610 cineva atât de ușor. 463 00:22:41,610 --> 00:22:43,900 Dar ce se întâmplă dacă aveți un nume complet și data de naștere? 464 00:22:43,900 --> 00:22:47,770 Este suficient pentru a identifica cineva în mod special? 465 00:22:47,770 --> 00:22:52,760 >> Ce se întâmplă dacă ai numele lor și adresă care trăiesc pe? 466 00:22:52,760 --> 00:22:55,110 Este suficient pentru a găsi pe cineva? 467 00:22:55,110 --> 00:23:02,490 Și că este atunci când întrebarea, ceea ce este informații de identificare personală, și 468 00:23:02,490 --> 00:23:05,360 ceea ce ar trebui să vă faceți griji cu privire la nu departe oferind? 469 00:23:05,360 --> 00:23:08,770 Dacă ați da identificabile personal informații că cineva îți dă, 470 00:23:08,770 --> 00:23:11,420 ai putea fi dat în judecată potențial. 471 00:23:11,420 --> 00:23:12,610 Și noi cu siguranță nu vreau asta. 472 00:23:12,610 --> 00:23:14,955 >> Deci, atunci când vă pune site-ul dvs. afară, și le-ați un foarte cool 473 00:23:14,955 --> 00:23:17,230 proiectare, sperăm că a făcut un proiect final minunat. 474 00:23:17,230 --> 00:23:18,370 Orice ai un fel de care doriți să a pus-o acolo. 475 00:23:18,370 --> 00:23:21,420 Vă doriți să vă asigurați că indiferent de sunteți luați de la utilizator, în cazul în care este 476 00:23:21,420 --> 00:23:25,310 informații de identificare personale, doriți să vă asigurați că ești într-adevăr 477 00:23:25,310 --> 00:23:26,560 atent cu ea. 478 00:23:26,560 --> 00:23:29,670 479 00:23:29,670 --> 00:23:31,080 >> Injecție coajă. 480 00:23:31,080 --> 00:23:31,350 OK. 481 00:23:31,350 --> 00:23:37,590 Injecție Shell permite intrusul a avea acces la linia de comandă actual 482 00:23:37,590 --> 00:23:39,660 în server-ul dvs.. 483 00:23:39,660 --> 00:23:44,060 Și așa el este capabil să ruleze cod că nu puteți controla. 484 00:23:44,060 --> 00:23:49,560 Să luăm un exemplu în acest sens frumos șir chiar aici. 485 00:23:49,560 --> 00:23:55,570 Dacă vom merge în site-ul din nou, eu sunt de gând să meargă în injectare de cod. 486 00:23:55,570 --> 00:23:58,910 Deci, despre ce nu este - 487 00:23:58,910 --> 00:24:00,420 este, de asemenea, ceea ce am fost privi înainte. 488 00:24:00,420 --> 00:24:11,200 Vom lăsa utilizatorul să pună în orice el vrea, și se va imprima 489 00:24:11,200 --> 00:24:12,220 ce vrei. 490 00:24:12,220 --> 00:24:13,890 >> Așa că am de gând să pun un apel. 491 00:24:13,890 --> 00:24:15,540 Ce este acest lucru nu este - 492 00:24:15,540 --> 00:24:16,940 se va începe prin concatenarea. 493 00:24:16,940 --> 00:24:19,520 Asa ca ma vor lasa sa ruleze orice comanda de funcționare a persoanei 494 00:24:19,520 --> 00:24:21,500 înainte și comanda mea. 495 00:24:21,500 --> 00:24:23,980 Și eu sunt rulează un sistem de comandă. 496 00:24:23,980 --> 00:24:27,310 Și aceste ultimele siruri de caractere sunt - amintiți-vă ceea ce am vorbit cu voi despre, 497 00:24:27,310 --> 00:24:31,725 în timp ce aveți pentru a codifica într-o metodă de URL. 498 00:24:31,725 --> 00:24:35,010 499 00:24:35,010 --> 00:24:36,992 Dacă I ​​a alerga acest lucru acum - 500 00:24:36,992 --> 00:24:39,150 O să-ți arăt pe aici - 501 00:24:39,150 --> 00:24:41,100 veți vedea că am ajuns up execută o comandă. 502 00:24:41,100 --> 00:24:45,700 503 00:24:45,700 --> 00:24:49,320 >> Aceasta este de fapt serverul real că site-ul meu se execută pe. 504 00:24:49,320 --> 00:24:55,840 505 00:24:55,840 --> 00:24:58,510 Deci, noi nu vrem asta, pentru că eu pot rula - 506 00:24:58,510 --> 00:25:00,320 acest server nu este a mea. 507 00:25:00,320 --> 00:25:04,030 Deci, eu nu vreau să distrugeți lui sora, server Marcus lui. 508 00:25:04,030 --> 00:25:07,470 Dar puteți rula mai multe comenzi că sunt periculoase. 509 00:25:07,470 --> 00:25:11,885 Si, posibil, ai putea șterge fișiere, eliminați directoare. 510 00:25:11,885 --> 00:25:14,390 511 00:25:14,390 --> 00:25:17,970 Am posibilitatea de a elimina un anumit director în cazul în care Am vrut, dar eu nu vreau 512 00:25:17,970 --> 00:25:19,530 pentru a face acest lucru la Marcus. 513 00:25:19,530 --> 00:25:20,420 E un tip de treabă. 514 00:25:20,420 --> 00:25:21,470 El lasă-mă să împrumute serverul lui. 515 00:25:21,470 --> 00:25:24,620 Așa că am de gând să-l lase off pe cel bun. 516 00:25:24,620 --> 00:25:32,280 >> Deci, ceea ce nu doriți să utilizați - noi nu facem doriți să utilizați eval sau sistem. 517 00:25:32,280 --> 00:25:34,755 Eval sau sistem ne permite să face aceste apeluri sistem. 518 00:25:34,755 --> 00:25:37,410 519 00:25:37,410 --> 00:25:38,410 Mijloace eval evalua. 520 00:25:38,410 --> 00:25:40,790 Sistem înseamnă ceea ce am fugit. 521 00:25:40,790 --> 00:25:42,490 Este condus ceva în sistem. 522 00:25:42,490 --> 00:25:46,730 Dar putem să scoată în afara legii aceste lucruri în PHP, astfel încât să nu le folosesc. 523 00:25:46,730 --> 00:25:47,400 Și upload. 524 00:25:47,400 --> 00:25:49,180 Am fost de gând să facă un minunat lucru cu fișier de încărcare. 525 00:25:49,180 --> 00:25:52,740 Dar, ca voi am spus, dosarul meu lucru de încărcare nu este de lucru. 526 00:25:52,740 --> 00:25:54,590 Dacă ar fi să încărcați un fișier chiar acum - 527 00:25:54,590 --> 00:25:57,120 528 00:25:57,120 --> 00:26:00,830 dacă ar fi să încărcați un fișier, și este o imagine - 529 00:26:00,830 --> 00:26:03,180 aveți un lucru de upload E o poză. 530 00:26:03,180 --> 00:26:03,660 Asta e bine. 531 00:26:03,660 --> 00:26:04,280 Nu se întâmplă nimic. 532 00:26:04,280 --> 00:26:10,840 >> Dar, dacă aveți un fișier de încărcare, pentru exemplu, și utilizatorul de fapt imaginile 533 00:26:10,840 --> 00:26:19,220 un fișier PHP sau un fișier exe sau ceva cum ar fi faptul că, atunci ai putea potențial 534 00:26:19,220 --> 00:26:19,740 au o problemă. 535 00:26:19,740 --> 00:26:21,390 Acest lucru a fost de lucru înainte. 536 00:26:21,390 --> 00:26:25,202 Din nefericire pentru mine, e nu mai este de lucru. 537 00:26:25,202 --> 00:26:30,230 Dacă eu, de exemplu, încărcați acest fișier, eu sunt nu primesc permisiunea de a încărca 538 00:26:30,230 --> 00:26:33,400 fișierul din cauza serverului nu este a mea. 539 00:26:33,400 --> 00:26:38,670 Deci, tipul e foarte inteligent. 540 00:26:38,670 --> 00:26:39,610 >> Deci, noi nu vrem să - 541 00:26:39,610 --> 00:26:40,130 Am de gând să arate voi - 542 00:26:40,130 --> 00:26:41,840 OK, acestea sunt unele instrumente foarte cool. 543 00:26:41,840 --> 00:26:45,100 Astfel încât acestea - 544 00:26:45,100 --> 00:26:47,715 du-te în - în cazul în care voi avea Firefox - sperăm să faci. 545 00:26:47,715 --> 00:26:54,260 Există două suplimente numite SQL Inject Eu și Cross-Site Script Me. 546 00:26:54,260 --> 00:26:56,870 Ei deschid cât mai puțin lateral baruri pe partea. 547 00:26:56,870 --> 00:27:01,480 Și dacă ar fi să merg la CS60 de exemplu - 548 00:27:01,480 --> 00:27:04,210 deci ceea ce face este se pare pentru toate formele pe care - 549 00:27:04,210 --> 00:27:07,220 550 00:27:07,220 --> 00:27:08,760 sperăm, eu nu va primi probleme pentru acest. 551 00:27:08,760 --> 00:27:09,190 >> Dar OK. 552 00:27:09,190 --> 00:27:12,600 Iată sistemul de pini. 553 00:27:12,600 --> 00:27:18,946 Așa că atunci când am începe căutarea pentru găuri în sistemul, primul lucru pe care îl fac este 554 00:27:18,946 --> 00:27:21,820 deschide acest mic frumos instrument pe partea. 555 00:27:21,820 --> 00:27:24,160 Și am de gând pentru a testa forme cu atacuri auto. 556 00:27:24,160 --> 00:27:28,510 Și așa mai departe ceea ce acest lucru nu este va încet deschide o grămadă de browsere. 557 00:27:28,510 --> 00:27:29,930 Iată o grămadă de browsere. 558 00:27:29,930 --> 00:27:33,320 Și se încearcă fiecare combinație de cross-site scripting 559 00:27:33,320 --> 00:27:37,380 că există, eventual, este, în cazul în care veți vedea pe partea de. 560 00:27:37,380 --> 00:27:42,080 >> Și-mi va da un rezultat un fel de ceea ce răspunsul este. 561 00:27:42,080 --> 00:27:42,860 Toate trec. 562 00:27:42,860 --> 00:27:43,910 În mod evident, toate acestea trec. 563 00:27:43,910 --> 00:27:46,190 Vreau să spun, sunt foarte inteligent oameni acolo. 564 00:27:46,190 --> 00:27:48,010 Dar dacă ar fi să fugi - 565 00:27:48,010 --> 00:27:52,050 Am avut momente mai înainte, când am rula acest pe proiectele finale ale elevilor. 566 00:27:52,050 --> 00:27:56,080 Eu pur și simplu a alerga SQL Injectați Me cu toate atacurile diferite. 567 00:27:56,080 --> 00:28:00,080 Și se încearcă să SQL injecta acest server pin. 568 00:28:00,080 --> 00:28:03,590 Deci, dacă vom derula în jos, pentru exemplu, se spune - 569 00:28:03,590 --> 00:28:04,960 acest lucru este bun, dacă se întoarce. 570 00:28:04,960 --> 00:28:08,250 >> Deci, testat unele anumite valori. 571 00:28:08,250 --> 00:28:11,170 Si serverul a returnat un cod care a fost negativ. 572 00:28:11,170 --> 00:28:11,780 Elimina temporar. 573 00:28:11,780 --> 00:28:13,030 Acest lucru este bun. 574 00:28:13,030 --> 00:28:17,050 575 00:28:17,050 --> 00:28:20,750 Incearca toate aceste teste. 576 00:28:20,750 --> 00:28:21,790 Deci, ai putea pur și simplu rulați - 577 00:28:21,790 --> 00:28:27,860 Aș vrea să pot găsi un site web real, repede că m-ar lăsa - 578 00:28:27,860 --> 00:28:29,110 poate magazin CS50. 579 00:28:29,110 --> 00:28:43,890 580 00:28:43,890 --> 00:28:45,711 >> Wow, acest lucru se întâmplă la ia prea mult timp. 581 00:28:45,711 --> 00:28:53,090 582 00:28:53,090 --> 00:28:55,130 Voi lasa primul test nu termina bine. 583 00:28:55,130 --> 00:28:57,330 Deci, se plânge. 584 00:28:57,330 --> 00:28:58,470 Deci, acestea sunt cele trei lucruri. 585 00:28:58,470 --> 00:29:00,430 Aceste instrumente sunt gratuite. 586 00:29:00,430 --> 00:29:03,960 Puteți să le descărcați și rulați-le pe site-ul dvs., și vă va spune dacă 587 00:29:03,960 --> 00:29:06,650 aveți cross-site scripting, dacă aveți SQL, dacă aveți 588 00:29:06,650 --> 00:29:07,900 ceva de altele asemenea. 589 00:29:07,900 --> 00:29:12,230 590 00:29:12,230 --> 00:29:14,500 Sunt un fel de încurc. 591 00:29:14,500 --> 00:29:15,550 >> Ceea ce este important - 592 00:29:15,550 --> 00:29:17,900 OK, astfel încât să nu aibă încredere în utilizatorului. 593 00:29:17,900 --> 00:29:21,920 Oricare ar fi intrările de utilizator pentru tine, face vă că-l igienizarea, îl curățați, 594 00:29:21,920 --> 00:29:25,300 Cameră pentru lucrurile dreapta, că este oferindu-vă ceea ce 595 00:29:25,300 --> 00:29:28,240 ca el să-ți dau. 596 00:29:28,240 --> 00:29:32,460 Întotdeauna să fie actualizate pe care cadrele că sunteți de fapt, folosind. 597 00:29:32,460 --> 00:29:34,630 Dacă utilizați ceva de genul bootstrap - 598 00:29:34,630 --> 00:29:36,340 Știu că voi sunt de gând să utilizeze bootstrap pentru că el va merge 599 00:29:36,340 --> 00:29:38,140 peste această curând în clasă - 600 00:29:38,140 --> 00:29:43,120 și Wordpress sau ceva de genul asta, în mod normal, acest lucru ar putea fi spart. 601 00:29:43,120 --> 00:29:44,770 >> Și atunci tu nici măcar nu știu. 602 00:29:44,770 --> 00:29:45,800 Tu doar rulează site-ul dumneavoastră. 603 00:29:45,800 --> 00:29:47,360 Și este absolut sigur. 604 00:29:47,360 --> 00:29:51,730 Și te duci în jos. 605 00:29:51,730 --> 00:29:54,000 Deci, eu sunt de pescuit foarte devreme. 606 00:29:54,000 --> 00:29:55,770 Dar vreau să-i mulțumesc Pentest Labs. 607 00:29:55,770 --> 00:29:58,140 Am de gând să arate voi ceva numit Pentest Labs. 608 00:29:58,140 --> 00:30:05,000 Dacă voi sunteți cu adevărat interesați în ceea ce de securitate este într-adevăr, există o 609 00:30:05,000 --> 00:30:07,300 site web numit Pentest Labs dacă voi merge la ea chiar acum. 610 00:30:07,300 --> 00:30:10,730 Oh, ei bine, asta nu e tot. 611 00:30:10,730 --> 00:30:12,030 Mă duc să-l rulați ca aceasta. 612 00:30:12,030 --> 00:30:14,400 Google mi-a spus răspunsul. 613 00:30:14,400 --> 00:30:16,590 >> OK. 614 00:30:16,590 --> 00:30:19,030 Și-l învață să folosiți - asa ca spune, să învețe de penetrare web 615 00:30:19,030 --> 00:30:21,060 testarea mod corect. 616 00:30:21,060 --> 00:30:23,650 Ea te invata - 617 00:30:23,650 --> 00:30:25,150 sperăm, esti o persoana etic. 618 00:30:25,150 --> 00:30:29,200 Dar te învață cum poti sa te uiti la cum puteți obține în interiorul site-uri. 619 00:30:29,200 --> 00:30:31,130 Și dacă ai afla cum puteți obține în interiorul site-uri web, puteți învăța cum să 620 00:30:31,130 --> 00:30:34,960 a vă proteja de la obtinerea site-uri web în interiorul. 621 00:30:34,960 --> 00:30:39,100 Permiteți-mi mări, deoarece poate voi nu se uita la acest drept. 622 00:30:39,100 --> 00:30:46,350 >> De la injecție SQL pentru a plăti, așa un fel de modul în care pot obține de la SQL 623 00:30:46,350 --> 00:30:48,530 injecție pentru a plăti. 624 00:30:48,530 --> 00:30:53,890 Și să descărcați această mașină virtuală. 625 00:30:53,890 --> 00:30:55,690 Și mașina virtuală vine deja cu site-ul pe care esti 626 00:30:55,690 --> 00:30:56,780 de gând să-l încerce pe. 627 00:30:56,780 --> 00:30:58,030 Să descărcați acest PDF. 628 00:30:58,030 --> 00:31:03,610 629 00:31:03,610 --> 00:31:08,370 Și vă va arăta linie cu linie ce ce trebuie să faci, ce verifică. 630 00:31:08,370 --> 00:31:14,560 Aceasta este ceea ce un atacator de fapt nu pentru a obține într-un site web. 631 00:31:14,560 --> 00:31:15,750 >> Iar unele dintre aceste lucruri este complicat. 632 00:31:15,750 --> 00:31:17,520 Aș vrea să pot trece peste mai mult lucruri cu voi. 633 00:31:17,520 --> 00:31:21,090 Dar mi-e teamă că voi nu au într-adevăr - 634 00:31:21,090 --> 00:31:23,090 acest lucru este ceea ce m-am dus peste cu voi, teste de web 635 00:31:23,090 --> 00:31:26,830 pentru teste de penetrare. 636 00:31:26,830 --> 00:31:33,540 Nu știu cu adevărat ce SQL este și ceea ce - 637 00:31:33,540 --> 00:31:35,960 Seminar Carl Jackson este minunat la fel de bine. 638 00:31:35,960 --> 00:31:37,360 Voi nu știu fel de ce este aceasta. 639 00:31:37,360 --> 00:31:39,450 Dar dacă te duci la acest site, și tu descarca aceste tutoriale și acestea 640 00:31:39,450 --> 00:31:43,290 PDF-uri, aveți posibilitatea să luați o privire la fel de ce zona de securitate nu într-adevăr 641 00:31:43,290 --> 00:31:46,940 în teste de penetrare, vezi cum poți a obține site-uri web în interiorul și proteja 642 00:31:46,940 --> 00:31:48,020 te de la ea. 643 00:31:48,020 --> 00:31:56,360 >> Deci, dacă am face o imagine de ansamblu super-rapid, acesta va fi preveni cross-site scripting. 644 00:31:56,360 --> 00:32:00,160 Vrei să htmlspecialchars utilizați de fiecare momentul în care datele introduse de utilizator ceva. 645 00:32:00,160 --> 00:32:01,580 Preveni injecție SQL. 646 00:32:01,580 --> 00:32:04,510 Dacă faci asta, ești deja mai bine decât la Harvard a fost 647 00:32:04,510 --> 00:32:06,530 atunci când s-au încălcat. 648 00:32:06,530 --> 00:32:10,510 Și asigurați-vă că parolele nu sunt în text simplu. 649 00:32:10,510 --> 00:32:16,220 Asigurați-vă că nu numai într-un fel hash ei, dar pe care le utilizați criptă, PHP 650 00:32:16,220 --> 00:32:18,670 Funcția pe care le-am arătat băieți. 651 00:32:18,670 --> 00:32:20,060 În acest fel, ar trebui să fie bun. 652 00:32:20,060 --> 00:32:25,830 >> De asemenea, în cazul în care prietenii tăi să vă, rulați Me SQL injectează pe site-urile lor. 653 00:32:25,830 --> 00:32:28,140 Rulați cross-site scripting pe site-urile lor. 654 00:32:28,140 --> 00:32:33,720 Și veți vedea o mulțime de aceste site-uri au o tona de vulnerabilități. 655 00:32:33,720 --> 00:32:40,400 Este incredibil cât de mult oamenii uita pentru a steriliza bazele lor de date sau pentru a face 656 00:32:40,400 --> 00:32:46,340 sigur ce a introdus în sistem a persoanei nu este cod de script. 657 00:32:46,340 --> 00:32:47,200 OK. 658 00:32:47,200 --> 00:32:49,182 Am cam terminat foarte devreme. 659 00:32:49,182 --> 00:32:56,510 Dar dacă cineva are întrebări despre ceva, puteți să-mi trage o întrebare. 660 00:32:56,510 --> 00:32:56,630 Da. 661 00:32:56,630 --> 00:32:56,970 Du-te, du-te. 662 00:32:56,970 --> 00:32:59,846 >> Audiența: Vreau doar să întreb, poate explica modul în care fișierul 663 00:32:59,846 --> 00:33:03,160 încărcați exact lucrări. 664 00:33:03,160 --> 00:33:03,480 >> LUCIANO Arango: Da. 665 00:33:03,480 --> 00:33:06,350 Deci, lasă-mă să vă arăt dosarul încărca foarte repede. 666 00:33:06,350 --> 00:33:11,300 Deci, fișier de încărcare - 667 00:33:11,300 --> 00:33:14,500 problema spirit upload fișier chiar acum este că - 668 00:33:14,500 --> 00:33:18,541 Am de gând să deschidă codul asa ca voi vedea codul din spatele scenei. 669 00:33:18,541 --> 00:33:22,390 670 00:33:22,390 --> 00:33:24,305 Și este încărcați. 671 00:33:24,305 --> 00:33:28,030 672 00:33:28,030 --> 00:33:31,560 Aici e un cod pentru încărcare fișier. 673 00:33:31,560 --> 00:33:33,980 >> Încercăm să meargă în această directorul aici. 674 00:33:33,980 --> 00:33:37,380 675 00:33:37,380 --> 00:33:44,880 Și noi încercăm să, odată ce vom intrare fișier, dosar isset - așa că atunci când există o 676 00:33:44,880 --> 00:33:50,900 fișier în fișiere, acea imagine, atunci vom încerca să-l mute aici. 677 00:33:50,900 --> 00:33:51,910 Ne apuca fișierul pe aici. 678 00:33:51,910 --> 00:33:58,350 Metoda este POST, tip, de imagine, fișier. 679 00:33:58,350 --> 00:33:59,630 Și vom trimite acest fișier. 680 00:33:59,630 --> 00:34:03,910 Și apoi o dată ne-am înțeles, astfel încât o dată fișier are o imagine, noi încercăm să-l trimită 681 00:34:03,910 --> 00:34:05,060 pentru acest director. 682 00:34:05,060 --> 00:34:09,814 >> Problema este că site-ul nu este lasa-ma sa plec la acest director, 683 00:34:09,814 --> 00:34:12,239 pentru că nu vrea să mă întorc. 684 00:34:12,239 --> 00:34:13,489 Ea nu vrea să mă duc - 685 00:34:13,489 --> 00:34:15,620 686 00:34:15,620 --> 00:34:17,070 Trebuie să mă duc - Deci, aici e încărcați. 687 00:34:17,070 --> 00:34:17,639 Iată imagini. 688 00:34:17,639 --> 00:34:21,780 Trebuie să merg tot drumul înapoi la început și a pus-o acolo și apoi 689 00:34:21,780 --> 00:34:23,820 du-te și pune-l în directorul. 690 00:34:23,820 --> 00:34:30,000 Deci, dacă am fost difuzate o fereastră terminal, și am vrut să se mute un fișier - 691 00:34:30,000 --> 00:34:30,409 [Inaudibil] 692 00:34:30,409 --> 00:34:32,159 se poate vedea. 693 00:34:32,159 --> 00:34:37,940 Dacă am vrut să se mute un fișier, am pentru a pune numele de fișier și apoi 694 00:34:37,940 --> 00:34:40,860 cale complet Vreau să-l trimită la. 695 00:34:40,860 --> 00:34:45,110 >> Și atunci serverul nu este mă lași să mă întorc. 696 00:34:45,110 --> 00:34:46,929 Și deci nu lasa mi ajunge la acel fișier. 697 00:34:46,929 --> 00:34:47,670 Dar în mod normal - 698 00:34:47,670 --> 00:34:49,360 deci nu e un cod pentru încărcarea unui fișier. 699 00:34:49,360 --> 00:34:52,260 Deci, în mod normal, ceea ce se va întâmpla este că persoană nu se verifica dacă dosarul meu 700 00:34:52,260 --> 00:34:57,920 se termină cu. jpeg, așa că am ar dori să verificați. 701 00:34:57,920 --> 00:35:00,054 Permiteți-mi deschid un exemplu prea repede. 702 00:35:00,054 --> 00:35:07,766 703 00:35:07,766 --> 00:35:08,260 >> OK. 704 00:35:08,260 --> 00:35:09,230 Această persoană drept - 705 00:35:09,230 --> 00:35:11,980 astfel de exemplu doi este verificarea dacă preg_match - 706 00:35:11,980 --> 00:35:14,180 aici e aici - 707 00:35:14,180 --> 00:35:19,660 pentru a se asigura că se termină cu PHP, care este bun. 708 00:35:19,660 --> 00:35:20,580 Acest lucru este bun. 709 00:35:20,580 --> 00:35:22,820 Dar există o mare reală probleme pentru acest. 710 00:35:22,820 --> 00:35:24,600 Acest lucru este bun. 711 00:35:24,600 --> 00:35:44,190 Dar dacă ar fi să pun un fișier numit myfavoritepicture.php.jpeg, am putut 712 00:35:44,190 --> 00:35:50,060 încă potențial scăpa de JPEG și a alerga it.k Asta e PHP periculos. 713 00:35:50,060 --> 00:35:53,850 Nu vrei persoana să fie în măsură pentru a rula cod pe site-ul tau. 714 00:35:53,850 --> 00:35:55,750 >> Dar apoi. Jpeg vă permite să-l dați. 715 00:35:55,750 --> 00:36:00,720 Ideea este ceea ce vrei cu adevărat să faci nu se ia fișiere, A. Dar, OK, ceea ce 716 00:36:00,720 --> 00:36:07,500 într-adevăr doriți să faceți este să vă asigurați că ai citit în întreaga lume. 717 00:36:07,500 --> 00:36:08,720 Și nu e nimic. Php în el. 718 00:36:08,720 --> 00:36:10,500 Nu e nici un. Php în întreg nume de fișier. 719 00:36:10,500 --> 00:36:12,780 >> Audiența: Dar ai putea pune. jpeg la sfârșitul. 720 00:36:12,780 --> 00:36:15,830 Serverele încă rula cod. 721 00:36:15,830 --> 00:36:16,870 >> LUCIANO Arango: Nu, ea nu va rula la început. 722 00:36:16,870 --> 00:36:22,310 Trebuie să te duci înapoi și să încercați pentru a vedea dacă se poate - 723 00:36:22,310 --> 00:36:24,210 >> Audiența: Deci, avem de a - 724 00:36:24,210 --> 00:36:26,020 OK, doar un alt set care implică - 725 00:36:26,020 --> 00:36:26,936 >> LUCIANO Arango: Da. 726 00:36:26,936 --> 00:36:29,230 >> Audiența: OK. 727 00:36:29,230 --> 00:36:31,486 >> LUCIANO Arango: Da. 728 00:36:31,486 --> 00:36:31,900 OK. 729 00:36:31,900 --> 00:36:32,865 Orice alte întrebări? 730 00:36:32,865 --> 00:36:33,180 OK. 731 00:36:33,180 --> 00:36:37,350 Am de gând să părăsească această sus și sortarea a încerca să vedem dacă voi putea - 732 00:36:37,350 --> 00:36:40,490 celelalte sunt un pic mai mult complicată, deoarece au nevoie de mai mult 733 00:36:40,490 --> 00:36:44,050 mai multe cunoștințe de SQL mult decât începutul cunoștințe de web SQL este și 734 00:36:44,050 --> 00:36:47,010 ceea ce este JavaScript. 735 00:36:47,010 --> 00:36:49,730 Dar am de gând să încercați să păstrați asta, și sperăm că voi vor învăța 736 00:36:49,730 --> 00:36:53,230 despre acest lucru și să încerce să ia o privire la ceea ce se poate face și cât de multe exemple 737 00:36:53,230 --> 00:36:54,420 puteți obține prin intermediul. 738 00:36:54,420 --> 00:36:56,020 >> Oricine are orice alt întrebări despre ea? 739 00:36:56,020 --> 00:36:59,387 740 00:36:59,387 --> 00:37:00,350 Dă-i drumul. 741 00:37:00,350 --> 00:37:01,170 Da, trage, trage. 742 00:37:01,170 --> 00:37:01,580 Da, dă-i drumul. 743 00:37:01,580 --> 00:37:01,850 Dă-i drumul. 744 00:37:01,850 --> 00:37:02,310 >> Audiența: OK. 745 00:37:02,310 --> 00:37:08,870 Am auzit despre cum Citate Magic nu sunt suficient de sigur. 746 00:37:08,870 --> 00:37:09,280 >> LUCIANO Arango: Ce - 747 00:37:09,280 --> 00:37:10,110 Citate Magic? 748 00:37:10,110 --> 00:37:10,595 >> Audienta: Da. 749 00:37:10,595 --> 00:37:15,445 Deci, se adaugă - astfel încât ori de câte ori de intrare ceva, se adaugă întotdeauna citate. 750 00:37:15,445 --> 00:37:15,930 >> LUCIANO Arango: Da. 751 00:37:15,930 --> 00:37:16,000 Da. 752 00:37:16,000 --> 00:37:16,496 OK. 753 00:37:16,496 --> 00:37:19,113 >> Audiența: Și apoi am crezut că a lucrat, dar apoi l-am căutat în sus. 754 00:37:19,113 --> 00:37:21,648 Și ea a spus că nu e bine. 755 00:37:21,648 --> 00:37:23,050 Dar eu nu sunt sigur de ce. 756 00:37:23,050 --> 00:37:23,360 >> LUCIANO Arango: Da. 757 00:37:23,360 --> 00:37:26,240 >> Audiența: Nu utilizați Citate Magic, pentru că nu e sigur. 758 00:37:26,240 --> 00:37:26,360 >> LUCIANO Arango: OK. 759 00:37:26,360 --> 00:37:31,735 Citate astfel Magic este atunci când introduceți SQL și se adaugă deja oferta pentru tine. 760 00:37:31,735 --> 00:37:33,520 >> Audiența: Se adaugă întotdeauna citate în jurul valorii de orice ai pus inch 761 00:37:33,520 --> 00:37:34,210 >> LUCIANO Arango: Da. 762 00:37:34,210 --> 00:37:37,190 Deci problema cu care este ca - 763 00:37:37,190 --> 00:37:38,445 Voi arunca o privire la - 764 00:37:38,445 --> 00:37:41,390 >> Audiența: Cum se dobândesc instrucțiunea SQL? 765 00:37:41,390 --> 00:37:44,690 Sau cred ca ar putea fi cum ar fi citat selectați. 766 00:37:44,690 --> 00:37:49,030 >> LUCIANO Arango: Da, aveți nevoie de citate bune pentru SQL. 767 00:37:49,030 --> 00:37:52,900 >> Audiența: Nu, dar serverul nu-l pentru tine. 768 00:37:52,900 --> 00:37:54,460 >> LUCIANO Arango: Aceste citate mici chiar aici, aceste citate mici? 769 00:37:54,460 --> 00:37:55,670 >> Audienta: Da. 770 00:37:55,670 --> 00:37:56,450 >> LUCIANO Arango: Da. 771 00:37:56,450 --> 00:37:59,860 Problema este că puteți comentați ultimul - 772 00:37:59,860 --> 00:38:05,770 OK, deci ce pot face eu pot comenta out - așa că haideți să aruncăm o privire la - mă lași 773 00:38:05,770 --> 00:38:07,920 deschide un fișier de editare de text. 774 00:38:07,920 --> 00:38:09,610 Lasă-mă să edita această chiar aici direct. 775 00:38:09,610 --> 00:38:19,510 776 00:38:19,510 --> 00:38:20,400 OK. 777 00:38:20,400 --> 00:38:23,710 Poate voi vedea că în mod clar? 778 00:38:23,710 --> 00:38:29,730 Ce pot face eu pot comenta în ultima. 779 00:38:29,730 --> 00:38:32,190 Acest lucru va comentați ultima. 780 00:38:32,190 --> 00:38:36,760 Și apoi voi pune o aici, pune toate lucrurile rău intenționat aici. 781 00:38:36,760 --> 00:38:39,840 782 00:38:39,840 --> 00:38:42,630 >> Astfel încât utilizatorul este de fapt introducerea, corect? 783 00:38:42,630 --> 00:38:45,230 Utilizatorul nu este introducerea lucrurile, nu? 784 00:38:45,230 --> 00:38:47,430 Aceasta este ceea ce am de gând să intrare ca persoana încercarea de a obține în interiorul. 785 00:38:47,430 --> 00:38:49,430 Am de gând să pună în - 786 00:38:49,430 --> 00:38:59,290 787 00:38:59,290 --> 00:39:00,180 asta e un semn citat. 788 00:39:00,180 --> 00:39:01,760 E doar ondulate din greșeală. 789 00:39:01,760 --> 00:39:15,080 790 00:39:15,080 --> 00:39:19,400 Și apoi ce codul este de gând să facă - 791 00:39:19,400 --> 00:39:20,190 îmi pare rău, am de gând să iau asta. 792 00:39:20,190 --> 00:39:22,170 Ce cod este de gând să faceți este să se va adăuga primul 793 00:39:22,170 --> 00:39:24,030 ghilimele aici. 794 00:39:24,030 --> 00:39:26,040 Și se va adăuga ultima ghilimele, de asemenea. 795 00:39:26,040 --> 00:39:29,350 796 00:39:29,350 --> 00:39:33,270 >> Și este, de asemenea, de gând să adăugați ultima, ultima ghilimele. 797 00:39:33,270 --> 00:39:37,380 Dar eu sunt comentând aceste citat marchează, astfel încât acestea să nu alerga. 798 00:39:37,380 --> 00:39:41,440 Și eu sunt de finisare acest citat marca pe aici. 799 00:39:41,440 --> 00:39:42,290 Ai înțeles? 800 00:39:42,290 --> 00:39:43,750 Te-ai pierdut? 801 00:39:43,750 --> 00:39:45,880 Nu pot comenta ultima cotație marca, și avea grijă de 802 00:39:45,880 --> 00:39:46,680 primul ghilimele. 803 00:39:46,680 --> 00:39:47,350 >> Audiența: Si termina doar primul. 804 00:39:47,350 --> 00:39:47,480 >> LUCIANO Arango: Da. 805 00:39:47,480 --> 00:39:48,400 Și tocmai termina primul. 806 00:39:48,400 --> 00:39:48,790 Da, ai dreptate. 807 00:39:48,790 --> 00:39:50,800 Asta e ceea ce pot face. 808 00:39:50,800 --> 00:39:51,890 Da. 809 00:39:51,890 --> 00:39:52,980 Orice alte intrebari de genul asta? 810 00:39:52,980 --> 00:39:54,230 Asta este o întrebare mare. 811 00:39:54,230 --> 00:39:56,960 812 00:39:56,960 --> 00:39:59,790 Nu, da, poate. 813 00:39:59,790 --> 00:40:06,150 Din fericire, voi va fel de face mai mult sens atunci când studiezi SQL și 814 00:40:06,150 --> 00:40:06,650 lucruri de genul asta. 815 00:40:06,650 --> 00:40:07,980 Dar asigurați-vă că - 816 00:40:07,980 --> 00:40:10,340 păstra aceste instrumente în ceas. 817 00:40:10,340 --> 00:40:12,760 Ne pare rău, aceste instrumente de aici. 818 00:40:12,760 --> 00:40:14,200 Aceste instrumente sunt foarte bune. 819 00:40:14,200 --> 00:40:17,190 Dacă cineva are întrebări, puteți, de asemenea, mi e-mail. 820 00:40:17,190 --> 00:40:19,020 Acest lucru este de e-mail meu normal. 821 00:40:19,020 --> 00:40:25,015 Și acest lucru este de e-mail meu de lucru, care este atunci când lucrez la SEAS. 822 00:40:25,015 --> 00:40:26,040 >> OK, mulțumesc. 823 00:40:26,040 --> 00:40:26,740 Mulțumesc, băieți. 824 00:40:26,740 --> 00:40:27,860 Tu esti bine să plec. 825 00:40:27,860 --> 00:40:28,830 Nu trebuie să stai aici. 826 00:40:28,830 --> 00:40:29,570 Nu bate. 827 00:40:29,570 --> 00:40:30,170 Asta-i ciudat. 828 00:40:30,170 --> 00:40:31,420 OK, mulțumesc, băieți. 829 00:40:31,420 --> 00:40:32,320