1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:10,300 >> LUCIANO ARANGO: OK, Jungs. 3 00:00:10,300 --> 00:00:11,550 Mein Name ist Luciano Arango. 4 00:00:11,550 --> 00:00:13,915 Ich bin im zweiten Jahr in Adams Haus. 5 00:00:13,915 --> 00:00:17,550 Und wir reden über Web-Sicherheit aktive Verteidigung. 6 00:00:17,550 --> 00:00:24,220 So arbeite ich für das Office of Information Sicherheit in der SEAS. 7 00:00:24,220 --> 00:00:28,670 Und über den Sommer, zumin interniert ich SeguraTec, die eine Information war 8 00:00:28,670 --> 00:00:31,310 Sicherheitsunternehmen, das serviert für die Bank of Columbia. 9 00:00:31,310 --> 00:00:34,740 Das ist vor allem, wo ich gelernt was ich bisher gelernt haben. 10 00:00:34,740 --> 00:00:37,990 >> Und so etwas von dem Material, das wir sind werde heute gehen über, haben wir nicht 11 00:00:37,990 --> 00:00:39,670 wirklich um in der Klasse gesprochen. 12 00:00:39,670 --> 00:00:40,410 Aber wir werden bald. 13 00:00:40,410 --> 00:00:42,360 Es wird wie SQL, JavaScript zu sein. 14 00:00:42,360 --> 00:00:44,870 Und wir haben nicht wirklich über sie weg. 15 00:00:44,870 --> 00:00:47,730 So kann ich der Flug durch sie zu sortieren, und Sie vielleicht nicht wissen einige Dinge. 16 00:00:47,730 --> 00:00:48,890 Aber bald werden Sie es lernen. 17 00:00:48,890 --> 00:00:52,080 Und es wird alles Sinn machen. 18 00:00:52,080 --> 00:00:54,010 Auch eine andere Sache - 19 00:00:54,010 --> 00:00:55,780 bleiben ethisch. 20 00:00:55,780 --> 00:01:00,560 Einige der Dinge, die Sie lernen, Sie könnte in nicht-ethische Weise verwenden. 21 00:01:00,560 --> 00:01:01,950 >> Wenn es Ihnen, auf jeden Fall versuchen. 22 00:01:01,950 --> 00:01:04,500 Motiviere ich euch auf jeden Fall eigene Server versuchen, versuchen 23 00:01:04,500 --> 00:01:05,519 geht in ihnen. 24 00:01:05,519 --> 00:01:08,500 Sehen Sie, wenn Sie sie zu durchdringen, wenn Sie in ihnen bekommen kann. 25 00:01:08,500 --> 00:01:09,560 Aber nicht jemand anderen. 26 00:01:09,560 --> 00:01:12,390 Cops nicht wirklich mögen und die Witze das ganze, haben wir diese hier ein. 27 00:01:12,390 --> 00:01:14,040 Wir machten Unsinn. 28 00:01:14,040 --> 00:01:15,780 Sie bekommen wirklich wütend. 29 00:01:15,780 --> 00:01:18,700 >> Also den Kopf über diese Website. 30 00:01:18,700 --> 00:01:23,560 Ich habe es hier eröffnet. 31 00:01:23,560 --> 00:01:26,780 Dies ist eine Website, und es hat eine Reihe von Beispielen. 32 00:01:26,780 --> 00:01:30,000 Was geschieht, ist, dass das erste Beispiel ist eine Art, zu gehen, viel einfacher 33 00:01:30,000 --> 00:01:33,470 als das letzte Beispiel in einem Sinn daß das erste Beispiel 34 00:01:33,470 --> 00:01:34,970 ist völlig unsicher. 35 00:01:34,970 --> 00:01:40,850 Und das letzte ist, was für ein Art von normalen Web-Sicherheit Person tun würde. 36 00:01:40,850 --> 00:01:42,760 Aber man kann immer noch sortieren bekommen, dass rund. 37 00:01:42,760 --> 00:01:44,860 Und wir sind der Fokussierung auf ein gehen und zwei Beispiele eins und zwei. 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 Lassen Sie uns mit Cross-Site-Scripting zu starten. 41 00:01:52,780 --> 00:01:56,100 Die JavaScript auf ausführen Browser des Clients. 42 00:01:56,100 --> 00:01:59,980 Es ist eine Programmiersprache, die Sie verwenden auf dem Browser des Clients so laufen 43 00:01:59,980 --> 00:02:04,120 Sie nicht haben, um die Website zu aktualisieren und gehen Sie zurück an den Server. 44 00:02:04,120 --> 00:02:04,940 Sie haben es ausgeführt. 45 00:02:04,940 --> 00:02:08,870 Zum Beispiel, Facebook, müssen Sie nicht , um die Website für neuen Status neu zu laden 46 00:02:08,870 --> 00:02:09,710 Aktuelles zu kommen. 47 00:02:09,710 --> 00:02:12,170 Es wird mit Hilfe von JavaScript zu erzeugen alle diese Dinge. 48 00:02:12,170 --> 00:02:16,290 So können wir bösartige JavaScript injizieren in den Webseiten. 49 00:02:16,290 --> 00:02:20,890 Und so, wenn wir einen Link zu jemand, könnten wir eine Art senden Sie es mit 50 00:02:20,890 --> 00:02:23,050 Teil des Codes, die wir wollen. 51 00:02:23,050 --> 00:02:26,450 >> Es gibt anhaltende und nicht-persistent JavaScript - 52 00:02:26,450 --> 00:02:30,640 persistente und nicht persistente Cross-Site Scripting, meine ich. 53 00:02:30,640 --> 00:02:33,760 Und wobei der Unterschied darin, dass persistente JavaScript ist das sein wird 54 00:02:33,760 --> 00:02:36,060 auf der Website gespeichert. 55 00:02:36,060 --> 00:02:39,780 Und nicht-persistente wird JavaScript sein dass tatsächlich nur einmal passieren. 56 00:02:39,780 --> 00:02:41,795 Also schauen wir uns ein Beispiel an ganz schnell. 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 Also diese Website, einfach, nichts passiert hier. 60 00:02:51,620 --> 00:02:53,070 Und wir werden versuchen, legen einige JavaScript. 61 00:02:53,070 --> 00:02:58,110 So ist die Art, wie wir mit dem Schreiben beginnen JavaScript wird beginnen wir mit der Anfangs Skript. 62 00:02:58,110 --> 00:03:00,570 Und wir schließen es mit Script. 63 00:03:00,570 --> 00:03:03,770 Wir sind einfach da, um eine Nachricht zu setzen - 64 00:03:03,770 --> 00:03:05,410 Ich werde Ihnen zeigen - 65 00:03:05,410 --> 00:03:06,500 Warnung. 66 00:03:06,500 --> 00:03:11,150 Alert ist eine Funktion, dass Javascript nutzt, um etwas anzuzeigen. 67 00:03:11,150 --> 00:03:12,400 Also versuchen wir es ganz schnell. 68 00:03:12,400 --> 00:03:15,600 69 00:03:15,600 --> 00:03:18,944 Ich werde gehen, wachsam hallo. 70 00:03:18,944 --> 00:03:20,400 Nun, ich habe vergessen zu setzen - 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 Also das ist einfach. 74 00:03:26,540 --> 00:03:28,730 >> Wir haben JavaScript auf einer Webseite, und es kam. 75 00:03:28,730 --> 00:03:31,200 Und es ist irgendwie passiert nur auf unserer Website, oder? 76 00:03:31,200 --> 00:03:33,040 So wie es scheint, ist es nicht ein Problem, oder? 77 00:03:33,040 --> 00:03:34,920 Ich meine, wie kann man verwenden dies böswillig? 78 00:03:34,920 --> 00:03:39,930 Also die Art und Weise, dass Hacker tun das ist wirklich einfach. 79 00:03:39,930 --> 00:03:40,970 Sie werden es packen. 80 00:03:40,970 --> 00:03:43,750 Sie können diesen Link an Sie senden. 81 00:03:43,750 --> 00:03:46,780 Wenn ich diesen Link, um dich jetzt zu schicken, und Sie können es öffnen, es geht um 82 00:03:46,780 --> 00:03:51,620 sagen, hallo, sagen, dass meine Website Ihnen sagt hallo. 83 00:03:51,620 --> 00:03:57,280 >> Und so, wenn ich etwas zu sagen ein waren bisschen schlauer, wenn ich nach oben ziehen ein 84 00:03:57,280 --> 00:03:59,880 JavaScript-Funktion I Art der schon schrieb - 85 00:03:59,880 --> 00:04:03,940 aber wenn man es betrachtet, werde ich gehen über sie, bevor ich es schrieb. 86 00:04:03,940 --> 00:04:06,650 So werden wir einen Timeout. 87 00:04:06,650 --> 00:04:08,450 Wir werden warten ein paar Sekunden. 88 00:04:08,450 --> 00:04:13,970 In der Tat, wir gehen zu warten, wenn Ich mich nicht irre, fünf Sekunden. 89 00:04:13,970 --> 00:04:15,870 Dies geht in Millisekunden. 90 00:04:15,870 --> 00:04:18,640 Und dann, was wir zu tun ist, wir sind gehen, um zu warnen, dass der Login 91 00:04:18,640 --> 00:04:21,459 Zeitüberschreitung, um sich wieder anmelden 92 00:04:21,459 --> 00:04:23,990 Und wir werden, um die Position zu ändern an eine andere Stelle. 93 00:04:23,990 --> 00:04:30,370 94 00:04:30,370 --> 00:04:32,970 >> Also, wenn ich senden Sie uns bitte weiter, sie gehen, um sein 95 00:04:32,970 --> 00:04:34,380 Surfen rund, ruhig. 96 00:04:34,380 --> 00:04:35,650 Nichts passiert. 97 00:04:35,650 --> 00:04:38,550 Und in fünf Sekunden, es geht zu sagen, Zeit Ihre Login-out. 98 00:04:38,550 --> 00:04:40,200 Bitte melden Sie sich wieder in. 99 00:04:40,200 --> 00:04:43,400 Sobald sie auf OK, ich werde nehmen sie zu einer anderen Website. 100 00:04:43,400 --> 00:04:45,980 Vermutlich ist die Website geht um ähnlich sein, dass die Website 101 00:04:45,980 --> 00:04:47,280 sie sich vor. 102 00:04:47,280 --> 00:04:50,770 Und sie gehen, um sich ihre Anmeldeinformationen in meine Website statt 103 00:04:50,770 --> 00:04:51,850 ihrer Website. 104 00:04:51,850 --> 00:04:54,780 >> Und so kann ich Menschen eine Nachricht eine E-Mail mit diesem Link. 105 00:04:54,780 --> 00:04:56,240 Ich sage, oh, hier ist ein Link. 106 00:04:56,240 --> 00:04:57,290 Dies ist eine Bank, zum Beispiel. 107 00:04:57,290 --> 00:05:01,390 Ich sage hier, gehen Sie auf diesen Link. 108 00:05:01,390 --> 00:05:03,730 Und wenn sie sie zu senden, sind sie sein werden, um das Surfen. 109 00:05:03,730 --> 00:05:07,560 Ich kann für 15 Sekunden, 20 Sekunden warten, und dann Pop, dass Sie wieder anmelden 110 00:05:07,560 --> 00:05:08,840 melden Sie wieder auf. 111 00:05:08,840 --> 00:05:10,120 Sie können es mit Jungs versuchen viel mehr Dinge. 112 00:05:10,120 --> 00:05:13,190 Es ist kompliziert, weil ihr Jungs habe nicht gesehen, JavaScript, so dass Sie vielleicht 113 00:05:13,190 --> 00:05:14,750 Einige Funktionen nicht. 114 00:05:14,750 --> 00:05:18,625 Aber alles, was Sie tun müssen, ist Start mit Skript, am Ende mit Skript. 115 00:05:18,625 --> 00:05:22,105 116 00:05:22,105 --> 00:05:25,510 Und man konnte nichts gebracht in der Mitte. 117 00:05:25,510 --> 00:05:27,350 >> Alert ist eine Funktion, warten. 118 00:05:27,350 --> 00:05:29,365 Fenster Lage bringt Sie an einen neuen Standort. 119 00:05:29,365 --> 00:05:31,370 Aber so können Sie dies noch viel mehr. 120 00:05:31,370 --> 00:05:32,630 Und so ist die Idee ist, dass dass wir aus. 121 00:05:32,630 --> 00:05:39,350 Wenn ich gehen, um beispielsweise zwei, und ich legte in diesem gleichen Code, ist es 122 00:05:39,350 --> 00:05:40,210 nicht zur Arbeit gehen. 123 00:05:40,210 --> 00:05:43,620 So ist es alles, was den Druck aus, weil was dieser Webseite ursprünglich 124 00:05:43,620 --> 00:05:50,350 tut, ist, wenn ich hier nichts, es wird es hier drucken. 125 00:05:50,350 --> 00:05:52,390 So ist es nichts aus zu drucken. 126 00:05:52,390 --> 00:05:55,560 Dieses Beispiel ist eigentlich die Überprüfung zu sehen, ob Skript ist da. 127 00:05:55,560 --> 00:05:57,163 Also ja, gehen Sie vor. 128 00:05:57,163 --> 00:05:57,606 Fragen Sie mich bitte. 129 00:05:57,606 --> 00:05:59,560 >> ZIELGRUPPE: Ist nicht das Senden eine Anfrage bekommen oder Post? 130 00:05:59,560 --> 00:06:00,670 >> LUCIANO ARANGO: Ja. sie sind Senden einer GET-Anfrage. 131 00:06:00,670 --> 00:06:01,350 >> Zielgruppe: IT ist? 132 00:06:01,350 --> 00:06:02,490 >> LUCIANO ARANGO: Ja. 133 00:06:02,490 --> 00:06:04,030 Auch Browser verwenden POST-Anfragen. 134 00:06:04,030 --> 00:06:07,470 Aber ich werde versuchen, Anfragen zeigen so dass wir sehen können, was 135 00:06:07,470 --> 00:06:10,760 eigentlich vor sich geht. 136 00:06:10,760 --> 00:06:12,880 Und so, wenn wir uns mit diesem Code - so dass es nicht mehr funktioniert. 137 00:06:12,880 --> 00:06:24,870 Und wenn wir einen Blick auf diesen Code, es wird in Beispiel zwei sein. 138 00:06:24,870 --> 00:06:29,300 Was diese Person tut, die Person verantwortlich für diese Browser - 139 00:06:29,300 --> 00:06:35,370 öffnen, OK - 140 00:06:35,370 --> 00:06:39,290 ersetzt das Wort Script. 141 00:06:39,290 --> 00:06:42,850 Dies ist PHP, die euch vielleicht haben ein wenig von noch nicht gesehen. 142 00:06:42,850 --> 00:06:46,250 >> Er ist nur der Austausch Wort-Skript mit Namen. 143 00:06:46,250 --> 00:06:50,895 So aber, wenn ich weitermachen und nur in gesetzt - 144 00:06:50,895 --> 00:06:58,520 145 00:06:58,520 --> 00:07:02,360 wenn ich meinen Code greifen wieder, und ich werde um sie zu ändern nur ein wenig. 146 00:07:02,360 --> 00:07:15,010 Statt Skript, werde ich ändern es für Script mit einem Kapital R. Und 147 00:07:15,010 --> 00:07:16,390 wir werden sehen, ob dieser Code funktioniert. 148 00:07:16,390 --> 00:07:19,090 So dauerte es nicht ausdrucken, was ein gutes Zeichen ist. 149 00:07:19,090 --> 00:07:21,990 Und hoffentlich in zwei Sekunden es geht um Pop-up. 150 00:07:21,990 --> 00:07:22,820 >> Ihr Login abgelaufen. 151 00:07:22,820 --> 00:07:23,210 OK. 152 00:07:23,210 --> 00:07:24,460 Das ist in Ordnung. 153 00:07:24,460 --> 00:07:27,670 So Prüfung für Skript könnte nicht unbedingt funktionieren. 154 00:07:27,670 --> 00:07:28,130 Die Person - 155 00:07:28,130 --> 00:07:32,290 es kann auch für Groß-Skript zu überprüfen, Skript Kleinbuchstaben, str Fall 156 00:07:32,290 --> 00:07:34,180 vergleichen, stellen Sie sicher, dass sie das gleiche. 157 00:07:34,180 --> 00:07:38,480 Aber die Hacker kann noch irgendwie was zu tun wir haben, wenn wir in Vigenere bewegt 158 00:07:38,480 --> 00:07:40,620 wieder ein paar Zeichen, voranzutreiben. 159 00:07:40,620 --> 00:07:43,470 Und es herausfinden können, wie Skript setzen wieder da, damit es spritzen kann 160 00:07:43,470 --> 00:07:44,460 dass Skript. 161 00:07:44,460 --> 00:07:50,370 >> Also, was Sie verwenden möchten, ist zu htmlspecialchars 162 00:07:50,370 --> 00:07:51,330 schützen Sie Ihre Website. 163 00:07:51,330 --> 00:07:56,490 Und was das bedeutet ist, macht es sicher, dass das, was Sie in gesetzt - 164 00:07:56,490 --> 00:07:59,610 beispielsweise, Angebote oder diese größer oder kleiner als - 165 00:07:59,610 --> 00:08:04,701 mit etwas ersetzt das wird nicht sein - 166 00:08:04,701 --> 00:08:05,951 lassen Sie mich hier vergrößern - 167 00:08:05,951 --> 00:08:08,730 168 00:08:08,730 --> 00:08:09,685 die tatsächliche Ampersand. 169 00:08:09,685 --> 00:08:13,420 Es wird jene spezielle HTML ersetzen Zeichen, die wir sehen, wenn wir 170 00:08:13,420 --> 00:08:14,670 reden - 171 00:08:14,670 --> 00:08:18,635 172 00:08:18,635 --> 00:08:20,740 oh, das wird mich zurück zu nehmen - 173 00:08:20,740 --> 00:08:24,220 174 00:08:24,220 --> 00:08:25,380 Diese Zeichen finden Sie hier. 175 00:08:25,380 --> 00:08:28,180 >> Sie bedeuten, dass etwas kommt. 176 00:08:28,180 --> 00:08:31,570 Für HTML, dass beginnend Halterung sagt uns, dass etwas, 177 00:08:31,570 --> 00:08:33,299 HTML verwandten kommt. 178 00:08:33,299 --> 00:08:33,980 Und wir wollen, dass der loszuwerden. 179 00:08:33,980 --> 00:08:36,200 Wir wollen nicht in ein HTML setzen website.k Wir wollen nicht, dass der Benutzer sein 180 00:08:36,200 --> 00:08:40,260 Lage, etwas in ihrer Website zu dass ihre Website wie beeinflussen, 181 00:08:40,260 --> 00:08:43,480 Skript-oder HTML oder so ähnlich. 182 00:08:43,480 --> 00:08:53,090 Was wichtig ist, dass Sie desinfizieren die Benutzereingabe. 183 00:08:53,090 --> 00:08:54,720 >> Also die Nutzer eingeben kann viele Dinge. 184 00:08:54,720 --> 00:08:58,110 Er kann Eingangs ein paar Sachen zu versuchen an Ihren Browser noch in Trick 185 00:08:58,110 --> 00:08:59,410 dieses Script-Code. 186 00:08:59,410 --> 00:09:02,870 Was Sie tun wollen, ist nicht nur schauen für Skript, aber schauen Sie für alles 187 00:09:02,870 --> 00:09:04,250 dass bösartig sein könnte. 188 00:09:04,250 --> 00:09:06,800 Und htmlspecialchars tun wird, dass für Sie, so dass Sie nicht haben, 189 00:09:06,800 --> 00:09:07,340 sich darum zu kümmern. 190 00:09:07,340 --> 00:09:12,280 Aber versuchen Sie nicht zu tun, selbst Art mit Ihrem eigenen Code. 191 00:09:12,280 --> 00:09:14,055 Ist jeder klar XSS? 192 00:09:14,055 --> 00:09:14,370 >> OK. 193 00:09:14,370 --> 00:09:16,355 Lassen Sie uns für SQL-Injection zu gehen. 194 00:09:16,355 --> 00:09:21,010 So SQL-Injection ist wahrscheinlich die Schwachstelle Nummer eins 195 00:09:21,010 --> 00:09:22,490 in verschiedenen Websites. 196 00:09:22,490 --> 00:09:24,350 Ich meine, ein gutes Beispiel - 197 00:09:24,350 --> 00:09:27,350 Ich war nur der Erforschung weitesten für diese Sache. 198 00:09:27,350 --> 00:09:34,430 Und ich fand dieses tolle Artikel, in dem Ich sah, dass Harvard wurde verletzt, 199 00:09:34,430 --> 00:09:35,390 wurde gehackt. 200 00:09:35,390 --> 00:09:37,370 Und ich frage mich, na ja, wie würden sie es tun? 201 00:09:37,370 --> 00:09:41,660 Harvard ist die eindrucksvollsten, die meisten sichern Universität je. 202 00:09:41,660 --> 00:09:43,850 Right? 203 00:09:43,850 --> 00:09:45,410 Nun, um die Server zu verletzen, verwendet, die Hacker ein 204 00:09:45,410 --> 00:09:47,710 Technik namens SQL-Injektion. 205 00:09:47,710 --> 00:09:50,250 >> Also in diesem Fall auf einer täglichen Basis. 206 00:09:50,250 --> 00:09:53,590 Die Leute vergessen zu berücksichtigen für SQL-Injektion. 207 00:09:53,590 --> 00:09:54,930 Harvard tut. 208 00:09:54,930 --> 00:10:00,050 Ich denke, dass es hier heißt, Princeton, Stanford, Cornell. 209 00:10:00,050 --> 00:10:03,550 Wie können wir also - so was ist das SQL Injektion, das bringt alle diese 210 00:10:03,550 --> 00:10:05,668 Menschen nach unten? 211 00:10:05,668 --> 00:10:08,010 OK. 212 00:10:08,010 --> 00:10:12,090 So SQL ist eine Programmiersprache, die wir verwenden, um Datenbanken zuzugreifen. 213 00:10:12,090 --> 00:10:14,560 Was wir tun ist, wir wählen - 214 00:10:14,560 --> 00:10:18,510 so liest, was das ist im Moment wählen alles aus der Tabelle. 215 00:10:18,510 --> 00:10:22,640 >> SQL, in diesen Datenbanken ändert es haben, die Tische voll von Informationen. 216 00:10:22,640 --> 00:10:26,550 Also alles, was von den Benutzern wählen wobei der Name Benutzernamen ein. 217 00:10:26,550 --> 00:10:28,120 Right? 218 00:10:28,120 --> 00:10:30,770 Einfach genug. 219 00:10:30,770 --> 00:10:34,490 Die Idee von SQL-Injection ist, dass wir legen einige Schadcode Das wäre 220 00:10:34,490 --> 00:10:37,270 Trick den Server in etwas laufen anders als das, was es 221 00:10:37,270 --> 00:10:38,430 Ursprünglich lief. 222 00:10:38,430 --> 00:10:44,970 Also lassen Sie uns sagen, für Benutzername, wir setzen oder 1 gleich 1 ist. 223 00:10:44,970 --> 00:10:46,700 Also haben wir in 1 oder gleich 1 ist. 224 00:10:46,700 --> 00:10:49,890 Die Art, wie es nun zu lesen sein wird wählen der Nutzer, der alles von 225 00:10:49,890 --> 00:10:51,360 Nutzer - das ist alles - 226 00:10:51,360 --> 00:10:55,880 wobei Name Benutzername, aber Benutzername oder 1 gleich 1 ist. 227 00:10:55,880 --> 00:11:01,760 >> So Name ist nichts oder 1 gleich 1 ist. 228 00:11:01,760 --> 00:11:04,060 1 gleich 1 ist immer wahr. 229 00:11:04,060 --> 00:11:07,690 So wird dies immer Informationen zurück der Nutzer. 230 00:11:07,690 --> 00:11:08,100 OK. 231 00:11:08,100 --> 00:11:10,030 Wir brauchen nicht zu haben, die richtigen Benutzernamen ein. 232 00:11:10,030 --> 00:11:14,240 Wir können einfach nur alles, was wir wollen, und es wird Informationen zurück 233 00:11:14,240 --> 00:11:15,690 dass wir brauchen. 234 00:11:15,690 --> 00:11:17,160 Betrachten wir ein anderes Beispiel. 235 00:11:17,160 --> 00:11:22,720 >> Wenn wir alles von Benutzer auswählen, wobei name DROP TABLE-Benutzer - 236 00:11:22,720 --> 00:11:26,420 so was denken Sie, dieser Wille tun, wenn ich den Benutzernamen setzen 237 00:11:26,420 --> 00:11:29,560 wie DROP TABLE-Benutzer? 238 00:11:29,560 --> 00:11:30,230 Wer hat eine Idee? 239 00:11:30,230 --> 00:11:31,050 Ja. 240 00:11:31,050 --> 00:11:32,470 >> ZIELGRUPPE: Es wird zu sagen, sie werfen alle Tabellen. 241 00:11:32,470 --> 00:11:35,460 >> LUCIANO ARANGO: Es wird uns sagen um alles in der Website-Dump, 242 00:11:35,460 --> 00:11:38,290 alles, was in der Datenbank. 243 00:11:38,290 --> 00:11:41,910 Und was die Leute nutzen diese für - so Ich werde euch zu zeigen. 244 00:11:41,910 --> 00:11:45,462 Ich deaktiviert fallen die Tabellen weil ich nicht wollen, dass Sie 245 00:11:45,462 --> 00:11:48,240 Jungs, meine Tabellen zu löschen. 246 00:11:48,240 --> 00:11:49,850 Werfen wir einen Blick auf diese. 247 00:11:49,850 --> 00:11:54,410 Also das zieht einfach die Informationen für eine bestimmte Person. 248 00:11:54,410 --> 00:11:57,550 So, wie wir wissen, ob dies von SQL-Injection betroffen. 249 00:11:57,550 --> 00:12:01,545 Wir werden ganz schnell zu überprüfen, Wenn wir etwas gesagt - 250 00:12:01,545 --> 00:12:04,990 251 00:12:04,990 --> 00:12:06,080 lassen Sie mich diesen Code kopieren. 252 00:12:06,080 --> 00:12:08,140 Ich werde in einer zweiten, um über sie zu gehen. 253 00:12:08,140 --> 00:12:12,210 Ich werde Wurzel gelegt und 1 gleich 1 ist. 254 00:12:12,210 --> 00:12:15,510 >> Dieses Recht ist hier, diese Prozentzeichen 23 - 255 00:12:15,510 --> 00:12:19,970 was es wirklich ist, wenn ich schauen hier auf - 256 00:12:19,970 --> 00:12:23,820 die Art, wie HTML nimmt in Zahlen, wenn Sie einen Blick auf, wenn ich in einen Raum setzen 257 00:12:23,820 --> 00:12:28,380 hier - wenn ich etwas Raum hier, ändert es es zu einer 2 Prozent. 258 00:12:28,380 --> 00:12:31,420 Sie sehen diese Jungs hier wenn ich in einen Raum zu setzen? 259 00:12:31,420 --> 00:12:36,710 Die Art, wie es funktioniert, ist, dass Sie nur senden ASCII-Werte über HTML. 260 00:12:36,710 --> 00:12:40,330 So ersetzt es beispielsweise ein Raum mit 20 Prozent. 261 00:12:40,330 --> 00:12:41,970 Ich weiß nicht, ob ihr haben gesehen, dass vor. 262 00:12:41,970 --> 00:12:45,100 >> Es ersetzt einen Hashtag mit 23 Prozent. 263 00:12:45,100 --> 00:12:50,840 Wir brauchen einen Hashtag am Ende oder Aussage so, dass wir sagen können, die 264 00:12:50,840 --> 00:13:00,885 Datenbank zu vergessen, zu kommentieren diese letzte Semikolon am Ende. 265 00:13:00,885 --> 00:13:03,060 Wir wollen, dass es nicht daran denken. 266 00:13:03,060 --> 00:13:05,980 Wir wollen nur, dass es alles, was laufen dass wir vorher und 267 00:13:05,980 --> 00:13:07,450 Kommentar, dass aus. 268 00:13:07,450 --> 00:13:08,710 Werfen wir einen Blick auf sie. 269 00:13:08,710 --> 00:13:14,670 >> Also, wenn ich etwas falsch gesetzt waren - sagen wir zum Beispiel sagen, habe ich zwei Gleichen 270 00:13:14,670 --> 00:13:15,690 1, bedeutet es nicht geben mir nichts. 271 00:13:15,690 --> 00:13:22,930 Als ich in 1 setzen gleich 1 ist, und es tut etwas zurückgeben, sagt mir das, dass 272 00:13:22,930 --> 00:13:24,660 dies ist anfällig eine SQL-Injektion. 273 00:13:24,660 --> 00:13:29,090 Ich weiß jetzt, dass alles, was Ich habe nach dieser - 274 00:13:29,090 --> 00:13:39,110 und beispielsweise von Tabellen oder so ähnlich 275 00:13:39,110 --> 00:13:41,190 wird auf jeden Fall funktionieren. 276 00:13:41,190 --> 00:13:44,350 Ich weiß, es ist anfällig für SQL-Injection weil ich weiß, dass 277 00:13:44,350 --> 00:13:49,850 unter der Haube, es lassen mir tun die 1 gleich 1 Sache. 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 >> Und wenn wir diese anderen, Nummer zwei und die Nummer drei, ist es 281 00:13:56,540 --> 00:13:59,110 gehen, um ein bisschen mehr zu tun der Prüfung unter der 282 00:13:59,110 --> 00:14:03,680 Haube von dem, was es ist. 283 00:14:03,680 --> 00:14:07,425 Wer also das Drop ermöglichen nichts oder ausprobiert? 284 00:14:07,425 --> 00:14:08,760 Do you guys Art von SQL noch bekommen? 285 00:14:08,760 --> 00:14:10,430 Weil ich weiß, dass du Jungs haben nicht es noch nicht gesehen, so dass es eine Art ist 286 00:14:10,430 --> 00:14:11,759 verwirrend für euch. 287 00:14:11,759 --> 00:14:16,160 288 00:14:16,160 --> 00:14:18,480 Lassen Sie uns einen Blick. 289 00:14:18,480 --> 00:14:21,270 Also, was ist der Weg zu SQLI verhindern? 290 00:14:21,270 --> 00:14:21,390 OK. 291 00:14:21,390 --> 00:14:23,330 Also das ist wirklich wichtig, weil Sie Jungs wollen auf jeden Fall verhindern 292 00:14:23,330 --> 00:14:24,090 diese in Ihre Webseiten. 293 00:14:24,090 --> 00:14:28,040 >> Wenn nicht, werden alle Ihre Freunde zu gehen lustig machen Sie, wenn sie alle fallen 294 00:14:28,040 --> 00:14:29,390 Ihre Tabellen. 295 00:14:29,390 --> 00:14:36,150 Also die Idee ist, dass Sie die SQL-Reparatur in einer bestimmten Weise, während Sie entsprechen 296 00:14:36,150 --> 00:14:41,940 was die Benutzereingaben mit eine bestimmte Zeichenfolge. 297 00:14:41,940 --> 00:14:46,120 Also das funktioniert so, Sie Vorbereitung der Datenbank. 298 00:14:46,120 --> 00:14:50,830 Sie wählen Name, Farbe und Kalorien aus einer Datenbank namens Obst. 299 00:14:50,830 --> 00:14:53,580 Und dann, wenn weniger als Kalorien, und wir setzen ein Fragezeichen gibt 300 00:14:53,580 --> 00:14:56,530 sagen wir den Eingang gehen was in einer Sekunde. 301 00:14:56,530 --> 00:14:58,850 >> Und Farbe ist gleich, und wir haben eine Frage Marke sagen, wir werden 302 00:14:58,850 --> 00:15:00,913 Eingangs etwas in einem zweiten auch. 303 00:15:00,913 --> 00:15:02,660 OK? 304 00:15:02,660 --> 00:15:09,920 Und dann werden wir ausführen, setzen in 150 und rot. 305 00:15:09,920 --> 00:15:12,820 Und das wird zu überprüfen, um sicher, dass diese beiden - 306 00:15:12,820 --> 00:15:15,300 Dieses Array wird überprüfen, ob diese zwei ganze Zahlen und 307 00:15:15,300 --> 00:15:16,550 dass dies eine Zeichenkette. 308 00:15:16,550 --> 00:15:18,810 309 00:15:18,810 --> 00:15:20,890 Dann gehen wir, und wir holen alle, haben wir ihn in rot. 310 00:15:20,890 --> 00:15:21,964 Das heißt, wir holen alle. 311 00:15:21,964 --> 00:15:26,790 Es bedeutet, dass wir tatsächlich führen Sie den SQL- Rechnung und steckte es wieder in rot. 312 00:15:26,790 --> 00:15:30,530 Hier haben wir das Gleiche tun, aber wir das gleiche für gelb. 313 00:15:30,530 --> 00:15:32,490 Und wir holen alle. 314 00:15:32,490 --> 00:15:36,140 >> Und auf diese Weise verhindern wir, dass der Benutzer von der Möglichkeit, etwas Eingangs 315 00:15:36,140 --> 00:15:41,710 das ist nicht das, was wir festgelegt, ein String oder eine ganze Zahl, zum Beispiel. 316 00:15:41,710 --> 00:15:45,100 317 00:15:45,100 --> 00:15:46,610 Ich war früher reden sich auf andere. 318 00:15:46,610 --> 00:15:50,010 Wenn Sie Ihr Projekt Jungs beginnen, sind Sie die meisten definitiv zu verwenden 319 00:15:50,010 --> 00:15:52,310 Bootstrap oder etwas ähnliches. 320 00:15:52,310 --> 00:15:53,490 Habt ihr jemals verwendet Wordpress? 321 00:15:53,490 --> 00:15:57,170 Wahrscheinlich haben Sie Jungs haben verwendet Wordpress am wahrscheinlichsten. 322 00:15:57,170 --> 00:16:00,050 Also das Problem mit der Verwendung von anderer Leute Dinge - 323 00:16:00,050 --> 00:16:05,940 Ich werde einfach bei Google ganz schnell Wordpress Verwundbarkeit. 324 00:16:05,940 --> 00:16:07,495 >> Wenn ich ziehen diese bis jetzt - 325 00:16:07,495 --> 00:16:08,995 Ich habe eine buchstäblich 2 Sekunden Google. 326 00:16:08,995 --> 00:16:12,300 327 00:16:12,300 --> 00:16:13,800 Wir sehen, dass Wordpress - 328 00:16:13,800 --> 00:16:17,450 dies wird im September '12 datiert. 329 00:16:17,450 --> 00:16:19,120 26 wird aktualisiert. 330 00:16:19,120 --> 00:16:23,620 Die Standardkonfiguration von Wordpress vor 3.6 nicht verhindern, dass diese 331 00:16:23,620 --> 00:16:27,110 bestimmte Uploads, die Macht erleichtern 332 00:16:27,110 --> 00:16:29,790 Cross-Site-Scripting-Angriffe. 333 00:16:29,790 --> 00:16:34,530 So eine kurze Geschichte, wenn wir arbeiteten mit - so war ich im Sommer eine Arbeits 334 00:16:34,530 --> 00:16:34,970 Praktikum. 335 00:16:34,970 --> 00:16:40,400 Und wir waren mit einer Art Arbeits wie eine große Kreditkartenunternehmen. 336 00:16:40,400 --> 00:16:42,020 >> Und sie verlassen sich auf die so genannte - 337 00:16:42,020 --> 00:16:45,740 Ich weiß nicht, ob ihr jemals gespielt mit einem Produkt namens Joomla. 338 00:16:45,740 --> 00:16:51,750 Joomla ist ein Produkt, das verwendet wird, Kontrolle - eine Art ähnlich 339 00:16:51,750 --> 00:16:54,340 Wordpress, verwendet, um Websites zu bauen. 340 00:16:54,340 --> 00:16:56,060 So hatten sie ihre Website Arbeiten an Joomla. 341 00:16:56,060 --> 00:16:59,290 Dies ist eigentlich eine Kreditkarte Unternehmen in Kolumbien. 342 00:16:59,290 --> 00:17:01,000 Ich werde Sie nehmen ihre Website, sehr kurz. 343 00:17:01,000 --> 00:17:04,550 344 00:17:04,550 --> 00:17:05,400 >> So verwendet sie Joomla. 345 00:17:05,400 --> 00:17:08,630 Und sie hatte nicht aktualisiert Joomla auf die neueste Ergänzung. 346 00:17:08,630 --> 00:17:12,160 Und so, wenn wir einen Blick auf ihren Code, waren wir in der Lage, tatsächlich 347 00:17:12,160 --> 00:17:18,430 gehen in ihren Code zu stehlen und alle Kreditkarte Informationen, die sie hatte, 348 00:17:18,430 --> 00:17:21,670 alle Kreditkartennummern, die Namen, die Adressen. 349 00:17:21,670 --> 00:17:22,740 Und das war nur - 350 00:17:22,740 --> 00:17:23,569 und deren Code war völlig in Ordnung. 351 00:17:23,569 --> 00:17:24,710 Sie hatten große Code. 352 00:17:24,710 --> 00:17:25,389 Es war alles Sicherheit. 353 00:17:25,389 --> 00:17:26,520 Sie überprüften alle Datenbanken. 354 00:17:26,520 --> 00:17:29,020 Sie stellten sicher, Cross-Site- Skript war in Ordnung. 355 00:17:29,020 --> 00:17:34,390 >> Aber sie war etwas, das nicht verwendet aktualisiert, das war nicht sicher. 356 00:17:34,390 --> 00:17:36,940 Und so, das sie nach - so Jungs sind definitiv zu anderen verwenden 357 00:17:36,940 --> 00:17:40,650 Code, Frameworks der Menschen andere Menschen für den Aufbau Ihrer Website. 358 00:17:40,650 --> 00:17:43,860 Stellen Sie sicher, dass sie sicher sind, weil manchmal ist es nicht wahr, die eine, die 359 00:17:43,860 --> 00:17:44,480 einen Fehler macht. 360 00:17:44,480 --> 00:17:47,440 Aber jemand anderes einen Fehler macht, und Sie fallen dann deswegen. 361 00:17:47,440 --> 00:17:51,190 362 00:17:51,190 --> 00:17:53,885 >> Passwörter und PII. 363 00:17:53,885 --> 00:17:56,820 So Passwörter. 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 Werfen wir einen Blick auf Passwörter ganz schnell. 367 00:18:04,230 --> 00:18:04,590 OK. 368 00:18:04,590 --> 00:18:06,520 Bitte sagen Sie mir, dass jeder verwendet sichere - 369 00:18:06,520 --> 00:18:09,030 Ich bin der Hoffnung, jeder hier verwendet sichere Passwörter. 370 00:18:09,030 --> 00:18:12,890 Ich bin gerade zu lassen, dass in als Annahme. 371 00:18:12,890 --> 00:18:14,850 So ihr Jungs sind definitiv zu Passwörter für Ihre Webseiten. 372 00:18:14,850 --> 00:18:17,440 Du wirst etwas wie machen eine Anmeldung oder so etwas. 373 00:18:17,440 --> 00:18:19,610 Was wichtig ist, nicht speichern Passwörter im Klartext. 374 00:18:19,610 --> 00:18:20,860 Dies ist äußerst wichtig. 375 00:18:20,860 --> 00:18:23,960 Sie wollen nicht zu speichern ein Passwort im Klartext. 376 00:18:23,960 --> 00:18:27,370 >> Und Sie definitiv nicht wirklich wollen um es in einem ein Hash speichern. 377 00:18:27,370 --> 00:18:32,440 Also, was ein Ein Hash ist, dass, wenn Sie erzeugen ein Wort, wenn Sie diese setzen 378 00:18:32,440 --> 00:18:36,200 Wort in eine Hash-Funktion, wird es erzeugen wieder eine Art kryptische 379 00:18:36,200 --> 00:18:39,390 Nachricht oder kryptischen Satz Schlüssel. 380 00:18:39,390 --> 00:18:40,640 Ich gebe Ihnen ein Beispiel zu zeigen. 381 00:18:40,640 --> 00:18:44,620 382 00:18:44,620 --> 00:18:50,250 Ich werde sie Wort password1 Hash. 383 00:18:50,250 --> 00:18:55,280 So md5-Hash wird mich zurück eine Art von seltsamen Informationen. 384 00:18:55,280 --> 00:18:59,140 >> Das Problem ist, dass die Leute da draußen gerne, dass in Websites gehen 385 00:18:59,140 --> 00:19:02,750 bereits sortiert gefunden aller md5 Hashes. 386 00:19:02,750 --> 00:19:06,030 Was sie ist, sie setzte sich auf ihre Computer, und sie jeden Hash- 387 00:19:06,030 --> 00:19:09,660 Einzel mögliche Wort gibt, bis sie irgendwie bekam, was das ist. 388 00:19:09,660 --> 00:19:11,420 Wenn ich so aussehen up - 389 00:19:11,420 --> 00:19:12,420 Ich packte diesen Hash. 390 00:19:12,420 --> 00:19:14,120 Wenn ich diesen Hash von - 391 00:19:14,120 --> 00:19:17,470 wenn ich in eine Website, und ich finde, dieser Hash, weil ich das bekommen 392 00:19:17,470 --> 00:19:24,100 Datenbanken, und ich schaue sie auf, jemand schon für mich herausgefunden. 393 00:19:24,100 --> 00:19:28,600 394 00:19:28,600 --> 00:19:29,100 >> Ja. 395 00:19:29,100 --> 00:19:35,030 Also Leute setzte sich, und was auch immer md5 Hash, die Sie in, sie gehen zu 396 00:19:35,030 --> 00:19:37,760 zurückzukehren, um Ihnen etwas dass ein Wort. 397 00:19:37,760 --> 00:19:39,800 Wenn ich ein anderes Wort Hash, wie - 398 00:19:39,800 --> 00:19:42,410 Ich weiß nicht - 399 00:19:42,410 --> 00:19:43,490 trees2. 400 00:19:43,490 --> 00:19:46,050 Ich will nicht enttäuscht werden von meinem Google-Suche. 401 00:19:46,050 --> 00:19:49,820 402 00:19:49,820 --> 00:19:52,780 Da ist es, trees2. 403 00:19:52,780 --> 00:19:55,930 Also eine Vielzahl von Websites immer noch MD5-Hash. 404 00:19:55,930 --> 00:19:57,730 Sie sagen, oh, es ist sicher. 405 00:19:57,730 --> 00:19:58,570 Wir werden nicht im Klartext zu speichern. 406 00:19:58,570 --> 00:19:59,740 Wir haben diese md5-Hash. 407 00:19:59,740 --> 00:20:01,880 Und alles, was ich zu tun ist, nur Google die Nummer. 408 00:20:01,880 --> 00:20:03,940 >> Ich weiß nicht einmal, mich zu berechnen. 409 00:20:03,940 --> 00:20:06,790 Ich kann Google es, und jemand bereits hat es für mich. 410 00:20:06,790 --> 00:20:08,010 Hier ist eine Reihe von ihnen. 411 00:20:08,010 --> 00:20:09,260 Hier ist eine Reihe von Passwörtern. 412 00:20:09,260 --> 00:20:13,890 413 00:20:13,890 --> 00:20:18,680 Also auf jeden Fall nicht mit MD5-Hash, weil alles, was Sie haben 414 00:20:18,680 --> 00:20:19,140 tun, ist es Google. 415 00:20:19,140 --> 00:20:20,390 Also, was tun Sie stattdessen verwenden? 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 Etwas namens Salzen. 419 00:20:31,260 --> 00:20:32,460 Also, was ist das Salzen - 420 00:20:32,460 --> 00:20:36,280 kann euch daran erinnern, als wir Gespräch über zufällig in - 421 00:20:36,280 --> 00:20:37,920 Ich bin mir nicht sicher, was es war PSet - 422 00:20:37,920 --> 00:20:41,140 wurde es dort PSet oder vier? 423 00:20:41,140 --> 00:20:45,150 >> Wir waren über die Suche im Gespräch die Nadel im Heuhaufen. 424 00:20:45,150 --> 00:20:48,480 Und in der pset, hieß es, dass man tatsächlich herauszufinden, was Zufalls 425 00:20:48,480 --> 00:20:51,840 erzeugt, weil jemand schon lief Zufalls eine Million Mal und nur 426 00:20:51,840 --> 00:20:53,230 Art gebildet, was sie erzeugen. 427 00:20:53,230 --> 00:20:55,840 Was Sie tun möchten, ist legte in einem Eingabe. 428 00:20:55,840 --> 00:20:57,130 Also das ist, was das Salzen Art ist. 429 00:20:57,130 --> 00:21:00,900 Sie haben bereits herausgefunden, was das Salzen liefert für jede Arbeits. 430 00:21:00,900 --> 00:21:04,750 >> Also, was tut, ist das Salzen Sie setzte sich in eine Salz. 431 00:21:04,750 --> 00:21:06,160 Sie stellen in einem bestimmten Wort. 432 00:21:06,160 --> 00:21:09,720 Und es wird das Wort Hash je auf was Sie in hier. 433 00:21:09,720 --> 00:21:13,570 Also, wenn ich ein Passwort Hash mit diesem Satz, es geht um hash 434 00:21:13,570 --> 00:21:17,180 anders, wenn ich Hash password1 mit einem unterschiedlichen Satz. 435 00:21:17,180 --> 00:21:21,670 Sie gibt es irgendwie irgendwo zu Start für das Hashing zu beginnen. 436 00:21:21,670 --> 00:21:25,970 So ist es viel schwieriger zu berechnen, aber Sie noch zu berechnen, vor allem 437 00:21:25,970 --> 00:21:26,830 wenn Sie eine schlechte Salz zu verwenden. 438 00:21:26,830 --> 00:21:29,650 >> Die Menschen haben auch schon herausgefunden, gemeinsame Salze und heraus 439 00:21:29,650 --> 00:21:31,500 was das es ist. 440 00:21:31,500 --> 00:21:34,980 Zufällige Salze sind viel besser, aber der beste Weg ist, um zu verwenden 441 00:21:34,980 --> 00:21:38,160 die so genannte Krypta. 442 00:21:38,160 --> 00:21:40,480 Und welche Krypta Sie ermöglicht tun - so sind diese Funktionen 443 00:21:40,480 --> 00:21:41,820 bereits für Sie gebaut. 444 00:21:41,820 --> 00:21:44,910 Viele Leute vergessen das, oder sie vergessen, es zu benutzen. 445 00:21:44,910 --> 00:21:54,520 Aber wenn ich oben Krypta PHP, Krypta bereits gibt einen Hash-String für mich. 446 00:21:54,520 --> 00:21:58,790 Und es tatsächlich salzt es viele Male und Hashes es viele Male. 447 00:21:58,790 --> 00:22:00,070 >> So haben wir nicht, dies zu tun. 448 00:22:00,070 --> 00:22:04,790 Also alles, was Sie tun müssen, ist senden Sie es in Krypta. 449 00:22:04,790 --> 00:22:08,170 Und es wird eine große Hash zu erstellen, ohne Sie müssen, um Salz zu kümmern 450 00:22:08,170 --> 00:22:08,990 oder nichts. 451 00:22:08,990 --> 00:22:12,000 Denn wenn Sie es waren, um Salz, haben Sie zu erinnern, was Sie salz verwendet 452 00:22:12,000 --> 00:22:13,800 denn wenn nicht, können Sie nicht Ihren Kennwort zurück, ohne die 453 00:22:13,800 --> 00:22:15,760 Salz, die Sie verwendet. 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 >> Und auch personenbezogene Informationen. 457 00:22:23,150 --> 00:22:26,730 Also soziale Sicherheit, Kreditkarte - das ist ziemlich offensichtlich. 458 00:22:26,730 --> 00:22:31,880 Aber manchmal vergessen, wie es Arbeiten ist, wie viele Informationen Sie tun 459 00:22:31,880 --> 00:22:35,690 eigentlich brauchen, um etwas eine Person finden? 460 00:22:35,690 --> 00:22:37,740 Jemand hat eine Studie über dies ein Weg zurück. 461 00:22:37,740 --> 00:22:40,870 Und es war wie, wenn Sie ein Name, Sie nicht finden können 462 00:22:40,870 --> 00:22:41,610 jemand so leicht. 463 00:22:41,610 --> 00:22:43,900 Aber was, wenn Sie einen vollständigen Namen haben und ihr Geburtsdatum? 464 00:22:43,900 --> 00:22:47,770 Ist das genug, um zu erkennen jemand gesagt? 465 00:22:47,770 --> 00:22:52,760 >> Was, wenn Sie ihren Namen und haben die Adresse, die sie am leben? 466 00:22:52,760 --> 00:22:55,110 Ist das genug, um jemanden zu finden? 467 00:22:55,110 --> 00:23:02,490 Und das ist, wenn sie in Frage zu stellen, was ist persönliche Daten und 468 00:23:02,490 --> 00:23:05,360 was soll man zu befürchten nicht verlosen? 469 00:23:05,360 --> 00:23:08,770 Wenn Sie sich persönlich identifizierbaren geben Informationen, die Ihnen jemand, 470 00:23:08,770 --> 00:23:11,420 Sie könnten möglicherweise verklagt werden. 471 00:23:11,420 --> 00:23:12,610 Und wir definitiv nicht wollen das nicht. 472 00:23:12,610 --> 00:23:14,955 >> Also, wenn Sie die Umsetzung Ihrer Website sind aus, und Sie haben ein wirklich cooles 473 00:23:14,955 --> 00:23:17,230 Design, hoffentlich haben Sie gemacht eine wunderbare Abschlussprojekt. 474 00:23:17,230 --> 00:23:18,370 Jede Art von Ihnen wollen legte es gibt. 475 00:23:18,370 --> 00:23:21,420 Sie wollen sicherstellen, dass alles, was du nimmst vom Benutzer, wenn es 476 00:23:21,420 --> 00:23:25,310 persönliche Informationen, die Sie wollen sicherstellen, dass Sie wirklich sind 477 00:23:25,310 --> 00:23:26,560 vorsichtig mit ihm. 478 00:23:26,560 --> 00:23:29,670 479 00:23:29,670 --> 00:23:31,080 >> Shell-Injektion. 480 00:23:31,080 --> 00:23:31,350 OK. 481 00:23:31,350 --> 00:23:37,590 Shell Injektion ermöglicht den Eindringling zu erhalten Sie Zugriff auf Ihre tatsächliche Befehlszeile 482 00:23:37,590 --> 00:23:39,660 in Ihrem Server. 483 00:23:39,660 --> 00:23:44,060 Und so ist er in der Lage, Code ausführen dass man nicht steuern. 484 00:23:44,060 --> 00:23:49,560 Nehmen wir ein Beispiel dafür schöne Kette hier richtig. 485 00:23:49,560 --> 00:23:55,570 Wenn wir wieder in die Website gehen, ich bin werde in Code-Injektion zu gehen. 486 00:23:55,570 --> 00:23:58,910 Also, was es tut, ist - 487 00:23:58,910 --> 00:24:00,420 es ist auch das, was wir waren Blick auf zuvor. 488 00:24:00,420 --> 00:24:11,200 Wir lassen den Benutzer in was auch immer setzen er will, und es wird ausdrucken 489 00:24:11,200 --> 00:24:12,220 was Sie wollen. 490 00:24:12,220 --> 00:24:13,890 >> Also werde ich um einen Anruf zu setzen. 491 00:24:13,890 --> 00:24:15,540 Was das bedeutet ist - 492 00:24:15,540 --> 00:24:16,940 wird es durch die Verkettung starten. 493 00:24:16,940 --> 00:24:19,520 So wird es ließ mich laufen, was Befehl läuft der Person 494 00:24:19,520 --> 00:24:21,500 vor und mein Kommando. 495 00:24:21,500 --> 00:24:23,980 Und ich bin mit einen System-Befehl. 496 00:24:23,980 --> 00:24:27,310 Und diese letzten Saiten sind - erinnern was ich sprach mit ihr über, 497 00:24:27,310 --> 00:24:31,725 wohingegen Sie kodieren haben ihn in ein URL-Methode. 498 00:24:31,725 --> 00:24:35,010 499 00:24:35,010 --> 00:24:36,992 Wenn ich dieses jetzt - 500 00:24:36,992 --> 00:24:39,150 Ich werde Ihnen hier zeigen, über - 501 00:24:39,150 --> 00:24:41,100 Sie werden sehen, dass ich am Ende bis Sie einen Befehl. 502 00:24:41,100 --> 00:24:45,700 503 00:24:45,700 --> 00:24:49,320 >> Dies ist eigentlich die eigentlichen Server dass meine Website ausgeführt wird. 504 00:24:49,320 --> 00:24:55,840 505 00:24:55,840 --> 00:24:58,510 Also nicht, dass wir das tun, weil ich laufen kann - 506 00:24:58,510 --> 00:25:00,320 Dieser Server ist nicht von mir. 507 00:25:00,320 --> 00:25:04,030 Also ich möchte nicht in Unordnung zu sein Schwester, Marcus Server. 508 00:25:04,030 --> 00:25:07,470 Aber Sie können mehr Befehle ausführen , die gefährlich sind. 509 00:25:07,470 --> 00:25:11,885 Und möglicherweise, Sie löschen könnte Dateien, Verzeichnisse zu entfernen. 510 00:25:11,885 --> 00:25:14,390 511 00:25:14,390 --> 00:25:17,970 Ich kann ein bestimmtes Verzeichnis zu entfernen, wenn Ich wollte, aber ich will nicht 512 00:25:17,970 --> 00:25:19,530 zu, dass Marcus zu tun. 513 00:25:19,530 --> 00:25:20,420 Er ist ein netter Kerl. 514 00:25:20,420 --> 00:25:21,470 Er ließ mich seine Server zu leihen. 515 00:25:21,470 --> 00:25:24,620 Also ich werde ihn lassen weg auf der guten. 516 00:25:24,620 --> 00:25:32,280 >> Also, was wir nicht wollen, zu verwenden - wir nicht wollen oder eval-System verwenden. 517 00:25:32,280 --> 00:25:34,755 Eval oder System ermöglicht es uns, machen diese Systemaufrufe. 518 00:25:34,755 --> 00:25:37,410 519 00:25:37,410 --> 00:25:38,410 Eval Mittel zu beurteilen. 520 00:25:38,410 --> 00:25:40,790 System bedeutet, was ich lief. 521 00:25:40,790 --> 00:25:42,490 Es ist etwas im System laufen. 522 00:25:42,490 --> 00:25:46,730 Aber wir können diese Dinge in ächten PHP, so dass wir sie nicht benutzen. 523 00:25:46,730 --> 00:25:47,400 Und Datei-Upload. 524 00:25:47,400 --> 00:25:49,180 Ich wollte ein tolles zu tun Sache mit der Datei-Upload. 525 00:25:49,180 --> 00:25:52,740 Aber wie ich Ihnen sagte, Jungs, meine Datei Upload Sache funktioniert nicht. 526 00:25:52,740 --> 00:25:54,590 Wenn ich eine Datei jetzt hochladen - 527 00:25:54,590 --> 00:25:57,120 528 00:25:57,120 --> 00:26:00,830 wenn ich eine Datei hochladen, und es ist ein Bild - 529 00:26:00,830 --> 00:26:03,180 Sie haben eine Upload-Sache das ist ein Bild. 530 00:26:03,180 --> 00:26:03,660 Das ist in Ordnung. 531 00:26:03,660 --> 00:26:04,280 Nichts passiert. 532 00:26:04,280 --> 00:26:10,840 >> Aber wenn Sie eine Datei ist, müssen für Beispiel, und der Benutzer tatsächlich Uploads 533 00:26:10,840 --> 00:26:19,220 eine PHP-Datei oder eine EXE-Datei oder etwas so, dann könnte man möglicherweise 534 00:26:19,220 --> 00:26:19,740 habe ein Problem. 535 00:26:19,740 --> 00:26:21,390 Dies wurde vor der Arbeit. 536 00:26:21,390 --> 00:26:25,202 Leider ist für mich, es ist nicht mehr. 537 00:26:25,202 --> 00:26:30,230 Wenn ich, zum Beispiel, laden Sie diese Datei, ich bin nicht die Erlaubnis zum Hochladen 538 00:26:30,230 --> 00:26:33,400 die Datei durch den Server nicht in der Mine. 539 00:26:33,400 --> 00:26:38,670 Also der Kerl ist wirklich smart. 540 00:26:38,670 --> 00:26:39,610 >> Also wir wollen nicht - 541 00:26:39,610 --> 00:26:40,130 Ich werde euch zeigen - 542 00:26:40,130 --> 00:26:41,840 OK, das sind ein paar wirklich coole Tools. 543 00:26:41,840 --> 00:26:45,100 Also diese - 544 00:26:45,100 --> 00:26:47,715 gehen in - wenn Sie Jungs haben Firefox - hoffentlich haben Sie zu tun. 545 00:26:47,715 --> 00:26:54,260 Es gibt zwei Add-Ons namens SQL Inject Ich und Cross-Site-Script-Me. 546 00:26:54,260 --> 00:26:56,870 Sie eröffnen so wenig Seiten Stäbe auf der Seite. 547 00:26:56,870 --> 00:27:01,480 Und wenn ich hier um zu gehen CS60 zum Beispiel - 548 00:27:01,480 --> 00:27:04,210 so, was es tut, ist es sieht für alle die Formen, die - 549 00:27:04,210 --> 00:27:07,220 550 00:27:07,220 --> 00:27:08,760 hoffentlich werde ich nicht bekommen Ärger für diese. 551 00:27:08,760 --> 00:27:09,190 >> Aber OK. 552 00:27:09,190 --> 00:27:12,600 Hier ist der Pin-System. 553 00:27:12,600 --> 00:27:18,946 Also, wenn ich anfange, für die Löcher in der Suche das System, das erste, was ich tue, ist 554 00:27:18,946 --> 00:27:21,820 Erschließung dieses schöne kleine Werkzeug auf der Seite. 555 00:27:21,820 --> 00:27:24,160 Und ich werde, um Formulare testen mit Auto-Attacken. 556 00:27:24,160 --> 00:27:28,510 Und was das bedeutet ist, wird es langsam eröffnen eine Reihe von Browsern. 557 00:27:28,510 --> 00:27:29,930 Hier ist eine Reihe von Browsern. 558 00:27:29,930 --> 00:27:33,320 Und es wird versucht, jede einzelne Kombination von Cross-Site-Scripting 559 00:27:33,320 --> 00:27:37,380 dass es möglicherweise heißt, wenn Sie sehen auf der Seite. 560 00:27:37,380 --> 00:27:42,080 >> Und es wird mir ein Ergebnis geben Art, was die Antwort ist. 561 00:27:42,080 --> 00:27:42,860 Alle weiterzugeben. 562 00:27:42,860 --> 00:27:43,910 Offensichtlich, sie alle passieren. 563 00:27:43,910 --> 00:27:46,190 Ich meine, sie sind wirklich schlau Menschen dort oben. 564 00:27:46,190 --> 00:27:48,010 Aber wenn ich zu laufen - 565 00:27:48,010 --> 00:27:52,050 Ich habe mal vor, wenn ich das hatte auf Abschlussarbeiten der Studierenden. 566 00:27:52,050 --> 00:27:56,080 Ich laufe einfach SQL Inject Me mit alle verschiedenen Attacken. 567 00:27:56,080 --> 00:28:00,080 Und es ist zu versuchen, SQL spritzen dieser Pin-Server. 568 00:28:00,080 --> 00:28:03,590 Also, wenn wir nach unten scrollen, für Beispiel sagt es - 569 00:28:03,590 --> 00:28:04,960 das ist gut, wenn er zurückkehrt. 570 00:28:04,960 --> 00:28:08,250 >> So getestet einige bestimmte Werte. 571 00:28:08,250 --> 00:28:11,170 Und der Server zurück ein Code, der negativ war. 572 00:28:11,170 --> 00:28:11,780 Vorübergehend entfernen. 573 00:28:11,780 --> 00:28:13,030 Das ist gut. 574 00:28:13,030 --> 00:28:17,050 575 00:28:17,050 --> 00:28:20,750 Es versucht alle diese Tests. 576 00:28:20,750 --> 00:28:21,790 So können Sie einfach laufen - 577 00:28:21,790 --> 00:28:27,860 Ich wünschte, ich eine Website in Echt finden konnte schnell, dass würde mich lassen - 578 00:28:27,860 --> 00:28:29,110 vielleicht das CS50-Shop. 579 00:28:29,110 --> 00:28:43,890 580 00:28:43,890 --> 00:28:45,711 >> Wow, das wird viel zu lange dauern. 581 00:28:45,711 --> 00:28:53,090 582 00:28:53,090 --> 00:28:55,130 Ich werde der erste Test nicht zu Ende rechts. 583 00:28:55,130 --> 00:28:57,330 So ist es zu beschweren. 584 00:28:57,330 --> 00:28:58,470 So sind diese drei Dinge. 585 00:28:58,470 --> 00:29:00,430 Diese Tools sind kostenlos. 586 00:29:00,430 --> 00:29:03,960 Sie können sie herunterladen und ausführen, sie auf Ihre Website, und es wird Ihnen sagen, wenn 587 00:29:03,960 --> 00:29:06,650 Sie haben Cross-Site-Scripting, wenn Sie SQL, wenn Sie 588 00:29:06,650 --> 00:29:07,900 etwas dergleichen. 589 00:29:07,900 --> 00:29:12,230 590 00:29:12,230 --> 00:29:14,500 Ich bin Art von Unordnung zu. 591 00:29:14,500 --> 00:29:15,550 >> Was ist wichtig - 592 00:29:15,550 --> 00:29:17,900 OK, so dass der Benutzer nie vertrauen. 593 00:29:17,900 --> 00:29:21,920 Was auch immer die Benutzereingaben an Sie, machen sicher, dass Sie es zu sanieren, können Sie es zu reinigen, 594 00:29:21,920 --> 00:29:25,300 Sie sich für die richtigen Dinge zu überprüfen, dass es Ihnen, was Sie 595 00:29:25,300 --> 00:29:28,240 will ihn dir geben. 596 00:29:28,240 --> 00:29:32,460 Immer auf welche Rahmenbedingungen aktualisiert werden dass Sie tatsächlich mit. 597 00:29:32,460 --> 00:29:34,630 - Wenn Sie so etwas wie Bootstrap verwenden 598 00:29:34,630 --> 00:29:36,340 Ich weiß, euch gehen zu bedienen Bootstrap, weil er wird gehen 599 00:29:36,340 --> 00:29:38,140 über diese bald in der Klasse - 600 00:29:38,140 --> 00:29:43,120 und Wordpress oder so etwas, normalerweise könnte gehackt werden. 601 00:29:43,120 --> 00:29:44,770 >> Und dann müssen Sie nicht einmal wissen. 602 00:29:44,770 --> 00:29:45,800 Du bist nur läuft Ihre Website. 603 00:29:45,800 --> 00:29:47,360 Und es ist völlig sicher. 604 00:29:47,360 --> 00:29:51,730 Und Sie gehen. 605 00:29:51,730 --> 00:29:54,000 Also ich bin wirklich früh fischen. 606 00:29:54,000 --> 00:29:55,770 Aber ich möchte Pentest Labs danken. 607 00:29:55,770 --> 00:29:58,140 Ich werde euch etwas zeigen genannt Pentest Labs. 608 00:29:58,140 --> 00:30:05,000 Wenn euch wirklich interessiert welche Sicherheit wirklich ist, gibt es eine 609 00:30:05,000 --> 00:30:07,300 Website namens Pentest Labs wenn euch gehen, um es jetzt. 610 00:30:07,300 --> 00:30:10,730 Oh, gut, das ist es nicht. 611 00:30:10,730 --> 00:30:12,030 Ich bin gerade dabei, es so laufen. 612 00:30:12,030 --> 00:30:14,400 Google sagt mir die Antwort. 613 00:30:14,400 --> 00:30:16,590 >> OK. 614 00:30:16,590 --> 00:30:19,030 Und es lehrt, verwenden Sie - so sagt, lernen Web-Penetration 615 00:30:19,030 --> 00:30:21,060 Testen der richtige Weg. 616 00:30:21,060 --> 00:30:23,650 Es lehrt Sie - 617 00:30:23,650 --> 00:30:25,150 hoffentlich, du bist eine ethische Person. 618 00:30:25,150 --> 00:30:29,200 Aber es lehrt, wie man sich anschauen kann wie Sie in Webseiten zu bekommen. 619 00:30:29,200 --> 00:30:31,130 Und wenn Sie lernen, wie Sie nach innen erhalten können Websites, können Sie lernen, wie man 620 00:30:31,130 --> 00:30:34,960 schützen Sie sich davor Innen Websites. 621 00:30:34,960 --> 00:30:39,100 Lassen Sie mich zu vergrößern, weil vielleicht ihr Jungs haben es nicht mit diesem Recht. 622 00:30:39,100 --> 00:30:46,350 >> Von SQL-Injection zu berappen, so Art, wie ich aus SQL bekommen 623 00:30:46,350 --> 00:30:48,530 Injektion zu berappen. 624 00:30:48,530 --> 00:30:53,890 Und Sie können diese virtuelle Maschine herunter zu laden. 625 00:30:53,890 --> 00:30:55,690 Und die virtuelle Maschine kommt schon mit der Website, die Sie 626 00:30:55,690 --> 00:30:56,780 gehen, um es anzuprobieren. 627 00:30:56,780 --> 00:30:58,030 Sie downloaden Sie dieses PDF. 628 00:30:58,030 --> 00:31:03,610 629 00:31:03,610 --> 00:31:08,370 Und es wird Sie durch die Linie zeigen, was Linie Sie haben zu tun, was Sie zu überprüfen. 630 00:31:08,370 --> 00:31:14,560 Dies ist, was ein Angreifer tatsächlich tut, um innerhalb einer Website. 631 00:31:14,560 --> 00:31:15,750 >> Und etwas von diesem Zeug ist kompliziert. 632 00:31:15,750 --> 00:31:17,520 Ich wünschte, ich könnte über mehr gehen Dinge mit euch. 633 00:31:17,520 --> 00:31:21,090 Aber ich mache mir Sorgen, dass ihr Jungs haben nicht wirklich - 634 00:31:21,090 --> 00:31:23,090 das ist, was ich ging mit Sie Kerle, Web-Tests 635 00:31:23,090 --> 00:31:26,830 für Penetrationstests. 636 00:31:26,830 --> 00:31:33,540 Sie nicht wirklich wissen, was SQL ist und was - 637 00:31:33,540 --> 00:31:35,960 Carl Jackson Seminar ist genial als gut. 638 00:31:35,960 --> 00:31:37,360 Ihr Jungs nicht wissen, Art von dem, was das ist. 639 00:31:37,360 --> 00:31:39,450 Aber wenn Sie auf diese Webseite gehen, und Sie Download diese Tutorials und diese 640 00:31:39,450 --> 00:31:43,290 PDF-Dateien, können Sie einen Blick auf Art nehmen was der Bereich der Sicherheit wirklich 641 00:31:43,290 --> 00:31:46,940 in Penetrationstests sehen, wie du kannst get in Websites und schützen 642 00:31:46,940 --> 00:31:48,020 sich von ihm. 643 00:31:48,020 --> 00:31:56,360 >> Also, wenn ich einen Super schnellen Überblick, es wird verhindern, Cross-Site Scripting werden. 644 00:31:56,360 --> 00:32:00,160 Sie wollen htmlspecialchars jeden Einsatz wenn der Benutzer Eingaben etwas. 645 00:32:00,160 --> 00:32:01,580 Verhindern, dass SQL-Injektion. 646 00:32:01,580 --> 00:32:04,510 Wenn Sie das tun, sind Sie bereits besser als Harvard war 647 00:32:04,510 --> 00:32:06,530 wenn sie verletzt habe. 648 00:32:06,530 --> 00:32:10,510 Und stellen Sie sicher, dass Sie Ihre Passwörter sind nicht im Klartext. 649 00:32:10,510 --> 00:32:16,220 Stellen Sie sicher, dass Sie nicht nur ein Hash- sie aber, dass Sie crypt, die PHP- 650 00:32:16,220 --> 00:32:18,670 Funktion, die ich Ihnen gezeigt, Jungs. 651 00:32:18,670 --> 00:32:20,060 So sollten Sie gut sein. 652 00:32:20,060 --> 00:32:25,830 >> Auch, wenn Ihre Freunde können Sie, führen SQL auf ihren Websites injizieren bleiben. 653 00:32:25,830 --> 00:32:28,140 Führen Cross-Site-Scripting auf ihren Websites. 654 00:32:28,140 --> 00:32:33,720 Und Sie werden eine Menge von diesen Webseiten sehen haben eine Tonne von Schwachstellen. 655 00:32:33,720 --> 00:32:40,400 Es ist unglaublich, wie viel die Menschen vergessen, zu ihren Datenbanken zu desinfizieren oder zu machen 656 00:32:40,400 --> 00:32:46,340 sicher, was die Person, die Eingabe ist nicht Script-Code. 657 00:32:46,340 --> 00:32:47,200 OK. 658 00:32:47,200 --> 00:32:49,182 Ich irgendwie sehr früh beendet. 659 00:32:49,182 --> 00:32:56,510 Aber wenn jemand Fragen zu hat nichts, können Sie mir eine Frage zu schießen. 660 00:32:56,510 --> 00:32:56,630 Ja. 661 00:32:56,630 --> 00:32:56,970 Go, go. 662 00:32:56,970 --> 00:32:59,846 >> ZIELGRUPPE: Ich möchte nur fragen, können Sie erklären, wie die Datei 663 00:32:59,846 --> 00:33:03,160 lade genau funktioniert. 664 00:33:03,160 --> 00:33:03,480 >> LUCIANO ARANGO: Ja. 665 00:33:03,480 --> 00:33:06,350 Also lassen Sie mich Ihnen zeigen, die Datei laden, sehr kurz. 666 00:33:06,350 --> 00:33:11,300 Also die Datei-Upload - 667 00:33:11,300 --> 00:33:14,500 das Problem Witz der Datei-Upload jetzt ist, dass - 668 00:33:14,500 --> 00:33:18,541 Ich werde den Code zu öffnen, so dass Sie Jungs siehe den Code hinter den Kulissen. 669 00:33:18,541 --> 00:33:22,390 670 00:33:22,390 --> 00:33:24,305 Und es ist hochladen. 671 00:33:24,305 --> 00:33:28,030 672 00:33:28,030 --> 00:33:31,560 Hier ist ein Code für die Datei-Uploader. 673 00:33:31,560 --> 00:33:33,980 >> Wir versuchen, in diese zu gelangen Verzeichnis hier. 674 00:33:33,980 --> 00:33:37,380 675 00:33:37,380 --> 00:33:44,880 Und wir sind zu versuchen, wenn wir die Eingangs Datei, isset Datei - so, wenn es eine 676 00:33:44,880 --> 00:33:50,900 Datei in Dateien, die Bild, dann wir versuchen, es hier zu bewegen. 677 00:33:50,900 --> 00:33:51,910 Wir schnappen uns die Datei hier. 678 00:33:51,910 --> 00:33:58,350 Die Methode ist POST, Typ-, Bild-Datei. 679 00:33:58,350 --> 00:33:59,630 Und wir möchten Sie in dieser Datei. 680 00:33:59,630 --> 00:34:03,910 Und dann, wenn wir sie bekommen, so, sobald die Datei hat ein Bild, wir versuchen, sie zu senden 681 00:34:03,910 --> 00:34:05,060 in dieses Verzeichnis. 682 00:34:05,060 --> 00:34:09,814 >> Das Problem ist, dass die Website nicht lassen Sie mich in dieses Verzeichnis zu gehen, 683 00:34:09,814 --> 00:34:12,239 weil sie nicht wollen, dass ich wieder zurück. 684 00:34:12,239 --> 00:34:13,489 Es will mich nicht zu gehen - 685 00:34:13,489 --> 00:34:15,620 686 00:34:15,620 --> 00:34:17,070 Ich muss gehen - so ist hier hochladen. 687 00:34:17,070 --> 00:34:17,639 Hier Bilder. 688 00:34:17,639 --> 00:34:21,780 Ich muss den ganzen Weg zurück zu gehen, die ab und steckte es in dort und dann 689 00:34:21,780 --> 00:34:23,820 gehen und legte es in das Verzeichnis. 690 00:34:23,820 --> 00:34:30,000 Also, wenn ich ein Terminal-Fenster laufen, und ich wollte eine Datei zu verschieben - 691 00:34:30,000 --> 00:34:30,409 [Unverständlich] 692 00:34:30,409 --> 00:34:32,159 kann es sehen. 693 00:34:32,159 --> 00:34:37,940 Wenn ich wollte, um eine Datei zu verschieben, habe ich um den Dateinamen setzen und dann die 694 00:34:37,940 --> 00:34:40,860 vollständigen Pfad will ich es zu senden. 695 00:34:40,860 --> 00:34:45,110 >> Und dann der Server ist nicht lassen Sie mich zurück. 696 00:34:45,110 --> 00:34:46,929 Und so ist es nicht lassen mich zu dieser Datei zu erhalten. 697 00:34:46,929 --> 00:34:47,670 Aber normalerweise - 698 00:34:47,670 --> 00:34:49,360 so gibt es einen Code für Hochladen einer Datei. 699 00:34:49,360 --> 00:34:52,260 So normal, was passieren wird ist, dass die Person ist nicht zu überprüfen, ob meine Datei 700 00:34:52,260 --> 00:34:57,920 endet mit. jpeg, so dass ich möchte, um zu überprüfen. 701 00:34:57,920 --> 00:35:00,054 Lassen Sie mich ein Beispiel zu öffnen, sehr kurz. 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 Diese Person rechts - 705 00:35:09,230 --> 00:35:11,980 so beispielsweise zwei ist die Überprüfung wenn preg_match - 706 00:35:11,980 --> 00:35:14,180 hier ist es hier - 707 00:35:14,180 --> 00:35:19,660 um sicherzustellen, dass endet mit PHP, was gut ist. 708 00:35:19,660 --> 00:35:20,580 Das ist gut. 709 00:35:20,580 --> 00:35:22,820 Aber es gibt eine wirklich große Problem mit diesem. 710 00:35:22,820 --> 00:35:24,600 Das ist gut. 711 00:35:24,600 --> 00:35:44,190 Aber wenn ich eine Datei namens gestellt waren myfavoritepicture.php.jpeg, konnte ich 712 00:35:44,190 --> 00:35:50,060 immer noch potenziell der jpeg loswerden und führen it.k Das PHP gefährlich. 713 00:35:50,060 --> 00:35:53,850 Sie wollen nicht die Person, die in der Lage sein, Code auf Ihre Website führen. 714 00:35:53,850 --> 00:35:55,750 >> Aber dann. Jpeg lässt sie passieren. 715 00:35:55,750 --> 00:36:00,720 Die Idee ist, was Sie wirklich wollen nicht Dateien, A. Aber, OK, nehmen, was 716 00:36:00,720 --> 00:36:07,500 Sie wirklich tun wollen, ist sicherzustellen, dass Sie lesen über die ganze Welt. 717 00:36:07,500 --> 00:36:08,720 Und es gibt nichts. Php in sie. 718 00:36:08,720 --> 00:36:10,500 Es gibt keine. Php in die ganze Dateinamen. 719 00:36:10,500 --> 00:36:12,780 >> ZIELGRUPPE: Aber Sie könnten setzen. jpeg am Ende. 720 00:36:12,780 --> 00:36:15,830 Die Server noch den Code auszuführen. 721 00:36:15,830 --> 00:36:16,870 >> LUCIANO ARANGO: Nein, wird es nicht laufen am Anfang. 722 00:36:16,870 --> 00:36:22,310 Sie müssen zurückgehen und versuchen, zu sehen, wenn du kannst - 723 00:36:22,310 --> 00:36:24,210 >> ZIELGRUPPE: Also müssen wir - 724 00:36:24,210 --> 00:36:26,020 OK, nur ein weiteres Set, das beinhaltet - 725 00:36:26,020 --> 00:36:26,936 >> LUCIANO ARANGO: Ja. 726 00:36:26,936 --> 00:36:29,230 >> ZIELGRUPPE: OK. 727 00:36:29,230 --> 00:36:31,486 >> LUCIANO ARANGO: Ja. 728 00:36:31,486 --> 00:36:31,900 OK. 729 00:36:31,900 --> 00:36:32,865 Noch Fragen? 730 00:36:32,865 --> 00:36:33,180 OK. 731 00:36:33,180 --> 00:36:37,350 Ich werde diese verlassen und sortieren der versuchen, wenn euch sehen kann - 732 00:36:37,350 --> 00:36:40,490 die anderen sind ein wenig kompliziert, weil sie viel verlangen 733 00:36:40,490 --> 00:36:44,050 mehr Wissen über SQL als nur die Anfang Kenntnisse der Web-SQL ist und 734 00:36:44,050 --> 00:36:47,010 JavaScript ist was. 735 00:36:47,010 --> 00:36:49,730 Aber ich werde versuchen, dies zu halten, und hoffentlich auch euch lernen 736 00:36:49,730 --> 00:36:53,230 über dies und versuchen, einen Blick auf zu nehmen was Sie tun können und wie viele Beispiele 737 00:36:53,230 --> 00:36:54,420 Sie durchkommen kann. 738 00:36:54,420 --> 00:36:56,020 >> Jeder andere haben Fragen zu diesem Thema? 739 00:36:56,020 --> 00:36:59,387 740 00:36:59,387 --> 00:37:00,350 Gehen Sie voran. 741 00:37:00,350 --> 00:37:01,170 Ja, schießen, schießen. 742 00:37:01,170 --> 00:37:01,580 Ja, gehen Sie vor. 743 00:37:01,580 --> 00:37:01,850 Gehen Sie voran. 744 00:37:01,850 --> 00:37:02,310 >> ZIELGRUPPE: OK. 745 00:37:02,310 --> 00:37:08,870 So etwa hörte ich, wie Magic Quotes sind nicht sicher genug. 746 00:37:08,870 --> 00:37:09,280 >> LUCIANO ARANGO: Was - 747 00:37:09,280 --> 00:37:10,110 Magic Quotes? 748 00:37:10,110 --> 00:37:10,595 >> ZIELGRUPPE: Ja. 749 00:37:10,595 --> 00:37:15,445 So fügt es - wenn Sie so, Eingangs etwas, es fügt immer Anführungszeichen. 750 00:37:15,445 --> 00:37:15,930 >> LUCIANO ARANGO: Ja. 751 00:37:15,930 --> 00:37:16,000 Ja. 752 00:37:16,000 --> 00:37:16,496 OK. 753 00:37:16,496 --> 00:37:19,113 >> ZIELGRUPPE: Und dann dachte ich, das war aber dann suchte ich ihn auf. 754 00:37:19,113 --> 00:37:21,648 Und es sagte, es ist nicht gut. 755 00:37:21,648 --> 00:37:23,050 Aber ich bin mir nicht sicher, warum. 756 00:37:23,050 --> 00:37:23,360 >> LUCIANO ARANGO: Ja. 757 00:37:23,360 --> 00:37:26,240 >> ZIELGRUPPE: Verwenden Sie keine Magic Quotes, denn es ist nicht sicher. 758 00:37:26,240 --> 00:37:26,360 >> LUCIANO ARANGO: OK. 759 00:37:26,360 --> 00:37:31,735 So Magic Quotes ist, wenn Sie SQL einfügen und schon fügt das Zitat für Sie. 760 00:37:31,735 --> 00:37:33,520 >> Zielgruppe: IT fügt immer Zitate um was auch immer Sie in. 761 00:37:33,520 --> 00:37:34,210 >> LUCIANO ARANGO: Ja. 762 00:37:34,210 --> 00:37:37,190 Das Problem dabei ist, dass - 763 00:37:37,190 --> 00:37:38,445 Ich werde einen Blick auf zu nehmen - 764 00:37:38,445 --> 00:37:41,390 >> ZIELGRUPPE: Wie fühlt es erwerben die SQL-Anweisung? 765 00:37:41,390 --> 00:37:44,690 Oder ich denke, dass es sein könnte wie Angebot auswählen. 766 00:37:44,690 --> 00:37:49,030 >> LUCIANO ARANGO: Ja, Sie müssen gute Angebote für den SQL. 767 00:37:49,030 --> 00:37:52,900 >> ZIELGRUPPE: Nein, aber der Server erledigt das für Sie. 768 00:37:52,900 --> 00:37:54,460 >> LUCIANO ARANGO: Diese kleinen Zitate genau hier, diese kleinen Zitate? 769 00:37:54,460 --> 00:37:55,670 >> ZIELGRUPPE: Ja. 770 00:37:55,670 --> 00:37:56,450 >> LUCIANO ARANGO: Ja. 771 00:37:56,450 --> 00:37:59,860 Das Problem ist, dass man Kommentar aus der letzten - 772 00:37:59,860 --> 00:38:05,770 OK, also, was ich tun kann, ist, kommentiere ich kann out - also nehmen wir mal einen Blick auf - lassen Sie mich 773 00:38:05,770 --> 00:38:07,920 öffnen Sie ein Texteingabedatei. 774 00:38:07,920 --> 00:38:09,610 Lassen Sie mich nur diese bearbeiten hier direkt. 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 Kann euch das klar zu sehen? 778 00:38:23,710 --> 00:38:29,730 Was ich tun kann, ist, kommentiere ich kann aus dem letzten. 779 00:38:29,730 --> 00:38:32,190 Dies wird kommentieren Sie die letzte. 780 00:38:32,190 --> 00:38:36,760 Und dann werde ich hier, lege alle bösartigen Sachen hier. 781 00:38:36,760 --> 00:38:39,840 782 00:38:39,840 --> 00:38:42,630 >> So kann der Anwender ist eigentlich Eingabe, oder? 783 00:38:42,630 --> 00:38:45,230 Der Benutzer ist nicht die Eingabe die Dinge, oder? 784 00:38:45,230 --> 00:38:47,430 Das ist, was ich zu gehen als Eingangs die Person, die versucht, hineinzukommen. 785 00:38:47,430 --> 00:38:49,430 Ich werde in gesetzt - 786 00:38:49,430 --> 00:38:59,290 787 00:38:59,290 --> 00:39:00,180 das ist ein Anführungszeichen. 788 00:39:00,180 --> 00:39:01,760 Es ist nur so verschnörkelt durch Fehler. 789 00:39:01,760 --> 00:39:15,080 790 00:39:15,080 --> 00:39:19,400 Und dann, was der Code ist zu tun - 791 00:39:19,400 --> 00:39:20,190 sorry, ich werde das nehmen. 792 00:39:20,190 --> 00:39:22,170 Was der Code zu tun ist, es geht um den ersten hinzufügen 793 00:39:22,170 --> 00:39:24,030 Anführungszeichen hier. 794 00:39:24,030 --> 00:39:26,040 Und es wird die letzte hinzufügen Anführungszeichen als gut. 795 00:39:26,040 --> 00:39:29,350 796 00:39:29,350 --> 00:39:33,270 >> Und es ist auch werde hinzufügen letzten, letzten Anführungszeichen. 797 00:39:33,270 --> 00:39:37,380 Aber ich werde diese kommentieren Zitat markiert aus, so dass sie nicht ausführen. 798 00:39:37,380 --> 00:39:41,440 Und Ich beende dieses Zitat Markieren Sie hier. 799 00:39:41,440 --> 00:39:42,290 Verstehen Sie? 800 00:39:42,290 --> 00:39:43,750 Sind Sie verloren? 801 00:39:43,750 --> 00:39:45,880 Ich kann das letzte Zitat Kommentar Marke, und kümmern sich um die 802 00:39:45,880 --> 00:39:46,680 ersten Anführungszeichen. 803 00:39:46,680 --> 00:39:47,350 >> ZIELGRUPPE: Und Finish der erste. 804 00:39:47,350 --> 00:39:47,480 >> LUCIANO ARANGO: Ja. 805 00:39:47,480 --> 00:39:48,400 Und beenden Sie die erste. 806 00:39:48,400 --> 00:39:48,790 Ja, das ist richtig. 807 00:39:48,790 --> 00:39:50,800 Das ist, was ich tun kann. 808 00:39:50,800 --> 00:39:51,890 Ja. 809 00:39:51,890 --> 00:39:52,980 Alle anderen Fragen wie das? 810 00:39:52,980 --> 00:39:54,230 Das ist eine gute Frage. 811 00:39:54,230 --> 00:39:56,960 812 00:39:56,960 --> 00:39:59,790 Nein, ja, vielleicht. 813 00:39:59,790 --> 00:40:06,150 Hoffentlich wird euch irgendwie machen mehr Sinn, wenn Sie SQL und Studium 814 00:40:06,150 --> 00:40:06,650 Sachen. 815 00:40:06,650 --> 00:40:07,980 Aber stellen Sie sicher, dass Sie - 816 00:40:07,980 --> 00:40:10,340 sollten Sie diese Tools in die Uhr. 817 00:40:10,340 --> 00:40:12,760 Sorry, diese Tools hier. 818 00:40:12,760 --> 00:40:14,200 Diese Werkzeuge sind groß. 819 00:40:14,200 --> 00:40:17,190 Wenn jemand irgendwelche Fragen, Sie können auch mailen Sie mir. 820 00:40:17,190 --> 00:40:19,020 Das ist meine normale E-Mail. 821 00:40:19,020 --> 00:40:25,015 Und das ist meine geschäftlichen E-Mail, die ist, wenn ich arbeite bei SEAS. 822 00:40:25,015 --> 00:40:26,040 >> OK, danke. 823 00:40:26,040 --> 00:40:26,740 Danke, Jungs. 824 00:40:26,740 --> 00:40:27,860 Sie sind gut zu gehen. 825 00:40:27,860 --> 00:40:28,830 Sie müssen nicht hier bleiben. 826 00:40:28,830 --> 00:40:29,570 Klatschen Sie nicht. 827 00:40:29,570 --> 00:40:30,170 Das ist seltsam. 828 00:40:30,170 --> 00:40:31,420 OK, danke, Jungs. 829 00:40:31,420 --> 00:40:32,320