1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:10,300 >> LUCIANO ARANGO: OK, jongens. 3 00:00:10,300 --> 00:00:11,550 Mijn naam is Luciano Arango. 4 00:00:11,550 --> 00:00:13,915 Ik ben een tweedejaars in Adams House. 5 00:00:13,915 --> 00:00:17,550 En we gaan praten over internetbeveiliging actieve verdediging. 6 00:00:17,550 --> 00:00:24,220 Dus ik werk voor de Office of Information Veiligheid in SEAS. 7 00:00:24,220 --> 00:00:28,670 En in de zomer, geïnterneerd ik op SeguraTec, die een informatie was 8 00:00:28,670 --> 00:00:31,310 beveiligingsbedrijf dat geserveerd voor de Bank of Columbia. 9 00:00:31,310 --> 00:00:34,740 Dat is vooral waar ik geleerd wat ik tot dusver heb geleerd. 10 00:00:34,740 --> 00:00:37,990 >> En dus een deel van het materiaal dat we gaan over vandaag, we hebben niet 11 00:00:37,990 --> 00:00:39,670 echt over gesproken in de klas. 12 00:00:39,670 --> 00:00:40,410 Maar we zullen binnenkort. 13 00:00:40,410 --> 00:00:42,360 Het zal zijn zoals SQL, JavaScript. 14 00:00:42,360 --> 00:00:44,870 En we hebben niet echt weg over. 15 00:00:44,870 --> 00:00:47,730 Dus ik kan sorteren vlucht doorheen, en u misschien niet weet dat sommige dingen. 16 00:00:47,730 --> 00:00:48,890 Maar al snel zul je het leren. 17 00:00:48,890 --> 00:00:52,080 En het zal allemaal zinvol. 18 00:00:52,080 --> 00:00:54,010 Ook een ander ding - 19 00:00:54,010 --> 00:00:55,780 blijven ethische. 20 00:00:55,780 --> 00:01:00,560 Sommige van de dingen die je leert, je zou kunnen gebruiken in niet-ethische manieren. 21 00:01:00,560 --> 00:01:01,950 >> Als het van jou is, zeker proberen. 22 00:01:01,950 --> 00:01:04,500 Ik zeker motiveren jullie om uw eigen servers te proberen, proberen 23 00:01:04,500 --> 00:01:05,519 gaan binnen hen. 24 00:01:05,519 --> 00:01:08,500 Kijk of je ze kan doordringen, als je kunt krijgen in hen. 25 00:01:08,500 --> 00:01:09,560 Maar niet iedereen anders is. 26 00:01:09,560 --> 00:01:12,390 Cops hou niet echt van de grappen en het geheel, plaatsen we deze hier. 27 00:01:12,390 --> 00:01:14,040 We waren rond rommelen. 28 00:01:14,040 --> 00:01:15,780 Ze krijgen echt boos. 29 00:01:15,780 --> 00:01:18,700 >> Dus ga dan naar deze website. 30 00:01:18,700 --> 00:01:23,560 Ik heb het hier geopend. 31 00:01:23,560 --> 00:01:26,780 Dit is een website, en het heeft een heleboel voorbeelden. 32 00:01:26,780 --> 00:01:30,000 Wat er gebeurt is dat het eerste voorbeeld is een soort van het gaan naar een stuk gemakkelijker 33 00:01:30,000 --> 00:01:33,470 dan het laatste voorbeeld in een zin dat het eerste voorbeeld 34 00:01:33,470 --> 00:01:34,970 is volledig onzeker. 35 00:01:34,970 --> 00:01:40,850 En de laatste is een soort van wat een normale web security persoon zou doen. 36 00:01:40,850 --> 00:01:42,760 Maar je kunt nog steeds sorteren van rond dat. 37 00:01:42,760 --> 00:01:44,860 En we gaan focussen op een en twee voorbeelden een en twee. 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 Laten we beginnen met cross-site scripting. 41 00:01:52,780 --> 00:01:56,100 De JavaScript wordt uitgevoerd op de browser van de klant. 42 00:01:56,100 --> 00:01:59,980 Het is een programmeertaal die je gebruikt te lopen op de browser van de klant zo 43 00:01:59,980 --> 00:02:04,120 je hoeft niet naar de website te updaten en ga terug naar de server. 44 00:02:04,120 --> 00:02:04,940 Je hebt het lopen. 45 00:02:04,940 --> 00:02:08,870 Bijvoorbeeld, Facebook, hoef je niet naar de website voor nieuwe status herladen 46 00:02:08,870 --> 00:02:09,710 updates op de proppen komen. 47 00:02:09,710 --> 00:02:12,170 Deze maakt gebruik van JavaScript te genereren al deze dingen. 48 00:02:12,170 --> 00:02:16,290 Dus we kunnen injecteren kwaadaardige JavaScript in de websites. 49 00:02:16,290 --> 00:02:20,890 En op die manier, wanneer we een link naar iemand, konden we soort sturen met 50 00:02:20,890 --> 00:02:23,050 een deel van de code die we willen. 51 00:02:23,050 --> 00:02:26,450 >> Er aanhoudende en niet-persistente JavaScript - 52 00:02:26,450 --> 00:02:30,640 persistente en niet-persistente cross-site scripting, bedoel ik. 53 00:02:30,640 --> 00:02:33,760 En het verschil dat persistente is JavaScript dat zal zijn 54 00:02:33,760 --> 00:02:36,060 opgeslagen op de website. 55 00:02:36,060 --> 00:02:39,780 En niet-persistente zullen JavaScript die eigenlijk maar een keer gebeuren. 56 00:02:39,780 --> 00:02:41,795 Dus laten we eens kijken naar een voorbeeld echt snel. 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 Dus deze website, eenvoudige, niets gebeurt hier. 60 00:02:51,620 --> 00:02:53,070 En we gaan proberen om Steek enkele webbrowser. 61 00:02:53,070 --> 00:02:58,110 Dus de manier waarop we beginnen met het schrijven van JavaScript is beginnen we met het begin script. 62 00:02:58,110 --> 00:03:00,570 En we sluiten het met script. 63 00:03:00,570 --> 00:03:03,770 We gaan gewoon naar een bericht te zetten - 64 00:03:03,770 --> 00:03:05,410 Ik zal je laten zien - 65 00:03:05,410 --> 00:03:06,500 alert. 66 00:03:06,500 --> 00:03:11,150 Alert is een functie die JavaScript gebruikt om iets weer. 67 00:03:11,150 --> 00:03:12,400 Dus laten we het proberen echt snel. 68 00:03:12,400 --> 00:03:15,600 69 00:03:15,600 --> 00:03:18,944 Ik ga om te gaan, alert hello. 70 00:03:18,944 --> 00:03:20,400 Nou, ik vergat te zetten - 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 Dus dat is simpel. 74 00:03:26,540 --> 00:03:28,730 >> We zetten JavaScript op een website, en het kwam. 75 00:03:28,730 --> 00:03:31,200 En het soort gebeurt alleen op onze website, toch? 76 00:03:31,200 --> 00:03:33,040 Dus het lijkt alsof het niet een probleem, toch? 77 00:03:33,040 --> 00:03:34,920 Ik bedoel, hoe kan je gebruiken dit kwaadwillig? 78 00:03:34,920 --> 00:03:39,930 Dus de manier waarop hackers doen dit is echt simpel. 79 00:03:39,930 --> 00:03:40,970 Ze gaan om het te grijpen. 80 00:03:40,970 --> 00:03:43,750 Ze kunnen deze link en stuur hem naar je. 81 00:03:43,750 --> 00:03:46,780 Als ik deze link je nu klaar voor verzending, en je open te stellen, gaat het om 82 00:03:46,780 --> 00:03:51,620 zeggen, hallo, zeggen dat mijn website je vertelt hello. 83 00:03:51,620 --> 00:03:57,280 >> En dus als ik iets een zeggen beetje slimmer, als ik trek een 84 00:03:57,280 --> 00:03:59,880 JavaScript-functie ik soort van al schreef - 85 00:03:59,880 --> 00:04:03,940 maar als je er naar kijkt, ga ik overheen voordat ik het schreef. 86 00:04:03,940 --> 00:04:06,650 Dus we gaan naar een time-out in te stellen. 87 00:04:06,650 --> 00:04:08,450 We gaan wachten een paar seconden. 88 00:04:08,450 --> 00:04:13,970 In feite, we gaan wachten, als Ik me niet vergis, vijf seconden. 89 00:04:13,970 --> 00:04:15,870 Dit gaat in milliseconden. 90 00:04:15,870 --> 00:04:18,640 En dan wat we gaan doen, is dat we gaan om te waarschuwen dat de login- 91 00:04:18,640 --> 00:04:21,459 Time-out terug te loggen 92 00:04:21,459 --> 00:04:23,990 En we gaan naar de locatie te veranderen naar een andere locatie. 93 00:04:23,990 --> 00:04:30,370 94 00:04:30,370 --> 00:04:32,970 >> Dus als ik stuur deze website naar iemand, ze zullen worden 95 00:04:32,970 --> 00:04:34,380 rondsnuffelen, kalm. 96 00:04:34,380 --> 00:04:35,650 Er gebeurt niets. 97 00:04:35,650 --> 00:04:38,550 En in vijf seconden, gaat het te zeggen, uw login time-out. 98 00:04:38,550 --> 00:04:40,200 Zoom loggen 99 00:04:40,200 --> 00:04:43,400 Zodra ze op OK klikt, ga ik breng ze naar een andere website. 100 00:04:43,400 --> 00:04:45,980 Vermoedelijk, de website gaat zijn vergelijkbaar met de website die 101 00:04:45,980 --> 00:04:47,280 ze waren vóór. 102 00:04:47,280 --> 00:04:50,770 En ze gaan loggen hun geloofsbrieven in mijn website in plaats van 103 00:04:50,770 --> 00:04:51,850 hun website. 104 00:04:51,850 --> 00:04:54,780 >> En zo kan ik mensen stuur een e-mail met deze link. 105 00:04:54,780 --> 00:04:56,240 Ik zeg, oh, hier is een link. 106 00:04:56,240 --> 00:04:57,290 Dit is een bank, bijvoorbeeld. 107 00:04:57,290 --> 00:05:01,390 Ik zeg, hier, gaan op deze link. 108 00:05:01,390 --> 00:05:03,730 En zodra ze sturen, ze zijn gaat rond te browsen. 109 00:05:03,730 --> 00:05:07,560 Ik kan wachten tot 15 seconden, 20 seconden, en dan pop dat u weer inloggen 110 00:05:07,560 --> 00:05:08,840 tekenen weer op. 111 00:05:08,840 --> 00:05:10,120 Jullie kunnen proberen met veel meer dingen. 112 00:05:10,120 --> 00:05:13,190 Het is ingewikkeld, omdat jullie gezien hebben geen JavaScript, dus je zou 113 00:05:13,190 --> 00:05:14,750 niet weten dat sommige functies. 114 00:05:14,750 --> 00:05:18,625 Maar alles wat je hoeft te doen is start met script, eindigen met script. 115 00:05:18,625 --> 00:05:22,105 116 00:05:22,105 --> 00:05:25,510 En je kon alles te stoppen in het midden. 117 00:05:25,510 --> 00:05:27,350 >> Alert is een functie, wacht. 118 00:05:27,350 --> 00:05:29,365 Window locatie neemt u naar een nieuwe locatie. 119 00:05:29,365 --> 00:05:31,370 Maar je kunt zoveel meer doen. 120 00:05:31,370 --> 00:05:32,630 En het idee is dus dat we dat uit. 121 00:05:32,630 --> 00:05:39,350 Als ik naar voorbeeld van twee, en ik zet in dit dezelfde code, het is 122 00:05:39,350 --> 00:05:40,210 niet gaan werken. 123 00:05:40,210 --> 00:05:43,620 Dus het is het afdrukken van alles uit omdat wat deze website oorspronkelijk 124 00:05:43,620 --> 00:05:50,350 doet is als ik hier iets, het zal het uit te printen hier. 125 00:05:50,350 --> 00:05:52,390 Dus het is niet iets uit te drukken. 126 00:05:52,390 --> 00:05:55,560 Dit voorbeeld is eigenlijk controleert om te zien of script is er. 127 00:05:55,560 --> 00:05:57,163 Dus ja, ga je gang. 128 00:05:57,163 --> 00:05:57,606 Vraag me. 129 00:05:57,606 --> 00:05:59,560 >> PUBLIEK: Is het niet verzenden een GET of POST verzoek? 130 00:05:59,560 --> 00:06:00,670 >> LUCIANO ARANGO: Yeah. ze zijn het verzenden van een GET-aanvraag. 131 00:06:00,670 --> 00:06:01,350 >> PUBLIEK: het is? 132 00:06:01,350 --> 00:06:02,490 >> LUCIANO ARANGO: Yeah. 133 00:06:02,490 --> 00:06:04,030 Ook browsers bericht verzoeken. 134 00:06:04,030 --> 00:06:07,470 Maar ik probeer te krijgen verzoeken tonen zodat we kunnen zien wat er 135 00:06:07,470 --> 00:06:10,760 eigenlijk aan de hand. 136 00:06:10,760 --> 00:06:12,880 En dus als we kijken naar deze code - dus het is niet meer. 137 00:06:12,880 --> 00:06:24,870 En als we een kijkje nemen op deze code, het gaat om in voorbeeld twee. 138 00:06:24,870 --> 00:06:29,300 Wat deze persoon doet, de persoon belast deze browser - 139 00:06:29,300 --> 00:06:35,370 open te stellen, OK - 140 00:06:35,370 --> 00:06:39,290 is het vervangen van het woord script. 141 00:06:39,290 --> 00:06:42,850 Dit is PHP, die jullie misschien nog een beetje gezien. 142 00:06:42,850 --> 00:06:46,250 >> Hij is gewoon het vervangen van de woord script met de naam. 143 00:06:46,250 --> 00:06:50,895 Dus maar als ik ga je gang en gewoon in - 144 00:06:50,895 --> 00:06:58,520 145 00:06:58,520 --> 00:07:02,360 als ik pak mijn code weer, en ik ga om het te wijzigen maar een klein beetje. 146 00:07:02,360 --> 00:07:15,010 In plaats van het script, ik ga veranderen het voor script met een hoofdletter R. En 147 00:07:15,010 --> 00:07:16,390 we gaan om te zien of deze code werkt. 148 00:07:16,390 --> 00:07:19,090 Zodat het niet uitprinten, dat is een goed teken. 149 00:07:19,090 --> 00:07:21,990 En hopelijk in twee seconden, het gaat om pop-up. 150 00:07:21,990 --> 00:07:22,820 >> Uw login timed out. 151 00:07:22,820 --> 00:07:23,210 OK. 152 00:07:23,210 --> 00:07:24,460 Dat is goed. 153 00:07:24,460 --> 00:07:27,670 Dus controleren op script zou niet per se. 154 00:07:27,670 --> 00:07:28,130 De persoon - 155 00:07:28,130 --> 00:07:32,290 het kan ook controleren op script hoofdletters, script kleine letters, str geval 156 00:07:32,290 --> 00:07:34,180 vergelijken, zorg ervoor dat ze hetzelfde. 157 00:07:34,180 --> 00:07:38,480 Maar de hacker kan nog steeds een soort van wat te doen we deden in Vigenere toen we verhuisden 158 00:07:38,480 --> 00:07:40,620 terug een paar personages, vooruit. 159 00:07:40,620 --> 00:07:43,470 En het kan uitzoeken hoe je script te zetten terug naar binnen zodat het kan injecteren 160 00:07:43,470 --> 00:07:44,460 dat script. 161 00:07:44,460 --> 00:07:50,370 >> Dus wat u wilt gebruiken is htmlspecialchars te 162 00:07:50,370 --> 00:07:51,330 bescherming van uw website. 163 00:07:51,330 --> 00:07:56,490 En wat dit doet is het maakt ervoor dat wat je in - 164 00:07:56,490 --> 00:07:59,610 bijvoorbeeld, offertes of dit groter of kleiner dan - 165 00:07:59,610 --> 00:08:04,701 wordt vervangen door iets die niet - 166 00:08:04,701 --> 00:08:05,951 laat me hier te zoomen - 167 00:08:05,951 --> 00:08:08,730 168 00:08:08,730 --> 00:08:09,685 de werkelijke ampersand. 169 00:08:09,685 --> 00:08:13,420 Het zal vervangen die speciale HTML tekens die we zullen zien wanneer we 170 00:08:13,420 --> 00:08:14,670 het over - 171 00:08:14,670 --> 00:08:18,635 172 00:08:18,635 --> 00:08:20,740 oh, dit gaat me terug te nemen naar - 173 00:08:20,740 --> 00:08:24,220 174 00:08:24,220 --> 00:08:25,380 deze tekens hier. 175 00:08:25,380 --> 00:08:28,180 >> Deze betekenen dat iets komt eraan. 176 00:08:28,180 --> 00:08:31,570 Voor HTML, dat begin beugel vertelt ons dat er iets 177 00:08:31,570 --> 00:08:33,299 HTML gerelateerde komt. 178 00:08:33,299 --> 00:08:33,980 En we willen om zich te ontdoen van dat. 179 00:08:33,980 --> 00:08:36,200 We willen niet in een HTML zetten website.k We willen niet dat de gebruiker 180 00:08:36,200 --> 00:08:40,260 in staat zijn om iets in hun website te plaatsen dat hun website kunnen beïnvloeden, zoals 181 00:08:40,260 --> 00:08:43,480 script of HTML of iets dergelijks. 182 00:08:43,480 --> 00:08:53,090 Wat belangrijk is dat je ontsmetten van de input van de gebruiker. 183 00:08:53,090 --> 00:08:54,720 >> Zodat de gebruikers kunnen worden ingevoerd veel dingen. 184 00:08:54,720 --> 00:08:58,110 Hij kan het invoeren van een heleboel dingen te proberen om uw browser te verleiden tot nog 185 00:08:58,110 --> 00:08:59,410 het uitvoeren van dit script code. 186 00:08:59,410 --> 00:09:02,870 Wat u wilt doen is niet alleen kijken voor script, maar kijk voor alles 187 00:09:02,870 --> 00:09:04,250 dat zou kunnen zijn kwaadaardig. 188 00:09:04,250 --> 00:09:06,800 En htmlspecialchars zal dat doen voor u, zodat u niet hoeft 189 00:09:06,800 --> 00:09:07,340 zorgen over te maken. 190 00:09:07,340 --> 00:09:12,280 Maar probeer niet te doen door jezelf soort van met uw eigen code. 191 00:09:12,280 --> 00:09:14,055 Is iedereen duidelijk XSS? 192 00:09:14,055 --> 00:09:14,370 >> OK. 193 00:09:14,370 --> 00:09:16,355 Laten we naar SQL-injectie. 194 00:09:16,355 --> 00:09:21,010 Dus SQL-injectie is waarschijnlijk de nummer een kwetsbaarheid 195 00:09:21,010 --> 00:09:22,490 in verschillende websites. 196 00:09:22,490 --> 00:09:24,350 Ik bedoel, een goed voorbeeld - 197 00:09:24,350 --> 00:09:27,350 Ik was gewoon onderzoek verst voor dit ding. 198 00:09:27,350 --> 00:09:34,430 En ik vond dit geweldige artikel, waar Ik zag dat Harvard werd geschonden, 199 00:09:34,430 --> 00:09:35,390 werd gehackt. 200 00:09:35,390 --> 00:09:37,370 En ik vroeg me af, goed, hoe zou ze dat doen? 201 00:09:37,370 --> 00:09:41,660 Harvard is de meest ontzagwekkende, meest veilig universiteit ooit. 202 00:09:41,660 --> 00:09:43,850 Rechts? 203 00:09:43,850 --> 00:09:45,410 Nou, om de servers overtreden, de hackers gebruikte een 204 00:09:45,410 --> 00:09:47,710 techniek genaamd SQL-injectie. 205 00:09:47,710 --> 00:09:50,250 >> Dus dit gebeurt op een dagelijkse basis. 206 00:09:50,250 --> 00:09:53,590 Mensen vergeten om rekening te houden voor SQL-injectie. 207 00:09:53,590 --> 00:09:54,930 Harvard doet. 208 00:09:54,930 --> 00:10:00,050 Ik denk dat het hier staat, Princeton, Stanford, Cornell. 209 00:10:00,050 --> 00:10:03,550 Dus hoe kunnen we - dus wat is dit SQL injectie dat brengt al deze 210 00:10:03,550 --> 00:10:05,668 mensen beneden? 211 00:10:05,668 --> 00:10:08,010 OK. 212 00:10:08,010 --> 00:10:12,090 Dus SQL is een programmeertaal die we gebruiken om toegang te krijgen tot databases. 213 00:10:12,090 --> 00:10:14,560 Wat we doen is dat we te selecteren - 214 00:10:14,560 --> 00:10:18,510 dus wat nu dit leest select is alles van de tafel. 215 00:10:18,510 --> 00:10:22,640 >> SQL, verandert het in deze databases dat tafels vol met informatie. 216 00:10:22,640 --> 00:10:26,550 Dus selecteer alles van gebruikers waar de naam is gebruikersnaam. 217 00:10:26,550 --> 00:10:28,120 Rechts? 218 00:10:28,120 --> 00:10:30,770 Eenvoudig genoeg. 219 00:10:30,770 --> 00:10:34,490 Het idee van SQL-injectie is dat we Steek een aantal kwaadaardige code die zou 220 00:10:34,490 --> 00:10:37,270 truc de server in het runnen van iets anders dan wat het 221 00:10:37,270 --> 00:10:38,430 oorspronkelijk liep. 222 00:10:38,430 --> 00:10:44,970 Dus laten we zeggen voor de gebruikersnaam, we in of 1 is gelijk aan 1. 223 00:10:44,970 --> 00:10:46,700 Dus hebben we in 1 of gelijk aan 1. 224 00:10:46,700 --> 00:10:49,890 De manier waarop het nu leest zal worden geko van de gebruikers, alles van 225 00:10:49,890 --> 00:10:51,360 gebruikers - dit is alles - 226 00:10:51,360 --> 00:10:55,880 waar naam gebruikersnaam, maar username is of 1 is gelijk aan 1. 227 00:10:55,880 --> 00:11:01,760 >> Dus de naam is niets of 1 is gelijk aan 1. 228 00:11:01,760 --> 00:11:04,060 1 gelijk aan 1 is altijd waar. 229 00:11:04,060 --> 00:11:07,690 Dus dit zal altijd informatie terug van de gebruikers. 230 00:11:07,690 --> 00:11:08,100 OK. 231 00:11:08,100 --> 00:11:10,030 We hoeven niet te hebben de juiste gebruikersnaam. 232 00:11:10,030 --> 00:11:14,240 We kunnen gewoon alles wat we willen, en het zal informatie terug 233 00:11:14,240 --> 00:11:15,690 die we nodig hebben. 234 00:11:15,690 --> 00:11:17,160 Laten we eens kijken naar een ander voorbeeld. 235 00:11:17,160 --> 00:11:22,720 >> Als we alles hebben selecteren van een gebruiker, waar naam DROP TABLE gebruikers - 236 00:11:22,720 --> 00:11:26,420 dus wat denk je dat dit zal doen als ik in de gebruikersnaam 237 00:11:26,420 --> 00:11:29,560 als DROP TABLE gebruikers? 238 00:11:29,560 --> 00:11:30,230 Iemand een idee? 239 00:11:30,230 --> 00:11:31,050 Ja. 240 00:11:31,050 --> 00:11:32,470 >> PUBLIEK: Het gaat om te vertellen aan alle tafels dumpen. 241 00:11:32,470 --> 00:11:35,460 >> LUCIANO ARANGO: Het gaat ons vertellen om alles in de website te dumpen, 242 00:11:35,460 --> 00:11:38,290 alles in de database. 243 00:11:38,290 --> 00:11:41,910 En wat mensen gebruiken deze voor - zo Ik ga je laten zien jongens. 244 00:11:41,910 --> 00:11:45,462 Ik uitgeschakeld laten vallen van de tabellen want ik heb je niet wilt 245 00:11:45,462 --> 00:11:48,240 jongens om mijn tafels vallen. 246 00:11:48,240 --> 00:11:49,850 Laten we eens een kijkje op deze. 247 00:11:49,850 --> 00:11:54,410 Dus dit trekt gewoon de informatie voor een bepaalde persoon. 248 00:11:54,410 --> 00:11:57,550 Dus hoe kunnen we weten of dit beïnvloed door SQL-injectie. 249 00:11:57,550 --> 00:12:01,545 We gaan echt snel te controleren als we iets kunnen zetten - 250 00:12:01,545 --> 00:12:04,990 251 00:12:04,990 --> 00:12:06,080 laat me deze code te kopiëren. 252 00:12:06,080 --> 00:12:08,140 Ik ga om te gaan over het in een seconde. 253 00:12:08,140 --> 00:12:12,210 Ik ga wortel zetten en 1 gelijk is aan 1. 254 00:12:12,210 --> 00:12:15,510 >> Dit hier, dit procent teken 23 - 255 00:12:15,510 --> 00:12:19,970 wat het werkelijk is, als ik kijk hier bij - 256 00:12:19,970 --> 00:12:23,820 de manier waarop HTML neemt in aantal, als je neem een ​​kijkje op toen ik in een ruimte 257 00:12:23,820 --> 00:12:28,380 hier - als ik de ruimte iets te hier, verandert het naar een procent 2. 258 00:12:28,380 --> 00:12:31,420 Doen jullie dit zien hier toen ik in een ruimte? 259 00:12:31,420 --> 00:12:36,710 De manier waarop het werkt is dat je kunt alleen stuur ASCII-waarden via HTML. 260 00:12:36,710 --> 00:12:40,330 Zo vervangt, bijvoorbeeld, een ruimte met 20 procent. 261 00:12:40,330 --> 00:12:41,970 Ik weet niet of jullie hebben eerder gezien dat. 262 00:12:41,970 --> 00:12:45,100 >> Het vervangt een hashtag met 23 procent. 263 00:12:45,100 --> 00:12:50,840 We hebben een hashtag aan het einde van of verklaring, zodat we kunnen zeggen de 264 00:12:50,840 --> 00:13:00,885 database uitcommentariëren vergeten dit laatste puntkomma aan het einde. 265 00:13:00,885 --> 00:13:03,060 We willen dat het niet over nadenken. 266 00:13:03,060 --> 00:13:05,980 We willen gewoon dat het alles draaien dat we op voorhand en 267 00:13:05,980 --> 00:13:07,450 commentaar dat uit. 268 00:13:07,450 --> 00:13:08,710 Laten we eens een kijkje nemen op het. 269 00:13:08,710 --> 00:13:14,670 >> Dus als ik iets verkeerd gezegd - laten we zeggen bijvoorbeeld, heb ik 2 gelijken 270 00:13:14,670 --> 00:13:15,690 1, het maakt me niets geven. 271 00:13:15,690 --> 00:13:22,930 Toen ik in 1 is gelijk aan 1, en het doet iets terug, dit vertelt mij dat 272 00:13:22,930 --> 00:13:24,660 Dit is kwetsbaar een SQL-injectie. 273 00:13:24,660 --> 00:13:29,090 Ik weet nu dat wat Ik heb na deze - 274 00:13:29,090 --> 00:13:39,110 en bijvoorbeeld verwijderen van tabellen of iets dergelijks 275 00:13:39,110 --> 00:13:41,190 zal zeker werken. 276 00:13:41,190 --> 00:13:44,350 Ik weet dat het kwetsbaar voor SQL-injectie omdat ik weet dat 277 00:13:44,350 --> 00:13:49,850 onder de motorkap, het is laat ik doe het 1 is gelijk aan 1 ding. 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 >> En als we kijken naar deze andere, nummer twee en nummer drie, het is 281 00:13:56,540 --> 00:13:59,110 gaan om een ​​beetje meer te doen controleren onder de 282 00:13:59,110 --> 00:14:03,680 motorkap van wat het is. 283 00:14:03,680 --> 00:14:07,425 Zodat iedereen de druppel staat al iets of geprobeerd? 284 00:14:07,425 --> 00:14:08,760 Doen jullie soort nog krijgen SQL? 285 00:14:08,760 --> 00:14:10,430 Omdat ik weet dat jullie nog niet het nog niet gezien, dus het is een soort van 286 00:14:10,430 --> 00:14:11,759 verwarrend voor jullie. 287 00:14:11,759 --> 00:14:16,160 288 00:14:16,160 --> 00:14:18,480 Laten we eens een kijkje nemen. 289 00:14:18,480 --> 00:14:21,270 Dus wat is de manier om SQLI voorkomen? 290 00:14:21,270 --> 00:14:21,390 OK. 291 00:14:21,390 --> 00:14:23,330 Dus dit is echt belangrijk, want je jongens willen absoluut voorkomen 292 00:14:23,330 --> 00:14:24,090 dit in uw websites. 293 00:14:24,090 --> 00:14:28,040 >> Zo niet, dan zijn al je vrienden gaan je uitlachen als ze vallen allemaal 294 00:14:28,040 --> 00:14:29,390 uw tabellen. 295 00:14:29,390 --> 00:14:36,150 Dus het idee is dat je de SQL repareren op een bepaalde manier, terwijl u match 296 00:14:36,150 --> 00:14:41,940 wat de gebruiker ingangen met een bepaalde string. 297 00:14:41,940 --> 00:14:46,120 Dus de manier waarop dit werkt is dat je bereiden de database. 298 00:14:46,120 --> 00:14:50,830 U selecteert de naam, kleur en calorieën van een database genaamd fruit. 299 00:14:50,830 --> 00:14:53,580 En dan waar calorieën is minder dan, en we zetten een vraagteken er 300 00:14:53,580 --> 00:14:56,530 zeggen dat we gaan invoeren iets in een tweede. 301 00:14:56,530 --> 00:14:58,850 >> En kleur is gelijk, en we zetten een vraag mark zeggen we gaan 302 00:14:58,850 --> 00:15:00,913 ingang iets in een tweede ook. 303 00:15:00,913 --> 00:15:02,660 OK? 304 00:15:02,660 --> 00:15:09,920 En dan voeren we het, zetten in 150 en rood. 305 00:15:09,920 --> 00:15:12,820 En dit zal controleren om ervoor te ervoor dat deze twee - 306 00:15:12,820 --> 00:15:15,300 deze array zal controleren of deze twee een geheel getal en 307 00:15:15,300 --> 00:15:16,550 dat dit een tekenreeks. 308 00:15:16,550 --> 00:15:18,810 309 00:15:18,810 --> 00:15:20,890 Dan gaan we, en we halen alle, plaatsen we het in het rood. 310 00:15:20,890 --> 00:15:21,964 Dat betekent dat we halen allemaal. 311 00:15:21,964 --> 00:15:26,790 Het betekent dat we eigenlijk de SQL-code statement en zet het terug in het rood. 312 00:15:26,790 --> 00:15:30,530 Hier doen we hetzelfde, maar we doe hetzelfde voor geel. 313 00:15:30,530 --> 00:15:32,490 En we halen allemaal. 314 00:15:32,490 --> 00:15:36,140 >> En zo niet mogelijk dat de gebruiker van de mogelijkheid om input iets 315 00:15:36,140 --> 00:15:41,710 dat is niet wat we gespecificeerd, een string of een geheel getal, bijvoorbeeld. 316 00:15:41,710 --> 00:15:45,100 317 00:15:45,100 --> 00:15:46,610 Ik was eerder over vertrouwen op anderen. 318 00:15:46,610 --> 00:15:50,010 Als jullie beginnen met uw project, u bent zeker gaat gebruiken 319 00:15:50,010 --> 00:15:52,310 bootstrap of iets dergelijks. 320 00:15:52,310 --> 00:15:53,490 Hebben jullie ooit gebruikt Wordpress? 321 00:15:53,490 --> 00:15:57,170 Waarschijnlijk heb je jongens hebben gebruikt Wordpress het meest waarschijnlijk. 322 00:15:57,170 --> 00:16:00,050 Dus het probleem met van andere mensen dingen - 323 00:16:00,050 --> 00:16:05,940 Ik ga gewoon naar Google echt snel Wordpress kwetsbaarheid. 324 00:16:05,940 --> 00:16:07,495 >> Als ik trek dit nu meteen - 325 00:16:07,495 --> 00:16:08,995 Ik heb letterlijk een twee tweede Google. 326 00:16:08,995 --> 00:16:12,300 327 00:16:12,300 --> 00:16:13,800 We kunnen zien dat Wordpress - 328 00:16:13,800 --> 00:16:17,450 dit is gedateerd in september '12. 329 00:16:17,450 --> 00:16:19,120 26 wordt bijgewerkt. 330 00:16:19,120 --> 00:16:23,620 De standaardconfiguratie van Wordpress voor 3.6 niet voorkomen dat deze 331 00:16:23,620 --> 00:16:27,110 bepaalde uploads, die macht het gemakkelijker maken voor 332 00:16:27,110 --> 00:16:29,790 cross-site scripting aanvallen. 333 00:16:29,790 --> 00:16:34,530 Dus snel een verhaal, als we eenmaal bezig waren met - dus ik was, in de zomer, het werken een 334 00:16:34,530 --> 00:16:34,970 stage. 335 00:16:34,970 --> 00:16:40,400 En we werkten met een soort van als een grote credit card maatschappij. 336 00:16:40,400 --> 00:16:42,020 >> En ze vertrouwen op iets genaamd - 337 00:16:42,020 --> 00:16:45,740 Ik weet niet of jullie ooit gespeeld met een product genaamd Joomla. 338 00:16:45,740 --> 00:16:51,750 Joomla is een product dat wordt gebruikt om controle - soort vergelijkbaar 339 00:16:51,750 --> 00:16:54,340 Wordpress, gebruikt om websites te bouwen. 340 00:16:54,340 --> 00:16:56,060 Dus moesten ze hun website werken aan Joomla. 341 00:16:56,060 --> 00:16:59,290 Dit is eigenlijk een creditcard bedrijf in Colombia. 342 00:16:59,290 --> 00:17:01,000 Ik neem je mee naar hun website echt snel. 343 00:17:01,000 --> 00:17:04,550 344 00:17:04,550 --> 00:17:05,400 >> Dus Joomla gebruikt ze. 345 00:17:05,400 --> 00:17:08,630 En ze hadden niet Joomla bijgewerkt de nieuwste aanwinst. 346 00:17:08,630 --> 00:17:12,160 En dus toen we nemen een kijkje op hun code, waren we in staat om daadwerkelijk 347 00:17:12,160 --> 00:17:18,430 gaan in hun code en stelen alle credit card informatie die ze hadden, 348 00:17:18,430 --> 00:17:21,670 alle credit card nummers, de namen, de adressen. 349 00:17:21,670 --> 00:17:22,740 En dit was gewoon - 350 00:17:22,740 --> 00:17:23,569 en hun code was perfect in orde. 351 00:17:23,569 --> 00:17:24,710 Ze hadden grote code. 352 00:17:24,710 --> 00:17:25,389 Het was allemaal beveiliging. 353 00:17:25,389 --> 00:17:26,520 Ze checkte alle databases. 354 00:17:26,520 --> 00:17:29,020 Zij zorgde ervoor dat cross-site scripting was prima. 355 00:17:29,020 --> 00:17:34,390 >> Maar ze iets dat niet gebruikt bijgewerkt, dat was niet veilig. 356 00:17:34,390 --> 00:17:36,940 En dat leidde hen naar - dus jullie zeker gaan andere gebruiken 357 00:17:36,940 --> 00:17:40,650 code, kaders van mensen van andere mensen de opbouw van uw website. 358 00:17:40,650 --> 00:17:43,860 Zorg ervoor dat ze veilig omdat soms is het je niet, degene die 359 00:17:43,860 --> 00:17:44,480 een fout maakt. 360 00:17:44,480 --> 00:17:47,440 Maar iemand anders een fout maakt, en dan vallen je vanwege dat. 361 00:17:47,440 --> 00:17:51,190 362 00:17:51,190 --> 00:17:53,885 >> Wachtwoorden en PII. 363 00:17:53,885 --> 00:17:56,820 Dus wachtwoorden. 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 Laten we eens een kijkje nemen op wachtwoorden echt snel. 367 00:18:04,230 --> 00:18:04,590 OK. 368 00:18:04,590 --> 00:18:06,520 Kunt u mij vertellen dat iedereen maakt gebruik van veilige - 369 00:18:06,520 --> 00:18:09,030 Ik ben hier in de hoop iedereen maakt gebruik van veilige wachtwoorden. 370 00:18:09,030 --> 00:18:12,890 Ik ben gewoon te laten dat in als een aanname. 371 00:18:12,890 --> 00:18:14,850 Dus jullie zeker gaan opslaan van wachtwoorden voor uw websites. 372 00:18:14,850 --> 00:18:17,440 Je gaat zoiets maken een login of iets dergelijks. 373 00:18:17,440 --> 00:18:19,610 Wat belangrijk is om niet te slaan wachtwoorden in platte tekst. 374 00:18:19,610 --> 00:18:20,860 Dit is uiterst belangrijk. 375 00:18:20,860 --> 00:18:23,960 Je wilt niet op te slaan een wachtwoord in platte tekst. 376 00:18:23,960 --> 00:18:27,370 >> En je zeker niet echt willen op te slaan in een one way hash. 377 00:18:27,370 --> 00:18:32,440 Dus wat een one way hash is dat wanneer je het genereren van een woord, als je dit zetten 378 00:18:32,440 --> 00:18:36,200 woord in een hash-functie, zal het genereren terug een soort van cryptische 379 00:18:36,200 --> 00:18:39,390 bericht of cryptische set sleutels. 380 00:18:39,390 --> 00:18:40,640 Ik zal je laten zien een voorbeeld. 381 00:18:40,640 --> 00:18:44,620 382 00:18:44,620 --> 00:18:50,250 Ik ga ze woord wachtwoord1 hash. 383 00:18:50,250 --> 00:18:55,280 Dus MD5 Hash gaat me terug een soort van rare informatie. 384 00:18:55,280 --> 00:18:59,140 >> Het probleem is dat mensen die er die graag in websites om te gaan 385 00:18:59,140 --> 00:19:02,750 al bedacht sorteren van alle md5 hashes. 386 00:19:02,750 --> 00:19:06,030 Wat ze hebben is dat ze zitten op hun computers en ze hash elke 387 00:19:06,030 --> 00:19:09,660 enkel mogelijk woord daar tot ze kregen een soort van wat dit is. 388 00:19:09,660 --> 00:19:11,420 Als ik dit op te zoeken - 389 00:19:11,420 --> 00:19:12,420 Ik pakte deze hash. 390 00:19:12,420 --> 00:19:14,120 Als ik deze hash van - 391 00:19:14,120 --> 00:19:17,470 als ik in een website, en ik vind deze hash omdat ik om de 392 00:19:17,470 --> 00:19:24,100 databanken, en ik zoek het op, iemand al dacht dat het uit voor mij. 393 00:19:24,100 --> 00:19:28,600 394 00:19:28,600 --> 00:19:29,100 >> Yeah. 395 00:19:29,100 --> 00:19:35,030 Dus mensen gingen zitten, en wat md5 hash die je in, ze gaan 396 00:19:35,030 --> 00:19:37,760 terug te keren naar je iets dat is een woord. 397 00:19:37,760 --> 00:19:39,800 Als ik hash ander woord, zoals - 398 00:19:39,800 --> 00:19:42,410 Ik weet het niet - 399 00:19:42,410 --> 00:19:43,490 trees2. 400 00:19:43,490 --> 00:19:46,050 Ik wil niet teleurgesteld worden door mijn Google-zoekopdrachten. 401 00:19:46,050 --> 00:19:49,820 402 00:19:49,820 --> 00:19:52,780 Daar is het, trees2. 403 00:19:52,780 --> 00:19:55,930 Dus veel websites nog steeds gebruik van md5 hash. 404 00:19:55,930 --> 00:19:57,730 Ze zeggen: oh, het is veilig. 405 00:19:57,730 --> 00:19:58,570 We zijn niet op te slaan in platte tekst. 406 00:19:58,570 --> 00:19:59,740 We hebben dit md5 hash. 407 00:19:59,740 --> 00:20:01,880 En alles wat ik moet doen is gewoon Google het nummer. 408 00:20:01,880 --> 00:20:03,940 >> Ik heb niet eens om mezelf te berekenen. 409 00:20:03,940 --> 00:20:06,790 Ik kan Google het, en iemand al deed het voor mij. 410 00:20:06,790 --> 00:20:08,010 Hier is een aantal van hen. 411 00:20:08,010 --> 00:20:09,260 Hier is een bos van wachtwoorden. 412 00:20:09,260 --> 00:20:13,890 413 00:20:13,890 --> 00:20:18,680 Dus zeker niet md5 hash gebruiken, omdat alles wat je hoeft te 414 00:20:18,680 --> 00:20:19,140 doen is Google het. 415 00:20:19,140 --> 00:20:20,390 Dus wat wil je in plaats daarvan gebruiken? 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 Iets genaamd zouten. 419 00:20:31,260 --> 00:20:32,460 Dus wat zouten is - 420 00:20:32,460 --> 00:20:36,280 doen jullie nog toen we waren praten over willekeurige in - 421 00:20:36,280 --> 00:20:37,920 Ik weet niet zeker wat PSET het was - 422 00:20:37,920 --> 00:20:41,140 werd er PSET of vier? 423 00:20:41,140 --> 00:20:45,150 >> We hadden het over het vinden van de naald in de hooiberg. 424 00:20:45,150 --> 00:20:48,480 En in de PSET, zei dat je zou kunnen eigenlijk uitzoeken wat willekeurig 425 00:20:48,480 --> 00:20:51,840 genereert omdat iemand al liep willekeurig een miljoen keer en net 426 00:20:51,840 --> 00:20:53,230 soort vormden wat ze genereren. 427 00:20:53,230 --> 00:20:55,840 Wat u wilt doen is zetten in een ingang. 428 00:20:55,840 --> 00:20:57,130 Dus dat is wat zouten soort is. 429 00:20:57,130 --> 00:21:00,900 Ze al bedacht wat zouten terug voor elk werk. 430 00:21:00,900 --> 00:21:04,750 >> Dus wat zouten doet is je in een zout. 431 00:21:04,750 --> 00:21:06,160 Je zet in een bepaald woord. 432 00:21:06,160 --> 00:21:09,720 En het zal dat woord hash afhankelijk op wat je hier ingelast. 433 00:21:09,720 --> 00:21:13,570 Dus als ik hash vergeten een met deze zin, het gaat om hash 434 00:21:13,570 --> 00:21:17,180 anders als ik hash wachtwoord1 met een andere zin. 435 00:21:17,180 --> 00:21:21,670 Het geeft het soort ergens aan start de hashing beginnen. 436 00:21:21,670 --> 00:21:25,970 Dus het is een stuk moeilijker te berekenen, maar je kan nog steeds berekenen, vooral 437 00:21:25,970 --> 00:21:26,830 als je een slechte zout te gebruiken. 438 00:21:26,830 --> 00:21:29,650 >> Mensen hebben al ook bedacht gemeenschappelijke zouten en bedacht 439 00:21:29,650 --> 00:21:31,500 wat dat is. 440 00:21:31,500 --> 00:21:34,980 Willekeurig zouten zijn beter, maar de beste manier is om te gebruiken 441 00:21:34,980 --> 00:21:38,160 iets genaamd crypte. 442 00:21:38,160 --> 00:21:40,480 En wat crypte kunt u doen - dus deze functies zijn 443 00:21:40,480 --> 00:21:41,820 al gebouwd voor u. 444 00:21:41,820 --> 00:21:44,910 Veel mensen vergeten dat, of ze vergeten om het te gebruiken. 445 00:21:44,910 --> 00:21:54,520 Maar als ik kijk omhoog crypte PHP, crypte al geeft een hash string voor mij. 446 00:21:54,520 --> 00:21:58,790 En het eigenlijk zouten het vele malen en hashes het vele malen. 447 00:21:58,790 --> 00:22:00,070 >> Dus we hoeven dit niet te doen. 448 00:22:00,070 --> 00:22:04,790 Dus alles wat je hoeft te doen is stuur het in crypte. 449 00:22:04,790 --> 00:22:08,170 En het zal een grote hash maken zonder u zich zorgen te maken over zout 450 00:22:08,170 --> 00:22:08,990 of iets. 451 00:22:08,990 --> 00:22:12,000 Want als je te zout, je moet om te onthouden wat zout je gebruikt 452 00:22:12,000 --> 00:22:13,800 want zo niet, kun je niet krijgen uw wachtwoord terug zonder de 453 00:22:13,800 --> 00:22:15,760 zout dat u gebruikt. 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 >> En ook persoonlijke identificeerbare gegevens. 457 00:22:23,150 --> 00:22:26,730 Dus de sociale zekerheid, credit card - dat is vrij duidelijk. 458 00:22:26,730 --> 00:22:31,880 Maar soms mensen vergeten de manier waarop het werken is, hoeveel informatie heb je 459 00:22:31,880 --> 00:22:35,690 eigenlijk moet wat een persoon te vinden? 460 00:22:35,690 --> 00:22:37,740 Iemand deed een studie over dit een weg terug. 461 00:22:37,740 --> 00:22:40,870 En het was, als je een volledige naam, kun je niet vinden 462 00:22:40,870 --> 00:22:41,610 iemand die gemakkelijk. 463 00:22:41,610 --> 00:22:43,900 Maar wat als je een volledige naam en hun geboortedatum? 464 00:22:43,900 --> 00:22:47,770 Is dat voldoende te identificeren iemand in het bijzonder? 465 00:22:47,770 --> 00:22:52,760 >> Wat als je hun naam en hebben de adres dat ze leven? 466 00:22:52,760 --> 00:22:55,110 Is dat genoeg om iemand te vinden? 467 00:22:55,110 --> 00:23:02,490 En dat is wanneer ze vragen, wat is persoonlijke identificeerbare informatie, en 468 00:23:02,490 --> 00:23:05,360 wat moet je zorgen te maken over niet weggeven? 469 00:23:05,360 --> 00:23:08,770 Als je weggeeft persoonlijk identificeerbare informatie die iemand geeft, 470 00:23:08,770 --> 00:23:11,420 je zou kunnen aangeklaagd. 471 00:23:11,420 --> 00:23:12,610 En we zeker niet willen dat. 472 00:23:12,610 --> 00:23:14,955 >> Dus als je het zetten van uw website uit, en je hebt een echt cool 473 00:23:14,955 --> 00:23:17,230 ontwerp, hopelijk u gemaakt een geweldig afstudeerproject. 474 00:23:17,230 --> 00:23:18,370 Elke je soort wilt zet het daar. 475 00:23:18,370 --> 00:23:21,420 U wilt ervoor zorgen dat wat je neemt van de gebruiker, als het 476 00:23:21,420 --> 00:23:25,310 persoonlijke identificeerbare informatie, u willen ervoor zorgen dat je er heel 477 00:23:25,310 --> 00:23:26,560 voorzichtig mee. 478 00:23:26,560 --> 00:23:29,670 479 00:23:29,670 --> 00:23:31,080 >> Shell injectie. 480 00:23:31,080 --> 00:23:31,350 OK. 481 00:23:31,350 --> 00:23:37,590 Shell injectie om de indringer te toegang krijgen tot uw werkelijke commandoregel 482 00:23:37,590 --> 00:23:39,660 in uw server. 483 00:23:39,660 --> 00:23:44,060 En dus is hij in staat om code uit te voeren dat je niet kan controleren. 484 00:23:44,060 --> 00:23:49,560 Laten we een voorbeeld van deze mooie reeks hier. 485 00:23:49,560 --> 00:23:55,570 Als we weer in de website, ik ben in te gaan op code-injectie te gaan. 486 00:23:55,570 --> 00:23:58,910 Dus wat dit doet is - 487 00:23:58,910 --> 00:24:00,420 het is ook wat we waren kijken voor. 488 00:24:00,420 --> 00:24:11,200 We laten de gebruiker te zetten in welke hij wil, en het zal uitprinten 489 00:24:11,200 --> 00:24:12,220 wat je wilt. 490 00:24:12,220 --> 00:24:13,890 >> Dus ik ga een gesprek in. 491 00:24:13,890 --> 00:24:15,540 Wat dit doet is - 492 00:24:15,540 --> 00:24:16,940 het zal beginnen met het aaneenschakelen. 493 00:24:16,940 --> 00:24:19,520 Dus het zal laat me lopen wat het bevel van de persoon running 494 00:24:19,520 --> 00:24:21,500 vóór en mijn bevel. 495 00:24:21,500 --> 00:24:23,980 En ik ben het draaien van een command systeem. 496 00:24:23,980 --> 00:24:27,310 En deze laatste strings zijn - herinneren wat ik sprak met jullie over, 497 00:24:27,310 --> 00:24:31,725 terwijl je moet coderen in een URL werkwijze. 498 00:24:31,725 --> 00:24:35,010 499 00:24:35,010 --> 00:24:36,992 Als ik run deze nu - 500 00:24:36,992 --> 00:24:39,150 Ik zal je laten zien hier - 501 00:24:39,150 --> 00:24:41,100 je zult zien dat ik eindigde tot het uitvoeren van een opdracht. 502 00:24:41,100 --> 00:24:45,700 503 00:24:45,700 --> 00:24:49,320 >> Dit is eigenlijk de werkelijke server dat mijn website loopt op. 504 00:24:49,320 --> 00:24:55,840 505 00:24:55,840 --> 00:24:58,510 Dus we willen dat niet, want ik kan lopen - 506 00:24:58,510 --> 00:25:00,320 deze server is niet van mij. 507 00:25:00,320 --> 00:25:04,030 Dus ik wil niet te verknoeien zijn zuster, server Marcus. 508 00:25:04,030 --> 00:25:07,470 Maar je kunt meer opdrachten uitvoeren die gevaarlijk zijn. 509 00:25:07,470 --> 00:25:11,885 En mogelijk, zou je kunnen verwijderen bestanden, mappen verwijderen. 510 00:25:11,885 --> 00:25:14,390 511 00:25:14,390 --> 00:25:17,970 Ik kan een bepaalde map of verwijderen Ik wilde, maar ik wil niet 512 00:25:17,970 --> 00:25:19,530 dat doen Marcus. 513 00:25:19,530 --> 00:25:20,420 Hij is een aardige vent. 514 00:25:20,420 --> 00:25:21,470 Hij liet me zijn server lenen. 515 00:25:21,470 --> 00:25:24,620 Dus ik ga om hem te laten korting op de goede. 516 00:25:24,620 --> 00:25:32,280 >> Dus wat we niet willen gebruiken - we doen niet willen eval of systeem te gebruiken. 517 00:25:32,280 --> 00:25:34,755 Eval of systeem stelt ons in staat om maken deze system calls. 518 00:25:34,755 --> 00:25:37,410 519 00:25:37,410 --> 00:25:38,410 Eval middelen te evalueren. 520 00:25:38,410 --> 00:25:40,790 Systeem betekent wat ik liep. 521 00:25:40,790 --> 00:25:42,490 Het is iets draaien in het systeem. 522 00:25:42,490 --> 00:25:46,730 Maar we kunnen deze dingen te verbieden in PHP zodat we ze niet gebruiken. 523 00:25:46,730 --> 00:25:47,400 En het uploaden van bestanden. 524 00:25:47,400 --> 00:25:49,180 Ik was van plan om een ​​geweldige doen ding met het uploaden van bestanden. 525 00:25:49,180 --> 00:25:52,740 Maar zoals ik zei toch, mijn dossier upload ding werkt niet. 526 00:25:52,740 --> 00:25:54,590 Als ik een bestand nu uploaden - 527 00:25:54,590 --> 00:25:57,120 528 00:25:57,120 --> 00:26:00,830 als ik een bestand te uploaden, en het is een foto - 529 00:26:00,830 --> 00:26:03,180 heb je een upload ding dat is een foto. 530 00:26:03,180 --> 00:26:03,660 Dat is prima. 531 00:26:03,660 --> 00:26:04,280 Er gebeurt niets. 532 00:26:04,280 --> 00:26:10,840 >> Maar als je een upload bestand, hebben voorbeeld, en de gebruiker daadwerkelijk uploads 533 00:26:10,840 --> 00:26:19,220 een PHP-bestand of een exe-bestand of iets als dat, dan kun je mogelijk 534 00:26:19,220 --> 00:26:19,740 hebben een probleem. 535 00:26:19,740 --> 00:26:21,390 Dit werd voor het werken. 536 00:26:21,390 --> 00:26:25,202 Helaas voor mij, het is niet meer. 537 00:26:25,202 --> 00:26:30,230 Als ik bijvoorbeeld dit bestand uploaden, ben ik niet krijgen toestemming om te uploaden 538 00:26:30,230 --> 00:26:33,400 het bestand door de server niet in de mijne. 539 00:26:33,400 --> 00:26:38,670 Dus de man is echt slim. 540 00:26:38,670 --> 00:26:39,610 >> Zodat we niet willen - 541 00:26:39,610 --> 00:26:40,130 Ik ga jullie laten zien - 542 00:26:40,130 --> 00:26:41,840 OK, dit zijn enkele echt cool gereedschap. 543 00:26:41,840 --> 00:26:45,100 Dus deze - 544 00:26:45,100 --> 00:26:47,715 gaan in - als jullie hebben Firefox - hopelijk je doet. 545 00:26:47,715 --> 00:26:54,260 Er zijn twee add-ons genaamd SQL Inject Me and Cross-Site Script Me. 546 00:26:54,260 --> 00:26:56,870 Openen ze zo weinig kant balken aan de zijkanten. 547 00:26:56,870 --> 00:27:01,480 En als ik naar CS60 bijvoorbeeld - 548 00:27:01,480 --> 00:27:04,210 dus wat het doet is het lijkt van alle formulieren die - 549 00:27:04,210 --> 00:27:07,220 550 00:27:07,220 --> 00:27:08,760 hopelijk zal ik niet krijgen in de problemen voor. 551 00:27:08,760 --> 00:27:09,190 >> Maar OK. 552 00:27:09,190 --> 00:27:12,600 Hier is het pin-systeem. 553 00:27:12,600 --> 00:27:18,946 Dus toen ik op zoek gaan naar gaten in het systeem, het eerste wat ik doe is 554 00:27:18,946 --> 00:27:21,820 het openen van deze mooie kleine tool op de zijkant. 555 00:27:21,820 --> 00:27:24,160 En ik ga formulieren testen met automatische aanvallen. 556 00:27:24,160 --> 00:27:28,510 En dus wat dit doet is het langzaam opent een stelletje browsers. 557 00:27:28,510 --> 00:27:29,930 Hier is een bos van browsers. 558 00:27:29,930 --> 00:27:33,320 En het probeert elke combinatie van cross-site scripting 559 00:27:33,320 --> 00:27:37,380 dat mogelijk is, indien zie je aan de kant. 560 00:27:37,380 --> 00:27:42,080 >> En het zal me een resultaat geven soort van wat het antwoord is. 561 00:27:42,080 --> 00:27:42,860 Alle passeren. 562 00:27:42,860 --> 00:27:43,910 Uiteraard, ze allemaal passeren. 563 00:27:43,910 --> 00:27:46,190 Ik bedoel, ze zijn echt slim mensen daar. 564 00:27:46,190 --> 00:27:48,010 Maar als ik te lopen - 565 00:27:48,010 --> 00:27:52,050 Ik heb keer eerder toen ik dit run had op afstudeerprojecten van studenten. 566 00:27:52,050 --> 00:27:56,080 Ik heb gewoon run SQL Inject Me met alle verschillende aanvallen. 567 00:27:56,080 --> 00:28:00,080 En het probeert om SQL inject deze pin server. 568 00:28:00,080 --> 00:28:03,590 Dus als we naar beneden scrollen, voor Bijvoorbeeld, het zegt - 569 00:28:03,590 --> 00:28:04,960 Dit is goed als het terugkeert. 570 00:28:04,960 --> 00:28:08,250 >> Dus het getest wat bepaalde waarden. 571 00:28:08,250 --> 00:28:11,170 En de server heeft een code die was negatief. 572 00:28:11,170 --> 00:28:11,780 Verwijder tijdelijk. 573 00:28:11,780 --> 00:28:13,030 Dit is goed. 574 00:28:13,030 --> 00:28:17,050 575 00:28:17,050 --> 00:28:20,750 Het probeert al deze proeven. 576 00:28:20,750 --> 00:28:21,790 Dus je kon gewoon lopen - 577 00:28:21,790 --> 00:28:27,860 Ik wou dat ik kon een website echte vondst snel dat zou me laten - 578 00:28:27,860 --> 00:28:29,110 misschien is de CS50 winkel. 579 00:28:29,110 --> 00:28:43,890 580 00:28:43,890 --> 00:28:45,711 >> Wow, dit gaat duren veel te lang. 581 00:28:45,711 --> 00:28:53,090 582 00:28:53,090 --> 00:28:55,130 Ik laat de eerste test niet meteen een einde aan. 583 00:28:55,130 --> 00:28:57,330 Dus het is klagen. 584 00:28:57,330 --> 00:28:58,470 Dit zijn dus drie dingen. 585 00:28:58,470 --> 00:29:00,430 Deze tools zijn gratis. 586 00:29:00,430 --> 00:29:03,960 U kunt ze downloaden en lopen ze op uw website, en het zal u vertellen of 587 00:29:03,960 --> 00:29:06,650 je cross-site scripting, als je SQL, als je 588 00:29:06,650 --> 00:29:07,900 iets van dergelijke. 589 00:29:07,900 --> 00:29:12,230 590 00:29:12,230 --> 00:29:14,500 Ik ben soort van verprutsen. 591 00:29:14,500 --> 00:29:15,550 >> Wat belangrijk is - 592 00:29:15,550 --> 00:29:17,900 OK, dus nooit de gebruiker vertrouwen. 593 00:29:17,900 --> 00:29:21,920 Wat de gebruiker ingangen aan u, maken ervoor dat je het ontsmetten, het reinigen, 594 00:29:21,920 --> 00:29:25,300 u controleren of de juiste dingen, dat het geeft je wat je 595 00:29:25,300 --> 00:29:28,240 wilt dat hij je geven. 596 00:29:28,240 --> 00:29:32,460 Hier kun je bekijken op welke kaders dat u daadwerkelijk gebruikt. 597 00:29:32,460 --> 00:29:34,630 - Als je iets als bootstrap gebruiken 598 00:29:34,630 --> 00:29:36,340 Ik weet dat jullie gaat gebruiken bootstrap want hij gaat om te gaan 599 00:29:36,340 --> 00:29:38,140 Over deze binnenkort in de klas - 600 00:29:38,140 --> 00:29:43,120 en Wordpress of iets dergelijks, normaal dit kan worden gehackt. 601 00:29:43,120 --> 00:29:44,770 >> En dan heb je niet eens weet. 602 00:29:44,770 --> 00:29:45,800 Je bent gewoon het runnen van uw website. 603 00:29:45,800 --> 00:29:47,360 En het is volledig veilig. 604 00:29:47,360 --> 00:29:51,730 En je gaat naar beneden. 605 00:29:51,730 --> 00:29:54,000 Dus ik ben vissen echt vroeg. 606 00:29:54,000 --> 00:29:55,770 Maar ik wil Pentest Labs bedanken. 607 00:29:55,770 --> 00:29:58,140 Ik ga jullie iets laten zien riep Pentest Labs. 608 00:29:58,140 --> 00:30:05,000 Als jullie echt geïnteresseerd bent in wat veiligheid eigenlijk is, is er een 609 00:30:05,000 --> 00:30:07,300 website genaamd Pentest Labs als jullie gaan naar het nu. 610 00:30:07,300 --> 00:30:10,730 Oh, nou, dat is het niet. 611 00:30:10,730 --> 00:30:12,030 Ik ga gewoon om het uit te voeren als dit. 612 00:30:12,030 --> 00:30:14,400 Google vertelt me ​​het antwoord. 613 00:30:14,400 --> 00:30:16,590 >> OK. 614 00:30:16,590 --> 00:30:19,030 En het leert gebruiken je - dus het zegt, leren web penetratie 615 00:30:19,030 --> 00:30:21,060 het testen van de juiste manier. 616 00:30:21,060 --> 00:30:23,650 Het leert je - 617 00:30:23,650 --> 00:30:25,150 hopelijk, je bent een ethische persoon. 618 00:30:25,150 --> 00:30:29,200 Maar het leert je hoe je kunt kijken naar hoe je kunt krijgen binnen websites. 619 00:30:29,200 --> 00:30:31,130 En als je leert hoe je kunt binnen te komen websites, kunt u leren hoe u 620 00:30:31,130 --> 00:30:34,960 jezelf te beschermen tegen het krijgen van binnen websites. 621 00:30:34,960 --> 00:30:39,100 Laat me in te zoomen omdat jullie misschien kijken niet naar dit recht. 622 00:30:39,100 --> 00:30:46,350 >> Van SQL-injectie om de schaal, zodat soort van hoe ik kan krijgen van SQL 623 00:30:46,350 --> 00:30:48,530 injectie om de schaal. 624 00:30:48,530 --> 00:30:53,890 En u downloadt deze virtuele machine. 625 00:30:53,890 --> 00:30:55,690 En de virtuele machine al komt met de website die u bent 626 00:30:55,690 --> 00:30:56,780 ga het proberen. 627 00:30:56,780 --> 00:30:58,030 U downloadt deze PDF. 628 00:30:58,030 --> 00:31:03,610 629 00:31:03,610 --> 00:31:08,370 En het zal u regel voor regel wat je moet doen, wat je controleren. 630 00:31:08,370 --> 00:31:14,560 Dit is wat een aanvaller daadwerkelijk doet om in een website te krijgen. 631 00:31:14,560 --> 00:31:15,750 >> En sommige van dit spul is ingewikkeld. 632 00:31:15,750 --> 00:31:17,520 Ik wou dat ik kon gaan over meer dingen met jullie. 633 00:31:17,520 --> 00:31:21,090 Maar ik ben bang dat jullie hebben niet echt - 634 00:31:21,090 --> 00:31:23,090 dit is wat ik ging met jullie, web testen 635 00:31:23,090 --> 00:31:26,830 voor penetratie testen. 636 00:31:26,830 --> 00:31:33,540 Weet niet echt wat SQL is en wat - 637 00:31:33,540 --> 00:31:35,960 Carl Jackson's seminar is geweldig. 638 00:31:35,960 --> 00:31:37,360 Jullie niet sorteren weten van wat dit is. 639 00:31:37,360 --> 00:31:39,450 Maar als je naar deze website, en je downloaden deze tutorials en deze 640 00:31:39,450 --> 00:31:43,290 PDF's, kunt u een kijkje nemen op soort te nemen wat het gebied van veiligheid echt 641 00:31:43,290 --> 00:31:46,940 in penetratie testen, zien hoe u kunt krijgen binnen websites en beschermen 642 00:31:46,940 --> 00:31:48,020 zelf van. 643 00:31:48,020 --> 00:31:56,360 >> Dus als ik een super snel overzicht, het zal voorkomen dat cross-site scripting. 644 00:31:56,360 --> 00:32:00,160 U wilt htmlspecialchars elk gebruik keer dat de gebruiker ingangen iets. 645 00:32:00,160 --> 00:32:01,580 Voorkom SQL-injectie. 646 00:32:01,580 --> 00:32:04,510 Als je dat doet, ben je al beter af dan Harvard was 647 00:32:04,510 --> 00:32:06,530 toen ze geschonden. 648 00:32:06,530 --> 00:32:10,510 En zorg ervoor dat uw wachtwoorden niet in platte tekst. 649 00:32:10,510 --> 00:32:16,220 Zorg ervoor dat je niet alleen een manier hash hen, maar dat je crypte gebruiken, de PHP 650 00:32:16,220 --> 00:32:18,670 functie die ik liet jullie. 651 00:32:18,670 --> 00:32:20,060 Op die manier moet je goed zijn. 652 00:32:20,060 --> 00:32:25,830 >> Ook als uw vrienden u laten, lopen SQL Inject Me op hun websites. 653 00:32:25,830 --> 00:32:28,140 Run cross-site scripting op hun websites. 654 00:32:28,140 --> 00:32:33,720 En je zult veel van deze websites te kunnen zien een ton van kwetsbaarheden. 655 00:32:33,720 --> 00:32:40,400 Het is ongelooflijk hoeveel mensen vergeten om hun databases te ontsmetten of te maken 656 00:32:40,400 --> 00:32:46,340 zeker wat het invoeren van de persoon is geen script code. 657 00:32:46,340 --> 00:32:47,200 OK. 658 00:32:47,200 --> 00:32:49,182 Ik soort eindigde heel vroeg. 659 00:32:49,182 --> 00:32:56,510 Maar als iemand vragen heeft over iets, kan je me neerschieten een vraag. 660 00:32:56,510 --> 00:32:56,630 Yeah. 661 00:32:56,630 --> 00:32:56,970 Go, go. 662 00:32:56,970 --> 00:32:59,846 >> Publiek: Ik wil gewoon om te vragen, kunt u zien hoe het bestand uit te leggen 663 00:32:59,846 --> 00:33:03,160 uploaden precies werken. 664 00:33:03,160 --> 00:33:03,480 >> LUCIANO ARANGO: Yeah. 665 00:33:03,480 --> 00:33:06,350 Dus laat ik je het bestand uploaden echt snel. 666 00:33:06,350 --> 00:33:11,300 Dus het bestand te uploaden - 667 00:33:11,300 --> 00:33:14,500 het probleem wit het bestand uploaden nu is dat - 668 00:33:14,500 --> 00:33:18,541 Ik ga naar de code, zodat jullie openen zie de code achter de schermen. 669 00:33:18,541 --> 00:33:22,390 670 00:33:22,390 --> 00:33:24,305 En het is het uploaden. 671 00:33:24,305 --> 00:33:28,030 672 00:33:28,030 --> 00:33:31,560 Hier is een code voor de file uploader. 673 00:33:31,560 --> 00:33:33,980 >> We proberen in te gaan directory hier. 674 00:33:33,980 --> 00:33:37,380 675 00:33:37,380 --> 00:33:44,880 En we proberen om, zodra we de ingang van de bestand, isset bestand - dus wanneer er een 676 00:33:44,880 --> 00:33:50,900 bestand in FILES, die afbeelding, dan we proberen om het hier te verplaatsen. 677 00:33:50,900 --> 00:33:51,910 We grijpen het bestand hier. 678 00:33:51,910 --> 00:33:58,350 De methode is POST, type, plaatje of bestand. 679 00:33:58,350 --> 00:33:59,630 En dat we dit bestand verzenden. 680 00:33:59,630 --> 00:34:03,910 En dan als we het krijgen, dus zodra bestand heeft een beeld, we proberen om het te verzenden 681 00:34:03,910 --> 00:34:05,060 naar deze map. 682 00:34:05,060 --> 00:34:09,814 >> Het probleem is dat de website niet me te laten gaan naar deze map, 683 00:34:09,814 --> 00:34:12,239 omdat het niet wil dat ik terug te gaan. 684 00:34:12,239 --> 00:34:13,489 Het is niet dat ik ga - 685 00:34:13,489 --> 00:34:15,620 686 00:34:15,620 --> 00:34:17,070 Ik moet gaan - dus hier uploaden. 687 00:34:17,070 --> 00:34:17,639 Hier beelden. 688 00:34:17,639 --> 00:34:21,780 Ik moet helemaal terug te gaan naar de begin en zet het in daar en dan 689 00:34:21,780 --> 00:34:23,820 gaan en zet het in de map. 690 00:34:23,820 --> 00:34:30,000 Dus als ik liep een terminal venster, en ik wilde een bestand te verplaatsen - 691 00:34:30,000 --> 00:34:30,409 [Onverstaanbaar] 692 00:34:30,409 --> 00:34:32,159 kan het zien. 693 00:34:32,159 --> 00:34:37,940 Als ik wilde een bestand te verplaatsen, ik heb aan de bestandsnaam te zetten en vervolgens de 694 00:34:37,940 --> 00:34:40,860 volledige pad dat ik wil sturen naar. 695 00:34:40,860 --> 00:34:45,110 >> En dan is de server niet me te laten terug te gaan. 696 00:34:45,110 --> 00:34:46,929 En dus is het niet te laten me naar dat bestand. 697 00:34:46,929 --> 00:34:47,670 Maar normaal gesproken - 698 00:34:47,670 --> 00:34:49,360 dus er is een code voor uploaden van een bestand. 699 00:34:49,360 --> 00:34:52,260 Dus normaal wat zal gebeuren is dat de persoon is niet te controleren of mijn dossier 700 00:34:52,260 --> 00:34:57,920 eindigt met. jpeg, dus ik zou willen controleren. 701 00:34:57,920 --> 00:35:00,054 Laat ik een voorbeeld opent ook echt snel. 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 Deze persoon rechts - 705 00:35:09,230 --> 00:35:11,980 dus bijvoorbeeld twee is het controleren indien preg_match - 706 00:35:11,980 --> 00:35:14,180 hier is het hier - 707 00:35:14,180 --> 00:35:19,660 om ervoor te zorgen dat eindigt met PHP, dat is goed. 708 00:35:19,660 --> 00:35:20,580 Dit is goed. 709 00:35:20,580 --> 00:35:22,820 Maar er is een echte grote probleem met deze. 710 00:35:22,820 --> 00:35:24,600 Dit is goed. 711 00:35:24,600 --> 00:35:44,190 Maar als ik een bestand genaamd zetten myfavoritepicture.php.jpeg, ik kon 712 00:35:44,190 --> 00:35:50,060 nog mogelijk te ontdoen van de jpeg en uitvoeren it.k Dat PHP gevaarlijk. 713 00:35:50,060 --> 00:35:53,850 Je wilt niet dat de persoon in staat code uitvoeren op uw website. 714 00:35:53,850 --> 00:35:55,750 >> Maar dan. Jpeg laat het door te geven. 715 00:35:55,750 --> 00:36:00,720 Het idee is wat je echt wilt doen is geen bestanden, A. Maar, OK, neem wat 716 00:36:00,720 --> 00:36:07,500 je echt wilt doen is ervoor te zorgen dat je leest over de hele wereld. 717 00:36:07,500 --> 00:36:08,720 En er is niets. Php in. 718 00:36:08,720 --> 00:36:10,500 Er is geen. Php in de hele bestand naam. 719 00:36:10,500 --> 00:36:12,780 >> Publiek: Maar je kon gezet. jpeg op het einde. 720 00:36:12,780 --> 00:36:15,830 De servers draaien nog steeds de code. 721 00:36:15,830 --> 00:36:16,870 >> LUCIANO ARANGO: Nee, het zal niet die aan het begin. 722 00:36:16,870 --> 00:36:22,310 Je moet teruggaan en proberen om te zien als je kunt - 723 00:36:22,310 --> 00:36:24,210 >> Publiek: Dus moeten we - 724 00:36:24,210 --> 00:36:26,020 OK, gewoon een andere set die inhoudt dat - 725 00:36:26,020 --> 00:36:26,936 >> LUCIANO ARANGO: Yeah. 726 00:36:26,936 --> 00:36:29,230 >> Publiek: OK. 727 00:36:29,230 --> 00:36:31,486 >> LUCIANO ARANGO: Yeah. 728 00:36:31,486 --> 00:36:31,900 OK. 729 00:36:31,900 --> 00:36:32,865 Andere vragen? 730 00:36:32,865 --> 00:36:33,180 OK. 731 00:36:33,180 --> 00:36:37,350 Ik ga dit overlaten en sorteren van proberen om te zien of jullie kunnen - 732 00:36:37,350 --> 00:36:40,490 de anderen zijn een beetje meer gecompliceerd, omdat ze vereisen veel 733 00:36:40,490 --> 00:36:44,050 meer kennis van SQL dan de beginnende kennis van web SQL is en 734 00:36:44,050 --> 00:36:47,010 wat JavaScript is. 735 00:36:47,010 --> 00:36:49,730 Maar ik ga proberen om dit vol te houden, en hopelijk jullie zullen leren 736 00:36:49,730 --> 00:36:53,230 over deze en proberen om een ​​kijkje te nemen op wat u kunt doen en hoeveel voorbeelden 737 00:36:53,230 --> 00:36:54,420 kunt u door te krijgen. 738 00:36:54,420 --> 00:36:56,020 >> Iemand een andere hebben vragen over het? 739 00:36:56,020 --> 00:36:59,387 740 00:36:59,387 --> 00:37:00,350 Ga je gang. 741 00:37:00,350 --> 00:37:01,170 Ja, schieten, schieten. 742 00:37:01,170 --> 00:37:01,580 Ja, ga je gang. 743 00:37:01,580 --> 00:37:01,850 Ga je gang. 744 00:37:01,850 --> 00:37:02,310 >> Publiek: OK. 745 00:37:02,310 --> 00:37:08,870 Dus ik hoorde over hoe Magic Quotes zijn niet veilig genoeg. 746 00:37:08,870 --> 00:37:09,280 >> LUCIANO ARANGO: Wat - 747 00:37:09,280 --> 00:37:10,110 Magic Quotes? 748 00:37:10,110 --> 00:37:10,595 >> PUBLIEK: Ja. 749 00:37:10,595 --> 00:37:15,445 Dus het voegt - dus wanneer u ingang iets, het voegt altijd quotes. 750 00:37:15,445 --> 00:37:15,930 >> LUCIANO ARANGO: Yeah. 751 00:37:15,930 --> 00:37:16,000 Yeah. 752 00:37:16,000 --> 00:37:16,496 OK. 753 00:37:16,496 --> 00:37:19,113 >> PUBLIEK: En dan ik dacht dat werkte, maar toen zocht ik het op. 754 00:37:19,113 --> 00:37:21,648 En het zei het is niet goed. 755 00:37:21,648 --> 00:37:23,050 Maar ik ben niet zeker waarom. 756 00:37:23,050 --> 00:37:23,360 >> LUCIANO ARANGO: Yeah. 757 00:37:23,360 --> 00:37:26,240 >> PUBLIEK: Gebruik geen Magic Quotes, want het is niet veilig. 758 00:37:26,240 --> 00:37:26,360 >> LUCIANO ARANGO: OK. 759 00:37:26,360 --> 00:37:31,735 So Magic Quotes is wanneer u SQL invoegen en het voegt al de offerte voor u. 760 00:37:31,735 --> 00:37:33,520 >> Publiek: Het voegt altijd quotes rond wat je zet inch 761 00:37:33,520 --> 00:37:34,210 >> LUCIANO ARANGO: Yeah. 762 00:37:34,210 --> 00:37:37,190 Dus het probleem met dat is dat - 763 00:37:37,190 --> 00:37:38,445 Ik neem een ​​kijkje te nemen - 764 00:37:38,445 --> 00:37:41,390 >> Publiek: Hoe werkt het verwerven de SQL-instructie? 765 00:37:41,390 --> 00:37:44,690 Of ik denk dat het zou kunnen zijn als citaat te selecteren. 766 00:37:44,690 --> 00:37:49,030 >> LUCIANO ARANGO: Ja, moet je goede quotes voor de SQL. 767 00:37:49,030 --> 00:37:52,900 >> PUBLIEK: Nee, maar de server doet het voor je. 768 00:37:52,900 --> 00:37:54,460 >> LUCIANO ARANGO: Deze kleine citaten hier, deze kleine quotes? 769 00:37:54,460 --> 00:37:55,670 >> PUBLIEK: Ja. 770 00:37:55,670 --> 00:37:56,450 >> LUCIANO ARANGO: Yeah. 771 00:37:56,450 --> 00:37:59,860 Het probleem is dat je kunt commentaar uit de laatste - 772 00:37:59,860 --> 00:38:05,770 OK, dus wat ik kan doen is ik kan geen commentaar uit - dus laten we eens een kijkje nemen op - laat me 773 00:38:05,770 --> 00:38:07,920 open een tekst te bewerken bestand. 774 00:38:07,920 --> 00:38:09,610 Laat me dit gewoon bewerken hier 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 Kunnen jullie zien dat duidelijk? 778 00:38:23,710 --> 00:38:29,730 Wat ik kan doen is ik kan geen commentaar uit de laatste. 779 00:38:29,730 --> 00:38:32,190 Dit zal een toelichting geven op de laatste. 780 00:38:32,190 --> 00:38:36,760 En dan zal ik er hier een te zetten, zet alle kwaadaardige dingen hier. 781 00:38:36,760 --> 00:38:39,840 782 00:38:39,840 --> 00:38:42,630 >> Dus de gebruiker is eigenlijk invoeren, toch? 783 00:38:42,630 --> 00:38:45,230 De gebruiker is niet het invoeren de dingen, toch? 784 00:38:45,230 --> 00:38:47,430 Dit is wat ik ga ingang als de persoon die probeert om binnen te komen. 785 00:38:47,430 --> 00:38:49,430 Ik ga in te zetten - 786 00:38:49,430 --> 00:38:59,290 787 00:38:59,290 --> 00:39:00,180 dat is een aanhalingsteken. 788 00:39:00,180 --> 00:39:01,760 Het is gewoon kronkelende per ongeluk. 789 00:39:01,760 --> 00:39:15,080 790 00:39:15,080 --> 00:39:19,400 En wat de code is gaan doen - 791 00:39:19,400 --> 00:39:20,190 sorry, ik ga dit meenemen. 792 00:39:20,190 --> 00:39:22,170 Wat de code is gaan doen, is het gaat om de eerste te voegen 793 00:39:22,170 --> 00:39:24,030 aanhalingstekens hier. 794 00:39:24,030 --> 00:39:26,040 En het gaat om de laatste toe te voegen aanhalingsteken ook. 795 00:39:26,040 --> 00:39:29,350 796 00:39:29,350 --> 00:39:33,270 >> En het is ook nog toevoegen de laatste, laatste aanhalingsteken. 797 00:39:33,270 --> 00:39:37,380 Maar ik commentaar deze offerte markeert, zodat ze niet lopen. 798 00:39:37,380 --> 00:39:41,440 En ik ben afwerking dit citaat markeer dan hier. 799 00:39:41,440 --> 00:39:42,290 Begrijp je? 800 00:39:42,290 --> 00:39:43,750 Ben je verdwaald? 801 00:39:43,750 --> 00:39:45,880 Ik kan de laatste notering comment mark, en zorgen voor de 802 00:39:45,880 --> 00:39:46,680 eerste aanhalingsteken. 803 00:39:46,680 --> 00:39:47,350 >> PUBLIEK: En net afwerking de eerste. 804 00:39:47,350 --> 00:39:47,480 >> LUCIANO ARANGO: Yeah. 805 00:39:47,480 --> 00:39:48,400 En net eindigen de eerste. 806 00:39:48,400 --> 00:39:48,790 Ja, dat klopt. 807 00:39:48,790 --> 00:39:50,800 Dat is wat ik kan doen. 808 00:39:50,800 --> 00:39:51,890 Yeah. 809 00:39:51,890 --> 00:39:52,980 Andere vragen als dat? 810 00:39:52,980 --> 00:39:54,230 Dat is een grote vraag. 811 00:39:54,230 --> 00:39:56,960 812 00:39:56,960 --> 00:39:59,790 Nee, ja, misschien. 813 00:39:59,790 --> 00:40:06,150 Hopelijk zal jullie soort te maken meer zin wanneer u SQL en studie 814 00:40:06,150 --> 00:40:06,650 dat soort dingen. 815 00:40:06,650 --> 00:40:07,980 Maar zorg ervoor dat je - 816 00:40:07,980 --> 00:40:10,340 houden deze tools in te kijken. 817 00:40:10,340 --> 00:40:12,760 Sorry, deze tools dan hier. 818 00:40:12,760 --> 00:40:14,200 Deze tools zijn geweldig. 819 00:40:14,200 --> 00:40:17,190 Als iemand vragen heeft, je kunt me ook mailen. 820 00:40:17,190 --> 00:40:19,020 Dit is mijn gewone e-mail. 821 00:40:19,020 --> 00:40:25,015 En dit is mijn werk e-mail, die is als ik werk bij SEAS. 822 00:40:25,015 --> 00:40:26,040 >> OK, bedankt. 823 00:40:26,040 --> 00:40:26,740 Bedankt, jongens. 824 00:40:26,740 --> 00:40:27,860 Je bent goed om te gaan. 825 00:40:27,860 --> 00:40:28,830 Je hoeft hier niet te blijven. 826 00:40:28,830 --> 00:40:29,570 Niet klappen. 827 00:40:29,570 --> 00:40:30,170 Dat is raar. 828 00:40:30,170 --> 00:40:31,420 OK, bedankt, jongens. 829 00:40:31,420 --> 00:40:32,320