1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:10,300 >> Luciano Arango: OK, guys. 3 00:00:10,300 --> 00:00:11,550 Nama saya Luciano Arango. 4 00:00:11,550 --> 00:00:13,915 Saya mahasiswa tingkat kedua di Adams House. 5 00:00:13,915 --> 00:00:17,550 Dan kita akan bercakap tentang keselamatan web pertahanan aktif. 6 00:00:17,550 --> 00:00:24,220 Jadi saya bekerja untuk Pejabat Maklumat Keselamatan di LAUT. 7 00:00:24,220 --> 00:00:28,670 Dan sepanjang musim panas, saya interned di SeguraTec, yang merupakan maklumat yang 8 00:00:28,670 --> 00:00:31,310 syarikat keselamatan yang berkhidmat untuk Bank of Columbia. 9 00:00:31,310 --> 00:00:34,740 Yang kebanyakannya di mana saya belajar apa yang saya pelajari setakat ini. 10 00:00:34,740 --> 00:00:37,990 >> Dan jadi beberapa bahan yang kami akan pergi ke hari ini, kita tidak mempunyai 11 00:00:37,990 --> 00:00:39,670 benar-benar bercakap tentang di dalam kelas. 12 00:00:39,670 --> 00:00:40,410 Tetapi kita akan tidak lama lagi. 13 00:00:40,410 --> 00:00:42,360 Ia akan menjadi seperti SQL, JavaScript. 14 00:00:42,360 --> 00:00:44,870 Dan kita belum benar-benar pergi ke atasnya. 15 00:00:44,870 --> 00:00:47,730 Jadi saya boleh menyusun penerbangan melaluinya, dan anda mungkin tidak tahu beberapa perkara. 16 00:00:47,730 --> 00:00:48,890 Tetapi tidak lama lagi, anda akan belajar ia. 17 00:00:48,890 --> 00:00:52,080 Dan semuanya akan masuk akal. 18 00:00:52,080 --> 00:00:54,010 Juga perkara lain - 19 00:00:54,010 --> 00:00:55,780 tinggal beretika. 20 00:00:55,780 --> 00:01:00,560 Beberapa perkara yang anda belajar, anda boleh menggunakan dalam cara yang tidak beretika. 21 00:01:00,560 --> 00:01:01,950 >> Jika ia adalah milik anda, pasti cuba. 22 00:01:01,950 --> 00:01:04,500 Saya pasti memberi motivasi kepada anda lelaki untuk mencuba pelayan anda sendiri, cuba 23 00:01:04,500 --> 00:01:05,519 akan di dalamnya. 24 00:01:05,519 --> 00:01:08,500 Lihat jika anda boleh menembusi mereka, jika anda boleh mendapatkan di dalamnya. 25 00:01:08,500 --> 00:01:09,560 Tetapi bukan orang lain adalah. 26 00:01:09,560 --> 00:01:12,390 Polis tidak benar-benar suka jenaka dan keseluruhannya, kita meletakkan ini di sini. 27 00:01:12,390 --> 00:01:14,040 Kami main-main. 28 00:01:14,040 --> 00:01:15,780 Mereka mendapat benar-benar marah. 29 00:01:15,780 --> 00:01:18,700 >> Jadi pergilah ke laman web ini. 30 00:01:18,700 --> 00:01:23,560 Saya telah ia dibuka di sini. 31 00:01:23,560 --> 00:01:26,780 Ini adalah laman web, dan ia mempunyai sekumpulan contoh. 32 00:01:26,780 --> 00:01:30,000 Apa yang berlaku ialah contoh pertama umpama akan menjadi lebih mudah 33 00:01:30,000 --> 00:01:33,470 daripada contoh terakhir dalam erti kata yang bahawa contoh yang pertama 34 00:01:33,470 --> 00:01:34,970 benar-benar tidak selamat. 35 00:01:34,970 --> 00:01:40,850 Dan yang terakhir adalah jenis apa yang biasa orang keselamatan web akan lakukan. 36 00:01:40,850 --> 00:01:42,760 Tetapi anda masih jenis daripada mendapatkan sekitar itu. 37 00:01:42,760 --> 00:01:44,860 Dan kita akan memberi tumpuan kepada satu dan dua, contoh satu dan dua. 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 Mari kita mulakan dengan cross-site scripting. 41 00:01:52,780 --> 00:01:56,100 JavaScript dijalankan pada pelayar pelanggan. 42 00:01:56,100 --> 00:01:59,980 Ia adalah satu bahasa pengaturcaraan yang anda gunakan untuk menjalankan pada pelayar pelanggan supaya 43 00:01:59,980 --> 00:02:04,120 anda tidak perlu mengemaskini laman web dan kembali ke pelayan. 44 00:02:04,120 --> 00:02:04,940 Anda mempunyai ia berjalan. 45 00:02:04,940 --> 00:02:08,870 Sebagai contoh, Facebook, anda tidak perlu untuk memuat semula laman web untuk status baru 46 00:02:08,870 --> 00:02:09,710 kemaskini kepada datang. 47 00:02:09,710 --> 00:02:12,170 Ia menggunakan JavaScript untuk menjana semua perkara ini. 48 00:02:12,170 --> 00:02:16,290 Oleh itu, kita boleh menyuntik berniat jahat JavaScript ke dalam laman web. 49 00:02:16,290 --> 00:02:20,890 Dan dengan cara itu, apabila kita menghantarnya kepada seseorang, kita jenis boleh menghantar dengan 50 00:02:20,890 --> 00:02:23,050 beberapa kod yang kita mahu. 51 00:02:23,050 --> 00:02:26,450 >> Ada yang berterusan dan bukan berterusan JavaScript - 52 00:02:26,450 --> 00:02:30,640 cross-site yang berterusan dan bukan berterusan skrip, yang saya maksudkan. 53 00:02:30,640 --> 00:02:33,760 Dan perbezaan adalah bahawa berterusan adalah JavaScript yang akan 54 00:02:33,760 --> 00:02:36,060 disimpan di laman web. 55 00:02:36,060 --> 00:02:39,780 Dan bukan berterusan akan JavaScript yang akan sebenarnya hanya berlaku sekali. 56 00:02:39,780 --> 00:02:41,795 Jadi mari kita lihat contoh cepat sebenar. 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 Jadi laman web ini, mudah, tiada apa yang berlaku di sini. 60 00:02:51,620 --> 00:02:53,070 Dan kita akan cuba untuk memasukkan beberapa JavaScript. 61 00:02:53,070 --> 00:02:58,110 Jadi cara kita mula menulis JavaScript adalah kita bermula dengan skrip permulaan. 62 00:02:58,110 --> 00:03:00,570 Dan kita menutupnya dengan skrip. 63 00:03:00,570 --> 00:03:03,770 Kami hanya akan meletakkan mesej - 64 00:03:03,770 --> 00:03:05,410 Saya akan menunjukkan kepada anda - 65 00:03:05,410 --> 00:03:06,500 berjaga-jaga. 66 00:03:06,500 --> 00:03:11,150 Amaran adalah fungsi yang JavaScript menggunakan untuk memaparkan sesuatu. 67 00:03:11,150 --> 00:03:12,400 Jadi mari kita cuba cepat sebenar. 68 00:03:12,400 --> 00:03:15,600 69 00:03:15,600 --> 00:03:18,944 Saya akan pergi, hello berjaga-jaga. 70 00:03:18,944 --> 00:03:20,400 Nah, saya terlupa untuk meletakkan - 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 Jadi, itu mudah. 74 00:03:26,540 --> 00:03:28,730 >> Kami meletakkan JavaScript di laman web, dan ia datang. 75 00:03:28,730 --> 00:03:31,200 Dan ia semacam hanya berlaku di laman web kami, bukan? 76 00:03:31,200 --> 00:03:33,040 Jadi ia kelihatan seperti ia tidak masalah, bukan? 77 00:03:33,040 --> 00:03:34,920 Maksud saya, bagaimana anda boleh menggunakan ini dengan niat jahat? 78 00:03:34,920 --> 00:03:39,930 Jadi cara bahawa penggodam melakukan ini adalah benar-benar mudah. 79 00:03:39,930 --> 00:03:40,970 Mereka akan merebutnya. 80 00:03:40,970 --> 00:03:43,750 Mereka boleh menghantar maklumat ini kepada anda. 81 00:03:43,750 --> 00:03:46,780 Jika saya akan menghantar link ini kepada anda sekarang, dan anda membukanya, ia akan 82 00:03:46,780 --> 00:03:51,620 berkata, hello, mengatakan bahawa laman web saya memberitahu anda hello. 83 00:03:51,620 --> 00:03:57,280 >> Dan jadi jika saya mengatakan sesuatu yang sedikit lebih bijak, jika saya tarik sehingga satu 84 00:03:57,280 --> 00:03:59,880 JavaScript fungsi saya jenis daripada sudah menulis - 85 00:03:59,880 --> 00:04:03,940 tetapi jika anda melihat ia, saya akan pergi Produk berlebihan sebelum saya menulisnya. 86 00:04:03,940 --> 00:04:06,650 Jadi, kita akan untuk menetapkan tamat masa yang. 87 00:04:06,650 --> 00:04:08,450 Kami akan menunggu pasangan saat. 88 00:04:08,450 --> 00:04:13,970 Malah, kita akan menunggu, jika Saya tidak salah, lima saat. 89 00:04:13,970 --> 00:04:15,870 Ini pergi dalam milisaat. 90 00:04:15,870 --> 00:04:18,640 Dan kemudian apa yang kita akan lakukan ialah kita akan memberi amaran bahawa log masuk 91 00:04:18,640 --> 00:04:21,459 tamat masa untuk log masuk kembali masuk 92 00:04:21,459 --> 00:04:23,990 Dan kita akan menukar lokasi ke lokasi yang berbeza. 93 00:04:23,990 --> 00:04:30,370 94 00:04:30,370 --> 00:04:32,970 >> Jadi, jika saya menghantar laman web ini kepada seseorang, mereka akan menjadi 95 00:04:32,970 --> 00:04:34,380 melayari sekitar, tenang. 96 00:04:34,380 --> 00:04:35,650 Tiada apa-apa yang berlaku. 97 00:04:35,650 --> 00:04:38,550 Dan dalam lima saat, ia akan berkata, log masuk anda tamat masa. 98 00:04:38,550 --> 00:04:40,200 Sila log masuk semula 99 00:04:40,200 --> 00:04:43,400 Apabila mereka klik OK, saya akan membawa mereka ke laman web lain. 100 00:04:43,400 --> 00:04:45,980 Mungkin, laman web ini akan sama dengan laman web yang 101 00:04:45,980 --> 00:04:47,280 mereka berada dalam sebelum ini. 102 00:04:47,280 --> 00:04:50,770 Dan mereka akan log mereka kelayakan ke dalam laman web saya daripada 103 00:04:50,770 --> 00:04:51,850 laman web mereka. 104 00:04:51,850 --> 00:04:54,780 >> Dan jadi saya boleh menghantar orang yang e-mel dengan pautan ini. 105 00:04:54,780 --> 00:04:56,240 Saya berkata, oh, inilah pautan. 106 00:04:56,240 --> 00:04:57,290 Ini adalah sebuah bank, sebagai contoh. 107 00:04:57,290 --> 00:05:01,390 Saya katakan, di sini, pergi pada pautan ini. 108 00:05:01,390 --> 00:05:03,730 Dan apabila mereka hantar, mereka akan melayari sekitar. 109 00:05:03,730 --> 00:05:07,560 Saya boleh tunggu 15 saat, 20 saat, dan kemudian pop yang sila log balik 110 00:05:07,560 --> 00:05:08,840 menandatangani semula. 111 00:05:08,840 --> 00:05:10,120 Anda semua boleh cuba dengan lebih banyak perkara. 112 00:05:10,120 --> 00:05:13,190 Ia rumit kerana anda semua tidak pernah melihat JavaScript, jadi anda mungkin 113 00:05:13,190 --> 00:05:14,750 tidak tahu sesetengah fungsi. 114 00:05:14,750 --> 00:05:18,625 Tetapi semua yang anda perlu lakukan adalah permulaan dengan skrip, berakhir dengan skrip. 115 00:05:18,625 --> 00:05:22,105 116 00:05:22,105 --> 00:05:25,510 Dan anda boleh letakkan apa-apa di tengah-tengah. 117 00:05:25,510 --> 00:05:27,350 >> Amaran fungsi, menunggu. 118 00:05:27,350 --> 00:05:29,365 Lokasi tingkap membawa anda ke lokasi baru. 119 00:05:29,365 --> 00:05:31,370 Tetapi anda boleh berbuat demikian lebih. 120 00:05:31,370 --> 00:05:32,630 Dan jadi idea adalah bahawa kita ambil yang luar. 121 00:05:32,630 --> 00:05:39,350 Jika saya pergi ke contoh dua, dan saya dimasukkan ke dalam kod ini sama, ia 122 00:05:39,350 --> 00:05:40,210 tidak akan bekerja. 123 00:05:40,210 --> 00:05:43,620 Jadi ia mencetak semua keluar kerana apa laman web ini asalnya 124 00:05:43,620 --> 00:05:50,350 tidak adalah jika saya letakkan apa-apa di sini, ia akan mencetak di sini. 125 00:05:50,350 --> 00:05:52,390 Jadi ia tidak mencetak apa-apa keluar. 126 00:05:52,390 --> 00:05:55,560 Contoh ini sebenarnya memeriksa untuk melihat jika skrip adalah di sana. 127 00:05:55,560 --> 00:05:57,163 Jadi yeah, teruskan. 128 00:05:57,163 --> 00:05:57,606 Bertanya kepada saya. 129 00:05:57,606 --> 00:05:59,560 >> PENONTON: Adakah tidak menghantar yang mendapatkan atau pos permintaan? 130 00:05:59,560 --> 00:06:00,670 >> Luciano Arango: Yeah. mereka menghantar permintaan mendapatkan. 131 00:06:00,670 --> 00:06:01,350 >> PENONTON: Ia adalah? 132 00:06:01,350 --> 00:06:02,490 >> Luciano Arango: Yeah. 133 00:06:02,490 --> 00:06:04,030 Juga pelayar menggunakan permintaan pos. 134 00:06:04,030 --> 00:06:07,470 Tetapi saya cuba untuk menunjukkan permintaan mendapatkan supaya kita dapat melihat apa yang 135 00:06:07,470 --> 00:06:10,760 sebenarnya berlaku. 136 00:06:10,760 --> 00:06:12,880 Dan jadi jika kita melihat kod ini - jadi ia tidak berfungsi lagi. 137 00:06:12,880 --> 00:06:24,870 Dan jika kita lihat kod ini, ia akan menjadi contoh dua. 138 00:06:24,870 --> 00:06:29,300 Apa yang orang ini lakukan, orang yang bertanggungjawab bagi penyemak imbas ini - 139 00:06:29,300 --> 00:06:35,370 membuka, OK - 140 00:06:35,370 --> 00:06:39,290 menggantikan skrip perkataan. 141 00:06:39,290 --> 00:06:42,850 Ini adalah PHP, yang anda semua mungkin telah melihat sedikit yet. 142 00:06:42,850 --> 00:06:46,250 >> Dia hanya menggantikan skrip perkataan dengan nama. 143 00:06:46,250 --> 00:06:50,895 Jadi walau bagaimanapun, jika saya teruskan dan hanya dimasukkan ke dalam - 144 00:06:50,895 --> 00:06:58,520 145 00:06:58,520 --> 00:07:02,360 jika saya merebut kod saya sekali lagi, dan saya akan untuk mengubah suai hanya sedikit. 146 00:07:02,360 --> 00:07:15,010 Sebaliknya skrip, saya akan menukar ia untuk skrip dengan modal R. Dan 147 00:07:15,010 --> 00:07:16,390 kita akan melihat jika kod ini berfungsi. 148 00:07:16,390 --> 00:07:19,090 Jadi ia tidak mencetak, yang merupakan satu petanda yang baik. 149 00:07:19,090 --> 00:07:21,990 Dan mudah-mudahan dalam dua saat, ia akan muncul. 150 00:07:21,990 --> 00:07:22,820 >> Log masuk anda tamat masa. 151 00:07:22,820 --> 00:07:23,210 OK. 152 00:07:23,210 --> 00:07:24,460 Itu boleh. 153 00:07:24,460 --> 00:07:27,670 Jadi memeriksa skrip mungkin tidak semestinya bekerja. 154 00:07:27,670 --> 00:07:28,130 Orang - 155 00:07:28,130 --> 00:07:32,290 ia juga boleh menyemak skrip huruf besar, skrip huruf kecil, kes str 156 00:07:32,290 --> 00:07:34,180 membandingkan, memastikan mereka yang sama. 157 00:07:34,180 --> 00:07:38,480 Tetapi penggodam ini masih boleh berbuat semacam apa kami lakukan pada Vigenere apabila kita berpindah 158 00:07:38,480 --> 00:07:40,620 kembali pasangan aksara, bergerak ke hadapan. 159 00:07:40,620 --> 00:07:43,470 Dan ia boleh memikirkan bagaimana untuk meletakkan skrip kembali di sana jadi ia boleh menyuntik 160 00:07:43,470 --> 00:07:44,460 skrip itu. 161 00:07:44,460 --> 00:07:50,370 >> Jadi apa yang anda mahu menggunakan adalah htmlspecialchars untuk 162 00:07:50,370 --> 00:07:51,330 melindungi laman web anda. 163 00:07:51,330 --> 00:07:56,490 Dan apa yang ini adalah ia membuat memastikan bahawa apa yang anda masukkan ke dalam - 164 00:07:56,490 --> 00:07:59,610 sebagai contoh, sebut harga atau ini lebih besar daripada atau kurang daripada - 165 00:07:59,610 --> 00:08:04,701 digantikan dengan sesuatu yang yang tidak akan - 166 00:08:04,701 --> 00:08:05,951 biarlah saya mengezum masuk sini - 167 00:08:05,951 --> 00:08:08,730 168 00:08:08,730 --> 00:08:09,685 yang Ampersand sebenar. 169 00:08:09,685 --> 00:08:13,420 Ia akan menggantikan mereka HTML khas watak-watak yang kita akan melihat apabila kita 170 00:08:13,420 --> 00:08:14,670 bercakap tentang - 171 00:08:14,670 --> 00:08:18,635 172 00:08:18,635 --> 00:08:20,740 oh, ini akan membawa aku kepada - 173 00:08:20,740 --> 00:08:24,220 174 00:08:24,220 --> 00:08:25,380 watak-watak ini di sini. 175 00:08:25,380 --> 00:08:28,180 >> Ini menandakan bahawa sesuatu akan datang. 176 00:08:28,180 --> 00:08:31,570 Untuk HTML, yang kurungan bermula memberitahu kita bahawa sesuatu 177 00:08:31,570 --> 00:08:33,299 Berkaitan HTML akan datang. 178 00:08:33,299 --> 00:08:33,980 Dan kita mahu menghapuskan itu. 179 00:08:33,980 --> 00:08:36,200 Kami tidak mahu meletakkan HTML ke dalam website.k Kita tidak mahu pengguna untuk menjadi 180 00:08:36,200 --> 00:08:40,260 dapat meletakkan sesuatu di laman web mereka yang boleh menjejaskan laman web mereka, seperti 181 00:08:40,260 --> 00:08:43,480 skrip atau HTML atau sesuatu seperti itu. 182 00:08:43,480 --> 00:08:53,090 Apa yang penting ialah anda membersihkan input pengguna. 183 00:08:53,090 --> 00:08:54,720 >> Supaya pengguna boleh input banyak perkara. 184 00:08:54,720 --> 00:08:58,110 Dia boleh input sekumpulan barangan untuk mencuba untuk menipu pelayar anda masih 185 00:08:58,110 --> 00:08:59,410 menjalankan kod skrip ini. 186 00:08:59,410 --> 00:09:02,870 Apa yang anda mahu lakukan adalah tidak hanya melihat untuk skrip, tetapi mencari segala-galanya 187 00:09:02,870 --> 00:09:04,250 yang boleh berniat jahat. 188 00:09:04,250 --> 00:09:06,800 Dan htmlspecialchars akan berbuat demikian untuk anda, jadi anda tidak perlu 189 00:09:06,800 --> 00:09:07,340 bimbang mengenainya. 190 00:09:07,340 --> 00:09:12,280 Tetapi jangan cuba melakukan sendiri jenis dengan kod anda sendiri. 191 00:09:12,280 --> 00:09:14,055 Adakah semua orang jelas mengenai XSS? 192 00:09:14,055 --> 00:09:14,370 >> OK. 193 00:09:14,370 --> 00:09:16,355 Mari kita pergi ke suntikan SQL. 194 00:09:16,355 --> 00:09:21,010 Jadi suntikan SQL mungkin adalah nombor satu kelemahan 195 00:09:21,010 --> 00:09:22,490 di laman web yang berbeza. 196 00:09:22,490 --> 00:09:24,350 Maksud saya, contoh yang baik - 197 00:09:24,350 --> 00:09:27,350 Saya hanya menyelidik jauh untuk perkara ini. 198 00:09:27,350 --> 00:09:34,430 Dan saya mendapati artikel ini hebat, di mana Saya melihat bahawa Harvard telah dilanggar, 199 00:09:34,430 --> 00:09:35,390 telah digodam. 200 00:09:35,390 --> 00:09:37,370 Dan saya tertanya-tanya, baik, bagaimana mereka akan melakukannya? 201 00:09:37,370 --> 00:09:41,660 Harvard adalah yang paling hebat, paling menjamin universiti sebelum ini. 202 00:09:41,660 --> 00:09:43,850 Betul? 203 00:09:43,850 --> 00:09:45,410 Nah, untuk melanggar pelayan, penggodam menggunakan 204 00:09:45,410 --> 00:09:47,710 teknik yang dipanggil suntikan SQL. 205 00:09:47,710 --> 00:09:50,250 >> Jadi ini berlaku pada hari ke hari asas. 206 00:09:50,250 --> 00:09:53,590 Orang lupa untuk mengambil kira untuk suntikan SQL. 207 00:09:53,590 --> 00:09:54,930 Harvard tidak. 208 00:09:54,930 --> 00:10:00,050 Saya rasa ia mengatakan di sini, Princeton, Stanford, Cornell. 209 00:10:00,050 --> 00:10:03,550 Jadi bagaimana kita - jadi apa yang SQL ini suntikan yang membawa semua ini 210 00:10:03,550 --> 00:10:05,668 orang ramai sehingga? 211 00:10:05,668 --> 00:10:08,010 OK. 212 00:10:08,010 --> 00:10:12,090 Jadi SQL adalah bahasa pengaturcaraan yang kita gunakan untuk mengakses pangkalan data. 213 00:10:12,090 --> 00:10:14,560 Apa yang kita lakukan ialah kita pilih - 214 00:10:14,560 --> 00:10:18,510 jadi apa ini berbunyi sekarang ialah pilih segala-galanya dari meja. 215 00:10:18,510 --> 00:10:22,640 >> SQL, ia berubah ke dalam pangkalan data ini yang mempunyai jadual penuh dengan maklumat. 216 00:10:22,640 --> 00:10:26,550 Jadi pilih segala-galanya daripada pengguna di mana nama adalah nama pengguna. 217 00:10:26,550 --> 00:10:28,120 Betul? 218 00:10:28,120 --> 00:10:30,770 Cukup mudah. 219 00:10:30,770 --> 00:10:34,490 Idea suntikan SQL ialah kita memasukkan beberapa kod berniat jahat yang akan 220 00:10:34,490 --> 00:10:37,270 menipu pelayan ke dalam menjalankan sesuatu yang berbeza daripada apa yang 221 00:10:37,270 --> 00:10:38,430 asalnya telah berjalan. 222 00:10:38,430 --> 00:10:44,970 Jadi katakan untuk nama pengguna, kita masukkan ke dalam atau 1 sama 1. 223 00:10:44,970 --> 00:10:46,700 Jadi kita masukkan ke dalam atau 1 sama 1. 224 00:10:46,700 --> 00:10:49,890 Cara ia akan baca sekarang akan pilih daripada pengguna, segala-galanya daripada 225 00:10:49,890 --> 00:10:51,360 pengguna - ini adalah segala-galanya - 226 00:10:51,360 --> 00:10:55,880 di mana nama adalah nama pengguna, tetapi nama pengguna adalah atau 1 sama 1. 227 00:10:55,880 --> 00:11:01,760 >> Jadi nama apa atau 1 sama 1. 228 00:11:01,760 --> 00:11:04,060 1 sama 1 selalunya benar. 229 00:11:04,060 --> 00:11:07,690 Jadi ini akan sentiasa kembali maklumat daripada pengguna. 230 00:11:07,690 --> 00:11:08,100 OK. 231 00:11:08,100 --> 00:11:10,030 Kami tidak perlu mempunyai nama pengguna yang betul. 232 00:11:10,030 --> 00:11:14,240 Kami hanya boleh mempunyai apa-apa yang kita mahu, dan ia akan kembali maklumat 233 00:11:14,240 --> 00:11:15,690 yang kita perlukan. 234 00:11:15,690 --> 00:11:17,160 Mari kita lihat contoh yang lain. 235 00:11:17,160 --> 00:11:22,720 >> Jika kita telah memilih segala-galanya daripada pengguna, di mana nama adalah pengguna JADUAL DROP - 236 00:11:22,720 --> 00:11:26,420 jadi apa yang anda berfikir kemahuan ini lakukan sekiranya saya dimasukkan ke dalam nama pengguna yang 237 00:11:26,420 --> 00:11:29,560 sebagai pengguna DROP TABLE? 238 00:11:29,560 --> 00:11:30,230 Sesiapa yang mempunyai idea? 239 00:11:30,230 --> 00:11:31,050 Ya. 240 00:11:31,050 --> 00:11:32,470 >> PENONTON: Ia akan memberitahu ia membuang semua jadual. 241 00:11:32,470 --> 00:11:35,460 >> Luciano Arango: Ia akan memberitahu kita untuk membuang segala-galanya dalam laman web ini, 242 00:11:35,460 --> 00:11:38,290 segala-galanya dalam pangkalan data. 243 00:11:38,290 --> 00:11:41,910 Dan apa yang orang menggunakan ini untuk - jadi Saya akan menunjukkan kepada anda semua. 244 00:11:41,910 --> 00:11:45,462 Saya dilumpuhkan menjatuhkan jadual kerana saya tidak mahu anda 245 00:11:45,462 --> 00:11:48,240 lelaki untuk menggugurkan jadual saya. 246 00:11:48,240 --> 00:11:49,850 Mari kita lihat ini. 247 00:11:49,850 --> 00:11:54,410 Jadi ini hanya menarik sehingga maklumat yang untuk orang tertentu. 248 00:11:54,410 --> 00:11:57,550 Jadi bagaimana kita tahu jika ini adalah terjejas oleh suntikan SQL. 249 00:11:57,550 --> 00:12:01,545 Kami akan memeriksa cepat sebenar jika kita boleh meletakkan sesuatu - 250 00:12:01,545 --> 00:12:04,990 251 00:12:04,990 --> 00:12:06,080 biarlah saya tulis kod ini. 252 00:12:06,080 --> 00:12:08,140 Saya akan pergi ke dalam satu saat. 253 00:12:08,140 --> 00:12:12,210 Saya akan meletakkan akar dan 1 sama 1. 254 00:12:12,210 --> 00:12:15,510 >> Ini di sini, ini peratus tanda 23 - 255 00:12:15,510 --> 00:12:19,970 apa yang ia benar-benar adalah, jika saya melihat di sini di - 256 00:12:19,970 --> 00:12:23,820 cara HTML mengambil masa dalam nombor, jika anda lihat apabila saya dimasukkan ke dalam ruang yang 257 00:12:23,820 --> 00:12:28,380 di sini - jika saya ruang sesuatu di sini, ia berubah kepada peratus 2. 258 00:12:28,380 --> 00:12:31,420 Adakah anda semua melihat ini di sini apabila saya dimasukkan ke dalam ruang? 259 00:12:31,420 --> 00:12:36,710 Cara ia berfungsi ialah anda hanya boleh menghantar nilai ASCII melalui HTML. 260 00:12:36,710 --> 00:12:40,330 Jadi ia menggantikan, sebagai contoh, ruang dengan peratus 20. 261 00:12:40,330 --> 00:12:41,970 Saya tidak tahu jika anda semua telah melihat bahawa sebelum ini. 262 00:12:41,970 --> 00:12:45,100 >> Ia menggantikan satu hashtag dengan peratus 23. 263 00:12:45,100 --> 00:12:50,840 Kita perlu hashtag di akhir atau Penyataan supaya kami dapat memberitahu 264 00:12:50,840 --> 00:13:00,885 pangkalan data untuk lupa untuk memberi komen di luar koma bernoktah ini lalu pada akhir. 265 00:13:00,885 --> 00:13:03,060 Kami mahu ia tidak berfikir tentang itu. 266 00:13:03,060 --> 00:13:05,980 Kami hanya mahu ia berjalan segala-galanya yang kita ada terlebih dahulu dan 267 00:13:05,980 --> 00:13:07,450 mengulas bahawa keluar. 268 00:13:07,450 --> 00:13:08,710 Mari kita lihat ia. 269 00:13:08,710 --> 00:13:14,670 >> Jadi jika saya meletakkan sesuatu yang salah - katakan sebagai contoh, saya meletakkan 2 sama 270 00:13:14,670 --> 00:13:15,690 1, ia tidak memberi saya apa-apa. 271 00:13:15,690 --> 00:13:22,930 Apabila saya dimasukkan ke dalam 1 sama 1, dan ia kembali sesuatu, ini memberitahu saya bahawa 272 00:13:22,930 --> 00:13:24,660 ini adalah terdedah kepada suntikan SQL. 273 00:13:24,660 --> 00:13:29,090 Saya tahu sekarang bahawa apa sahaja Saya meletakkan selepas ini - 274 00:13:29,090 --> 00:13:39,110 dan sebagai contoh, DROP JADUAL atau sesuatu seperti itu 275 00:13:39,110 --> 00:13:41,190 pasti akan berfungsi. 276 00:13:41,190 --> 00:13:44,350 Saya tahu ia terdedah kepada suntikan SQL kerana saya tahu bahawa 277 00:13:44,350 --> 00:13:49,850 di bawah hood, ia membiarkan saya melakukan 1 sama 1 perkara. 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 >> Dan jika kita melihat ini yang lain, nombor dua dan nombor tiga, ia 281 00:13:56,540 --> 00:13:59,110 akan melakukan lebih sedikit menyemak di bawah 282 00:13:59,110 --> 00:14:03,680 hud dengan apa yang ada. 283 00:14:03,680 --> 00:14:07,425 Jadi sesiapa sahaja membolehkan penurunan apa-apa lagi atau cuba? 284 00:14:07,425 --> 00:14:08,760 Adakah anda semua jenis mendapatkan SQL lagi? 285 00:14:08,760 --> 00:14:10,430 Kerana saya tahu anda semua tidak mempunyai melihatnya lagi, jadi ia adalah jenis 286 00:14:10,430 --> 00:14:11,759 mengelirukan untuk anda semua. 287 00:14:11,759 --> 00:14:16,160 288 00:14:16,160 --> 00:14:18,480 Mari kita melihat. 289 00:14:18,480 --> 00:14:21,270 Jadi apakah cara untuk mengelakkan SQLI? 290 00:14:21,270 --> 00:14:21,390 OK. 291 00:14:21,390 --> 00:14:23,330 Jadi ini adalah benar-benar penting kerana anda lelaki pasti mahu mengelakkan 292 00:14:23,330 --> 00:14:24,090 ini di laman web anda. 293 00:14:24,090 --> 00:14:28,040 >> Jika tidak, semua rakan-rakan anda akan mengusik kerana anda apabila mereka drop semua 294 00:14:28,040 --> 00:14:29,390 meja anda. 295 00:14:29,390 --> 00:14:36,150 Jadi idea adalah bahawa anda membaiki SQL dengan cara yang tertentu, sedangkan anda sepadan 296 00:14:36,150 --> 00:14:41,940 apa input pengguna dengan rentetan tertentu. 297 00:14:41,940 --> 00:14:46,120 Jadi cara ini kerja-kerja adalah anda menyediakan pangkalan data. 298 00:14:46,120 --> 00:14:50,830 Anda memilih nama, warna, dan kalori daripada pangkalan data yang dikenali sebagai buah-buahan. 299 00:14:50,830 --> 00:14:53,580 Dan kemudian di mana kalori adalah kurang daripada, dan kami meletakkan tanda tanya ada 300 00:14:53,580 --> 00:14:56,530 mengatakan kita akan input sesuatu dalam satu saat. 301 00:14:56,530 --> 00:14:58,850 >> Dan warna sama, dan kami meletakkan soalan tanda mengatakan kita akan 302 00:14:58,850 --> 00:15:00,913 sesuatu input dalam kedua juga. 303 00:15:00,913 --> 00:15:02,660 OK? 304 00:15:02,660 --> 00:15:09,920 Dan kemudian kita melaksanakannya, meletakkan di 150 dan merah. 305 00:15:09,920 --> 00:15:12,820 Dan ini akan periksa untuk memastikan bahawa kedua-dua - 306 00:15:12,820 --> 00:15:15,300 pelbagai ini akan memastikan bahawa ini dua adalah integer dan 307 00:15:15,300 --> 00:15:16,550 bahawa ini adalah rentetan. 308 00:15:16,550 --> 00:15:18,810 309 00:15:18,810 --> 00:15:20,890 Kemudian kita pergi, dan kami mengambil semua, kami memasukkannya ke dalam merah. 310 00:15:20,890 --> 00:15:21,964 Ini bermakna kita mengambil semua. 311 00:15:21,964 --> 00:15:26,790 Ini bermakna kita sebenarnya melaksanakan SQL kenyataan dan meletakkannya kembali dalam merah. 312 00:15:26,790 --> 00:15:30,530 Di sini kita melakukan perkara yang sama, tetapi kita melakukan perkara yang sama untuk kuning. 313 00:15:30,530 --> 00:15:32,490 Dan kita mengambil semua. 314 00:15:32,490 --> 00:15:36,140 >> Dan dengan cara ini, kita menghalang pengguna daripada dapat input sesuatu 315 00:15:36,140 --> 00:15:41,710 bahawa tidak apa yang kita dinyatakan, tali atau integer, sebagai contoh. 316 00:15:41,710 --> 00:15:45,100 317 00:15:45,100 --> 00:15:46,610 Saya bercakap lebih awal mengenai bergantung pada orang lain. 318 00:15:46,610 --> 00:15:50,010 Apabila kamu memulakan projek anda, anda yang paling pasti akan menggunakan 319 00:15:50,010 --> 00:15:52,310 Bootstrap atau sesuatu yang serupa. 320 00:15:52,310 --> 00:15:53,490 Adakah anda semua pernah menggunakan Wordpress? 321 00:15:53,490 --> 00:15:57,170 Mungkin anda semua telah menggunakan Wordpress paling mungkin. 322 00:15:57,170 --> 00:16:00,050 Jadi masalah dengan menggunakan barang orang lain - 323 00:16:00,050 --> 00:16:05,940 Saya hanya akan cepat sebenar Google Kelemahan Wordpress. 324 00:16:05,940 --> 00:16:07,495 >> Jika saya tarik ini sehingga sekarang - 325 00:16:07,495 --> 00:16:08,995 Saya benar-benar melakukan kedua-dua Google. 326 00:16:08,995 --> 00:16:12,300 327 00:16:12,300 --> 00:16:13,800 Kita dapat melihat bahawa Wordpress - 328 00:16:13,800 --> 00:16:17,450 ini bertarikh September '12. 329 00:16:17,450 --> 00:16:19,120 26 dikemas kini. 330 00:16:19,120 --> 00:16:23,620 Konfigurasi lalai daripada Wordpress sebelum 3.6 tidak menghalang ini 331 00:16:23,620 --> 00:16:27,110 Gambar tertentu, yang mungkin memudahkan 332 00:16:27,110 --> 00:16:29,790 serangan cross-site scripting. 333 00:16:29,790 --> 00:16:34,530 Jadi cerita cepat, sebaik sahaja kami telah bekerja dengan - jadi saya, pada musim panas, bekerja satu 334 00:16:34,530 --> 00:16:34,970 latihan. 335 00:16:34,970 --> 00:16:40,400 Dan kita bekerja dengan jenis seperti sebuah syarikat kad kredit yang besar. 336 00:16:40,400 --> 00:16:42,020 >> Dan mereka bergantung kepada sesuatu yang dinamakan - 337 00:16:42,020 --> 00:16:45,740 Saya tidak tahu jika anda semua pernah bermain dengan produk yang dipanggil Joomla. 338 00:16:45,740 --> 00:16:51,750 Joomla merupakan produk yang digunakan untuk kawalan - jenis yang sama dengan 339 00:16:51,750 --> 00:16:54,340 Wordpress, yang digunakan untuk membina laman web. 340 00:16:54,340 --> 00:16:56,060 Jadi mereka mempunyai laman web mereka bekerja di Joomla. 341 00:16:56,060 --> 00:16:59,290 Ini sebenarnya adalah kad kredit syarikat di Colombia. 342 00:16:59,290 --> 00:17:01,000 Saya akan membawa anda kepada mereka laman web cepat sebenar. 343 00:17:01,000 --> 00:17:04,550 344 00:17:04,550 --> 00:17:05,400 >> Jadi mereka menggunakan Joomla. 345 00:17:05,400 --> 00:17:08,630 Dan mereka telah tidak dikemaskini Joomla untuk tambahan terbaru. 346 00:17:08,630 --> 00:17:12,160 Dan sebagainya apabila kita telah mengambil melihat kod mereka, kami dapat benar-benar 347 00:17:12,160 --> 00:17:18,430 masuk ke dalam kod mereka dan mencuri semua Maklumat kad kredit bahawa mereka mempunyai, 348 00:17:18,430 --> 00:17:21,670 semua nombor kad kredit, nama, alamat. 349 00:17:21,670 --> 00:17:22,740 Dan ini adalah hanya - 350 00:17:22,740 --> 00:17:23,569 dan kod mereka adalah betul-betul halus. 351 00:17:23,569 --> 00:17:24,710 Mereka mempunyai kod besar. 352 00:17:24,710 --> 00:17:25,389 Ia adalah semua keselamatan. 353 00:17:25,389 --> 00:17:26,520 Mereka memeriksa semua pangkalan data. 354 00:17:26,520 --> 00:17:29,020 Mereka memastikan cross-site skrip adalah denda. 355 00:17:29,020 --> 00:17:34,390 >> Tetapi mereka menggunakan sesuatu yang tidak dikemaskini, yang tidak selamat. 356 00:17:34,390 --> 00:17:36,940 Dan supaya membawa mereka kepada - jadi anda semua pasti akan menggunakan lain 357 00:17:36,940 --> 00:17:40,650 kod, rangka kerja orang lain rakyat untuk membina laman web anda. 358 00:17:40,650 --> 00:17:43,860 Pastikan mereka selamat kerana kadang-kadang bukan kamu, salah satu yang 359 00:17:43,860 --> 00:17:44,480 membuat kesilapan. 360 00:17:44,480 --> 00:17:47,440 Tetapi orang lain membuat kesilapan, dan maka anda jatuh ke bawah kerana itu. 361 00:17:47,440 --> 00:17:51,190 362 00:17:51,190 --> 00:17:53,885 >> Kata laluan dan PII. 363 00:17:53,885 --> 00:17:56,820 Jadi kata laluan. 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 Mari kita lihat kata laluan cepat sebenar. 367 00:18:04,230 --> 00:18:04,590 OK. 368 00:18:04,590 --> 00:18:06,520 Sila beritahu saya bahawa semua orang menggunakan selamat - 369 00:18:06,520 --> 00:18:09,030 Saya berharap semua orang di sini menggunakan kata laluan yang selamat. 370 00:18:09,030 --> 00:18:12,890 Saya hanya membiarkan yang sebagai satu andaian. 371 00:18:12,890 --> 00:18:14,850 Jadi anda semua pasti akan menyimpan kata laluan untuk laman web anda. 372 00:18:14,850 --> 00:18:17,440 Anda akan membuat sesuatu seperti log masuk atau sesuatu seperti itu. 373 00:18:17,440 --> 00:18:19,610 Apa yang penting adalah untuk tidak menyimpan kata laluan dalam teks biasa. 374 00:18:19,610 --> 00:18:20,860 Ini adalah sangat penting. 375 00:18:20,860 --> 00:18:23,960 Anda tidak mahu untuk menyimpan kata laluan di dalam teks biasa. 376 00:18:23,960 --> 00:18:27,370 >> Dan anda pasti tidak benar-benar mahu menyimpannya dalam satu cara hash. 377 00:18:27,370 --> 00:18:32,440 Jadi apa yang salah satu cara hash adalah bahawa apabila anda menjana kata, apabila anda meletakkan ini 378 00:18:32,440 --> 00:18:36,200 perkataan ke dalam fungsi hash, ia akan menjana kembali semacam samar 379 00:18:36,200 --> 00:18:39,390 mesej atau set samar kunci. 380 00:18:39,390 --> 00:18:40,640 Saya akan menunjukkan kepada anda contoh. 381 00:18:40,640 --> 00:18:44,620 382 00:18:44,620 --> 00:18:50,250 Saya akan hash perkataan mereka password1. 383 00:18:50,250 --> 00:18:55,280 Hash MD5 Jadi akan kembali saya beberapa jenis maklumat pelik. 384 00:18:55,280 --> 00:18:59,140 >> Masalahnya ialah bahawa orang di luar sana yang suka pergi ke laman web yang mempunyai 385 00:18:59,140 --> 00:19:02,750 sudah digambarkan jenis semua Hash MD5. 386 00:19:02,750 --> 00:19:06,030 Apa yang mereka sedang mereka duduk di mereka komputer, dan mereka dicincang setiap 387 00:19:06,030 --> 00:19:09,660 perkataan mungkin tunggal di luar sana sehingga mereka mendapat jenis apa ini. 388 00:19:09,660 --> 00:19:11,420 Jika saya melihat ini sehingga - 389 00:19:11,420 --> 00:19:12,420 Saya hanya meraih hash ini. 390 00:19:12,420 --> 00:19:14,120 Jika saya mendapat hash ini dari - 391 00:19:14,120 --> 00:19:17,470 jika saya pergi ke laman web, dan saya dapati hash ini kerana saya pergi ke 392 00:19:17,470 --> 00:19:24,100 pangkalan data, dan saya melihat ia, seseorang sudah digambarkan ia keluar bagi saya. 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 Jadi orang-orang duduk, dan apa sahaja MD5 hash yang anda masukkan ke dalam, mereka akan 396 00:19:35,030 --> 00:19:37,760 kembali kepada kamu tentang yang yang perkataan. 397 00:19:37,760 --> 00:19:39,800 Jika saya hash perkataan lain, seperti - 398 00:19:39,800 --> 00:19:42,410 Saya tidak tahu - 399 00:19:42,410 --> 00:19:43,490 trees2. 400 00:19:43,490 --> 00:19:46,050 Saya tidak mahu menjadi kecewa oleh carian Google saya. 401 00:19:46,050 --> 00:19:49,820 402 00:19:49,820 --> 00:19:52,780 Terdapat ia, trees2. 403 00:19:52,780 --> 00:19:55,930 Jadi banyak laman web masih menggunakan MD5 hash. 404 00:19:55,930 --> 00:19:57,730 Mereka berkata, oh, ia selamat. 405 00:19:57,730 --> 00:19:58,570 Kami tidak menyimpan dalam teks biasa. 406 00:19:58,570 --> 00:19:59,740 Kami mempunyai hash MD5 ini. 407 00:19:59,740 --> 00:20:01,880 Dan semua saya perlu lakukan adalah hanya Google nombor. 408 00:20:01,880 --> 00:20:03,940 >> Saya tidak perlu mengira diri saya. 409 00:20:03,940 --> 00:20:06,790 Saya hanya boleh Google, dan seseorang sudah ia lakukan untuk saya. 410 00:20:06,790 --> 00:20:08,010 Berikut adalah sekumpulan mereka. 411 00:20:08,010 --> 00:20:09,260 Berikut adalah sekumpulan kata laluan. 412 00:20:09,260 --> 00:20:13,890 413 00:20:13,890 --> 00:20:18,680 Jadi pastinya tidak menggunakan MD5 hash, kerana semua yang anda perlu 414 00:20:18,680 --> 00:20:19,140 lakukan adalah Google ia. 415 00:20:19,140 --> 00:20:20,390 Jadi, apa yang anda mahu menggunakan bukan? 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 Sesuatu yang dinamakan pengasinan. 419 00:20:31,260 --> 00:20:32,460 Jadi apa pengasinan adalah - 420 00:20:32,460 --> 00:20:36,280 anda semua masih ingat ketika kami berada bercakap tentang rawak dalam - 421 00:20:36,280 --> 00:20:37,920 Saya tidak pasti apa yang ia adalah Serangga - 422 00:20:37,920 --> 00:20:41,140 telah ia Serangga sana atau empat? 423 00:20:41,140 --> 00:20:45,150 >> Kami bercakap tentang mencari jarum dalam sisa rumput kering itu. 424 00:20:45,150 --> 00:20:48,480 Dan dalam Serangga, ia berkata anda boleh sebenarnya memikirkan apa yang rawak 425 00:20:48,480 --> 00:20:51,840 menjana kerana seseorang sudah berlari rawak satu juta kali dan hanya 426 00:20:51,840 --> 00:20:53,230 jenis membentuk apa yang mereka menjana. 427 00:20:53,230 --> 00:20:55,840 Apa yang anda mahu lakukan adalah dimasukkan ke dalam input. 428 00:20:55,840 --> 00:20:57,130 Jadi itulah yang pengasinan jenis adalah. 429 00:20:57,130 --> 00:21:00,900 Mereka sudah menemukan apa pengasinan pulangan bagi setiap kerja. 430 00:21:00,900 --> 00:21:04,750 >> Jadi apa pengasinan tidak adalah anda masukkan ke dalam garam. 431 00:21:04,750 --> 00:21:06,160 Anda masukkan ke dalam perkataan tertentu. 432 00:21:06,160 --> 00:21:09,720 Dan ia akan hash perkataan yang bergantung pada apa yang anda masukkan di sini. 433 00:21:09,720 --> 00:21:13,570 Jadi jika saya hash kata laluan satu dengan ini ayat, ia akan hash 434 00:21:13,570 --> 00:21:17,180 berbeza jika saya hash password1 dengan suatu hukuman yang lain. 435 00:21:17,180 --> 00:21:21,670 Ia semacam memberikan ia tempat untuk mula untuk hashing bermula. 436 00:21:21,670 --> 00:21:25,970 Jadi ia banyak sukar untuk mengira, tetapi anda masih boleh mengira, terutama 437 00:21:25,970 --> 00:21:26,830 jika anda menggunakan garam yang tidak baik. 438 00:21:26,830 --> 00:21:29,650 >> Orang telah juga digambarkan garam biasa dan digambarkan 439 00:21:29,650 --> 00:21:31,500 apa bahawa ia adalah. 440 00:21:31,500 --> 00:21:34,980 Garam rawak adalah lebih baik, tetapi cara terbaik adalah dengan menggunakan 441 00:21:34,980 --> 00:21:38,160 sesuatu yang dinamakan crypt. 442 00:21:38,160 --> 00:21:40,480 Dan apa yang kubur membolehkan anda jangan - jadi fungsi-fungsi ini 443 00:21:40,480 --> 00:21:41,820 telah dibina untuk anda. 444 00:21:41,820 --> 00:21:44,910 Ramai orang lupa bahawa, atau mereka lupa untuk menggunakannya. 445 00:21:44,910 --> 00:21:54,520 Tetapi jika saya mencari kubur PHP, kubur sudah kembali rentetan hash untuk saya. 446 00:21:54,520 --> 00:21:58,790 Dan ia sebenarnya garam ia banyak kali dan Hash ia banyak kali. 447 00:21:58,790 --> 00:22:00,070 >> Oleh itu, kita tidak perlu melakukan ini. 448 00:22:00,070 --> 00:22:04,790 Jadi apa yang anda perlu lakukan adalah hantar ke dalam kubur. 449 00:22:04,790 --> 00:22:08,170 Dan ia akan mewujudkan hash besar tanpa anda perlu bimbang tentang garam 450 00:22:08,170 --> 00:22:08,990 atau apa-apa. 451 00:22:08,990 --> 00:22:12,000 Kerana jika anda adalah untuk garam, anda perlu untuk mengingati apa yang anda digunakan garam 452 00:22:12,000 --> 00:22:13,800 kerana jika tidak, anda tidak boleh mendapatkan anda kata laluan kembali tanpa 453 00:22:13,800 --> 00:22:15,760 garam yang anda gunakan. 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 >> Dan juga boleh dikenal pasti peribadi maklumat. 457 00:22:23,150 --> 00:22:26,730 Keselamatan supaya sosial, kad kredit - yang cukup jelas. 458 00:22:26,730 --> 00:22:31,880 Tetapi kadang-kadang orang lupa cara ia kerja-kerja, berapa banyak maklumat yang anda 459 00:22:31,880 --> 00:22:35,690 sebenarnya perlu mencari beberapa satu orang? 460 00:22:35,690 --> 00:22:37,740 Seseorang melakukan kajian mengenai cara yang ini kembali. 461 00:22:37,740 --> 00:22:40,870 Dan ia adalah seperti, jika anda mempunyai nama penuh, anda tidak dapat mencari 462 00:22:40,870 --> 00:22:41,610 seseorang yang mudah. 463 00:22:41,610 --> 00:22:43,900 Tetapi bagaimana jika anda mempunyai nama penuh dan tarikh kelahiran mereka? 464 00:22:43,900 --> 00:22:47,770 Adakah itu cukup untuk mengenal pasti seseorang khusus? 465 00:22:47,770 --> 00:22:52,760 >> Bagaimana jika anda mempunyai nama dan mereka yang alamat jalan yang mereka hidup di? 466 00:22:52,760 --> 00:22:55,110 Adakah itu cukup untuk mencari seseorang? 467 00:22:55,110 --> 00:23:02,490 Dan itu apabila mereka mempersoalkan, apakah maklumat pengenalan peribadi, dan 468 00:23:02,490 --> 00:23:05,360 apa yang anda perlu bimbang tentang tidak memberikan? 469 00:23:05,360 --> 00:23:08,770 Jika anda memberi dikenal pasti peribadi maklumat bahawa seseorang memberikan anda, 470 00:23:08,770 --> 00:23:11,420 anda berpotensi mendapatkan didakwa. 471 00:23:11,420 --> 00:23:12,610 Dan kita pasti tidak mahu itu. 472 00:23:12,610 --> 00:23:14,955 >> Oleh itu, apabila anda meletakkan laman web anda keluar, dan anda telah benar-benar sejuk 473 00:23:14,955 --> 00:23:17,230 reka bentuk, diharapkan anda dibuat projek akhir hebat. 474 00:23:17,230 --> 00:23:18,370 Apa-apa jenis anda mahu meletakkannya di luar sana. 475 00:23:18,370 --> 00:23:21,420 Anda ingin memastikan bahawa apa sahaja anda mengambil dari pengguna, jika ia 476 00:23:21,420 --> 00:23:25,310 maklumat pengenalan peribadi, anda ingin memastikan anda benar-benar menjadi 477 00:23:25,310 --> 00:23:26,560 berhati-hati dengannya. 478 00:23:26,560 --> 00:23:29,670 479 00:23:29,670 --> 00:23:31,080 >> Suntikan Shell. 480 00:23:31,080 --> 00:23:31,350 OK. 481 00:23:31,350 --> 00:23:37,590 Suntikan Shell membolehkan penceroboh mendapat akses kepada baris arahan sebenar anda 482 00:23:37,590 --> 00:23:39,660 dalam pelayan anda. 483 00:23:39,660 --> 00:23:44,060 Dan sebagainya dia mampu untuk menjalankan kod bahawa anda tidak dapat mengawal. 484 00:23:44,060 --> 00:23:49,560 Mari kita mengambil satu contoh ini tali cantik di sini. 485 00:23:49,560 --> 00:23:55,570 Jika kita pergi ke laman web ini sekali lagi, saya akan pergi ke dalam suntikan kod. 486 00:23:55,570 --> 00:23:58,910 Jadi apa ini tidak adalah - 487 00:23:58,910 --> 00:24:00,420 ia juga apa yang kami melihat sebelum ini. 488 00:24:00,420 --> 00:24:11,200 Kami membiarkan pengguna dimasukkan ke dalam apa sahaja yang dia mahu, dan ia akan mencetak 489 00:24:11,200 --> 00:24:12,220 apa sahaja yang anda mahu. 490 00:24:12,220 --> 00:24:13,890 >> Jadi, saya akan meletakkan panggilan. 491 00:24:13,890 --> 00:24:15,540 Apa yang dilakukan adalah - 492 00:24:15,540 --> 00:24:16,940 ia akan bermula dengan concatenating. 493 00:24:16,940 --> 00:24:19,520 Jadi ia akan membiarkan saya menjalankan apa sahaja arahan berjalan orang itu 494 00:24:19,520 --> 00:24:21,500 sebelum dan arahan saya. 495 00:24:21,500 --> 00:24:23,980 Dan saya menjalankan perintah sistem. 496 00:24:23,980 --> 00:24:27,310 Dan ini tali terakhir adalah - ingat apa yang saya bercakap dengan anda semua tentang, 497 00:24:27,310 --> 00:24:31,725 manakala anda perlu mengekod ia dalam kaedah URL. 498 00:24:31,725 --> 00:24:35,010 499 00:24:35,010 --> 00:24:36,992 Jika saya berjalan ini sekarang - 500 00:24:36,992 --> 00:24:39,150 Saya akan menunjukkan kepada anda di sini - 501 00:24:39,150 --> 00:24:41,100 anda akan melihat bahawa saya berakhir sehingga berjalan perintah. 502 00:24:41,100 --> 00:24:45,700 503 00:24:45,700 --> 00:24:49,320 >> Ini sebenarnya pelayan sebenar bahawa laman web saya berjalan di. 504 00:24:49,320 --> 00:24:55,840 505 00:24:55,840 --> 00:24:58,510 Maka itu kita tidak mahu itu, kerana saya boleh berjalan - 506 00:24:58,510 --> 00:25:00,320 pelayan ini tidak lombong. 507 00:25:00,320 --> 00:25:04,030 Jadi, saya tidak mahu merosakkan beliau kakak, pelayan Marcus ini. 508 00:25:04,030 --> 00:25:07,470 Tetapi anda boleh menjalankan lebih arahan yang berbahaya. 509 00:25:07,470 --> 00:25:11,885 Dan berpotensi, anda boleh memadam fail, keluarkan direktori. 510 00:25:11,885 --> 00:25:14,390 511 00:25:14,390 --> 00:25:17,970 Saya boleh membuang direktori tertentu jika Saya mahu, tetapi saya tidak mahu 512 00:25:17,970 --> 00:25:19,530 untuk berbuat demikian kepada Marcus. 513 00:25:19,530 --> 00:25:20,420 Dia seorang lelaki yang baik. 514 00:25:20,420 --> 00:25:21,470 Dia membiarkan saya meminjam pelayan beliau. 515 00:25:21,470 --> 00:25:24,620 Jadi saya akan membenarkan beliau off pada yang baik. 516 00:25:24,620 --> 00:25:32,280 >> Jadi apa yang kita tidak mahu untuk digunakan - kita tidak mahu menggunakan eval atau sistem. 517 00:25:32,280 --> 00:25:34,755 Eval atau sistem membolehkan kita untuk menjadikan panggilan sistem. 518 00:25:34,755 --> 00:25:37,410 519 00:25:37,410 --> 00:25:38,410 Cara eval menilai. 520 00:25:38,410 --> 00:25:40,790 Sistem bermakna apa yang saya berlari. 521 00:25:40,790 --> 00:25:42,490 Ia menjalankan sesuatu dalam sistem. 522 00:25:42,490 --> 00:25:46,730 Tetapi kita boleh mengharamkan perkara-perkara ini dalam PHP supaya kita tidak menggunakannya. 523 00:25:46,730 --> 00:25:47,400 Dan fail muat naik. 524 00:25:47,400 --> 00:25:49,180 Saya akan melakukan sesuatu yang menggerunkan perkara dengan muat naik fail. 525 00:25:49,180 --> 00:25:52,740 Tetapi seperti saya memberitahu anda semua, fail saya perkara upload tidak berfungsi. 526 00:25:52,740 --> 00:25:54,590 Jika saya masukkan gambar sekarang - 527 00:25:54,590 --> 00:25:57,120 528 00:25:57,120 --> 00:26:00,830 jika saya memuat naik fail, dan ia gambaran yang - 529 00:26:00,830 --> 00:26:03,180 anda mempunyai perkara upload itulah gambar. 530 00:26:03,180 --> 00:26:03,660 Itu denda. 531 00:26:03,660 --> 00:26:04,280 Tiada apa-apa yang berlaku. 532 00:26:04,280 --> 00:26:10,840 >> Tetapi jika anda mempunyai fail memuat naik, untuk Sebagai contoh, dan pengguna sebenarnya Gambar 533 00:26:10,840 --> 00:26:19,220 fail PHP atau fail exe atau sesuatu seperti itu, maka anda boleh berpotensi 534 00:26:19,220 --> 00:26:19,740 mempunyai masalah. 535 00:26:19,740 --> 00:26:21,390 Ini bekerja sebelum ini. 536 00:26:21,390 --> 00:26:25,202 Malangnya bagi saya, ia adalah tidak berfungsi lagi. 537 00:26:25,202 --> 00:26:30,230 Jika saya, sebagai contoh, memuat naik fail ini, saya tidak mendapat kebenaran untuk memuat naik 538 00:26:30,230 --> 00:26:33,400 fail kerana pelayan bukan saya. 539 00:26:33,400 --> 00:26:38,670 Jadi lelaki itu benar-benar pintar. 540 00:26:38,670 --> 00:26:39,610 >> Maka itu kita tidak mahu - 541 00:26:39,610 --> 00:26:40,130 Saya akan menunjukkan kepada anda semua - 542 00:26:40,130 --> 00:26:41,840 OK, ini adalah beberapa alat benar-benar sejuk. 543 00:26:41,840 --> 00:26:45,100 Jadi ini - 544 00:26:45,100 --> 00:26:47,715 pergi ke dalam - jika anda lelaki itu mempunyai Firefox - diharapkan anda lakukan. 545 00:26:47,715 --> 00:26:54,260 Terdapat dua add Firefox dipanggil SQL Uniject Saya dan Cross-Site Script Me. 546 00:26:54,260 --> 00:26:56,870 Mereka membuka sedikit sebelah bar di sebelah. 547 00:26:56,870 --> 00:27:01,480 Dan jika saya pergi ke CS60 sebagai contoh - 548 00:27:01,480 --> 00:27:04,210 jadi apa yang ia adalah ia kelihatan untuk semua bentuk-bentuk yang - 549 00:27:04,210 --> 00:27:07,220 550 00:27:07,220 --> 00:27:08,760 mudah-mudahan, saya tidak akan mendapatkan dalam masalah ini. 551 00:27:08,760 --> 00:27:09,190 >> Tetapi OK. 552 00:27:09,190 --> 00:27:12,600 Berikut adalah sistem pin. 553 00:27:12,600 --> 00:27:18,946 Oleh itu, apabila saya mula mencari lubang pada sistem, perkara pertama yang saya lakukan adalah 554 00:27:18,946 --> 00:27:21,820 membuka sedikit yang indah ini alat di sebelah. 555 00:27:21,820 --> 00:27:24,160 Dan saya akan menguji bentuk dengan serangan automatik. 556 00:27:24,160 --> 00:27:28,510 Dan jadi apa ini adalah ia akan perlahan-lahan membuka sekumpulan pelayar. 557 00:27:28,510 --> 00:27:29,930 Berikut adalah sekumpulan pelayar. 558 00:27:29,930 --> 00:27:33,320 Dan ia cuba setiap gabungan tunggal daripada cross-site scripting 559 00:27:33,320 --> 00:27:37,380 bahawa terdapat mungkin iaitu, jika yang anda lihat di sebelah. 560 00:27:37,380 --> 00:27:42,080 >> Dan ia akan memberikan saya hasil yang jenis apa jawapannya. 561 00:27:42,080 --> 00:27:42,860 Semua lulus. 562 00:27:42,860 --> 00:27:43,910 Jelas sekali, mereka semua lulus. 563 00:27:43,910 --> 00:27:46,190 Maksud saya, mereka benar-benar pintar orang di atas sana. 564 00:27:46,190 --> 00:27:48,010 Tetapi jika aku berjalan - 565 00:27:48,010 --> 00:27:52,050 Saya mempunyai kali sebelum apabila saya berjalan ini projek-projek akhir pelajar. 566 00:27:52,050 --> 00:27:56,080 Saya hanya menjalankan SQL Suntik Me dengan semua serangan yang berbeza. 567 00:27:56,080 --> 00:28:00,080 Dan ia cuba untuk SQL Uniject server pin ini. 568 00:28:00,080 --> 00:28:03,590 Jadi jika kita tatal ke bawah, untuk Sebagai contoh, ia berkata - 569 00:28:03,590 --> 00:28:04,960 ini adalah baik jika ia kembali. 570 00:28:04,960 --> 00:28:08,250 >> Jadi ia diuji beberapa nilai-nilai tertentu. 571 00:28:08,250 --> 00:28:11,170 Dan pelayan itu kembali yang kod yang negatif. 572 00:28:11,170 --> 00:28:11,780 Keluarkan buat sementara waktu. 573 00:28:11,780 --> 00:28:13,030 Ini adalah baik. 574 00:28:13,030 --> 00:28:17,050 575 00:28:17,050 --> 00:28:20,750 Ia cuba semua ujian ini. 576 00:28:20,750 --> 00:28:21,790 Jadi, anda hanya boleh berjalan - 577 00:28:21,790 --> 00:28:27,860 Saya ingin saya boleh mencari laman web sebenar cepat yang akan membenarkan saya - 578 00:28:27,860 --> 00:28:29,110 mungkin kedai CS50 itu. 579 00:28:29,110 --> 00:28:43,890 580 00:28:43,890 --> 00:28:45,711 >> Wow, ini akan mengambil terlalu lama. 581 00:28:45,711 --> 00:28:53,090 582 00:28:53,090 --> 00:28:55,130 Saya akan memberitahu ujian pertama tidak selesai betul. 583 00:28:55,130 --> 00:28:57,330 Jadi ia mengadu. 584 00:28:57,330 --> 00:28:58,470 Jadi ini adalah tiga perkara. 585 00:28:58,470 --> 00:29:00,430 Alat ini adalah percuma. 586 00:29:00,430 --> 00:29:03,960 Anda boleh memuat turun mereka dan menjalankan mereka di laman web anda, dan ia akan memberitahu anda jika 587 00:29:03,960 --> 00:29:06,650 anda skrip cross-site, jika anda mempunyai SQL, jika anda mempunyai 588 00:29:06,650 --> 00:29:07,900 sesuatu yang sebagainya. 589 00:29:07,900 --> 00:29:12,230 590 00:29:12,230 --> 00:29:14,500 Saya jenis kerunsingan sehingga. 591 00:29:14,500 --> 00:29:15,550 >> Apa yang penting - 592 00:29:15,550 --> 00:29:17,900 OK, jadi tidak pernah mempercayai pengguna. 593 00:29:17,900 --> 00:29:21,920 Apa sahaja input pengguna untuk anda, membuat pasti anda membersihkan, anda membersihkannya, 594 00:29:21,920 --> 00:29:25,300 anda menyemak untuk perkara-perkara yang betul, bahawa ia memberi anda apa yang anda 595 00:29:25,300 --> 00:29:28,240 mahu dia memberi anda. 596 00:29:28,240 --> 00:29:32,460 Sentiasa dikemas kini di apa rangka kerja bahawa anda benar-benar menggunakan. 597 00:29:32,460 --> 00:29:34,630 Jika anda menggunakan sesuatu seperti Bootstrap - 598 00:29:34,630 --> 00:29:36,340 Saya tahu anda semua akan menggunakan Bootstrap kerana dia akan pergi 599 00:29:36,340 --> 00:29:38,140 lebih ini tidak lama lagi di dalam kelas - 600 00:29:38,140 --> 00:29:43,120 dan Wordpress atau sesuatu seperti itu, biasanya ini boleh digodam. 601 00:29:43,120 --> 00:29:44,770 >> Dan kemudian anda tidak tahu. 602 00:29:44,770 --> 00:29:45,800 Anda hanya menjalankan laman web anda. 603 00:29:45,800 --> 00:29:47,360 Dan ia benar-benar selamat. 604 00:29:47,360 --> 00:29:51,730 Dan anda turun. 605 00:29:51,730 --> 00:29:54,000 Jadi saya benar-benar memancing awal. 606 00:29:54,000 --> 00:29:55,770 Tetapi saya ingin mengucapkan terima kasih Pentest Labs. 607 00:29:55,770 --> 00:29:58,140 Saya akan menunjukkan kepada anda semua sesuatu dipanggil Pentest Labs. 608 00:29:58,140 --> 00:30:05,000 Jika anda semua benar-benar berminat apa keselamatan benar-benar, ada 609 00:30:05,000 --> 00:30:07,300 laman web dipanggil Pentest Labs jika kamu pergi kepadanya sekarang. 610 00:30:07,300 --> 00:30:10,730 Oh, baik, itu bukan ia. 611 00:30:10,730 --> 00:30:12,030 Saya hanya akan berjalan seperti ini. 612 00:30:12,030 --> 00:30:14,400 Google memberitahu saya jawapannya. 613 00:30:14,400 --> 00:30:16,590 >> OK. 614 00:30:16,590 --> 00:30:19,030 Dan ia mengajar menggunakan anda - jadi ia berkata, belajar penembusan web 615 00:30:19,030 --> 00:30:21,060 menguji dengan cara yang betul. 616 00:30:21,060 --> 00:30:23,650 Ia mengajar anda - 617 00:30:23,650 --> 00:30:25,150 mudah-mudahan, anda seorang yang beretika. 618 00:30:25,150 --> 00:30:29,200 Tetapi ia mengajar anda bagaimana anda boleh melihat bagaimana anda boleh mendapatkan di dalam laman web. 619 00:30:29,200 --> 00:30:31,130 Dan jika anda belajar bagaimana anda boleh mendapatkan di dalam laman web, anda boleh belajar bagaimana untuk 620 00:30:31,130 --> 00:30:34,960 melindungi diri anda daripada mendapat di dalam laman web. 621 00:30:34,960 --> 00:30:39,100 Biar saya mengezum masuk kerana mungkin kamu tidak melihat hak ini. 622 00:30:39,100 --> 00:30:46,350 >> Dari suntikan SQL shell, jadi jenis bagaimana saya boleh mendapatkan dari SQL 623 00:30:46,350 --> 00:30:48,530 suntikan shell. 624 00:30:48,530 --> 00:30:53,890 Dan anda memuat turun mesin maya ini. 625 00:30:53,890 --> 00:30:55,690 Dan mesin maya sudah datang dengan laman web yang anda 626 00:30:55,690 --> 00:30:56,780 akan cuba ia. 627 00:30:56,780 --> 00:30:58,030 Anda memuat turun PDF ini. 628 00:30:58,030 --> 00:31:03,610 629 00:31:03,610 --> 00:31:08,370 Dan ia akan menunjukkan kepada anda selaras dengan garis-apa yang yang anda perlu lakukan, apa yang anda lihat. 630 00:31:08,370 --> 00:31:14,560 Inilah yang sebenarnya penyerang tidak untuk masuk ke dalam laman web. 631 00:31:14,560 --> 00:31:15,750 >> Dan beberapa barangan ini adalah rumit. 632 00:31:15,750 --> 00:31:17,520 Saya ingin saya boleh pergi ke lebih perkara dengan anda semua. 633 00:31:17,520 --> 00:31:21,090 Tetapi saya bimbang bahawa kalian tidak mempunyai benar-benar - 634 00:31:21,090 --> 00:31:23,090 ini adalah apa yang saya pergi lebih dengan anda semua, ujian web 635 00:31:23,090 --> 00:31:26,830 untuk ujian penembusan. 636 00:31:26,830 --> 00:31:33,540 Tidak benar-benar tahu apa yang SQL dan apa - 637 00:31:33,540 --> 00:31:35,960 Seminar Carl Jackson adalah hebat juga. 638 00:31:35,960 --> 00:31:37,360 Kamu semua tidak tahu jenis apa ini. 639 00:31:37,360 --> 00:31:39,450 Tetapi jika anda pergi ke laman web ini, dan anda turun tutorial ini dan ini 640 00:31:39,450 --> 00:31:43,290 PDF, anda boleh lihat jenis apa bidang keselamatan benar-benar tidak 641 00:31:43,290 --> 00:31:46,940 dalam ujian penembusan, lihat bagaimana anda boleh masuk ke dalam laman web dan melindungi 642 00:31:46,940 --> 00:31:48,020 diri anda daripadanya. 643 00:31:48,020 --> 00:31:56,360 >> Jadi, jika saya membuat gambaran super cepat, ia akan mengelakkan cross-site scripting. 644 00:31:56,360 --> 00:32:00,160 Anda mahu menggunakan htmlspecialchars setiap masa sesuatu input pengguna. 645 00:32:00,160 --> 00:32:01,580 Mencegah suntikan SQL. 646 00:32:01,580 --> 00:32:04,510 Jika anda berbuat demikian, anda sudah lebih baik daripada Harvard adalah 647 00:32:04,510 --> 00:32:06,530 apabila mereka mendapat dilanggar. 648 00:32:06,530 --> 00:32:10,510 Dan pastikan kata laluan anda tidak berada dalam teks biasa. 649 00:32:10,510 --> 00:32:16,220 Pastikan anda tidak hanya satu cara hash mereka tetapi yang anda gunakan kubur, PHP 650 00:32:16,220 --> 00:32:18,670 fungsi yang saya menunjukkan kamu. 651 00:32:18,670 --> 00:32:20,060 Dengan cara itu, anda perlu menjadi baik. 652 00:32:20,060 --> 00:32:25,830 >> Juga, jika rakan-rakan anda memberitahu anda, jalankan Sql Suntik Me di laman web mereka. 653 00:32:25,830 --> 00:32:28,140 Jalankan cross-site scripting di laman web mereka. 654 00:32:28,140 --> 00:32:33,720 Dan anda akan melihat banyak laman web ini mempunyai satu tan kelemahan. 655 00:32:33,720 --> 00:32:40,400 Ia luar biasa berapa banyak orang lupa untuk membersihkan pangkalan data mereka atau membuat 656 00:32:40,400 --> 00:32:46,340 pasti apa yang memasukkan orang itu bukan kod skrip. 657 00:32:46,340 --> 00:32:47,200 OK. 658 00:32:47,200 --> 00:32:49,182 Saya jenis benar-benar berakhir awal. 659 00:32:49,182 --> 00:32:56,510 Dan sesiapa yang mempunyai apa-apa soalan mengenai apa-apa, anda boleh menembak saya soalan. 660 00:32:56,510 --> 00:32:56,630 Yeah. 661 00:32:56,630 --> 00:32:56,970 Pergi, pergi. 662 00:32:56,970 --> 00:32:59,846 >> PENONTON: Saya hanya ingin bertanya, anda boleh menjelaskan bagaimana fail 663 00:32:59,846 --> 00:33:03,160 memuat naik betul-betul kerja-kerja. 664 00:33:03,160 --> 00:33:03,480 >> Luciano Arango: Yeah. 665 00:33:03,480 --> 00:33:06,350 Jadi biarlah saya tunjukkan kepada anda fail memuat naik cepat sebenar. 666 00:33:06,350 --> 00:33:11,300 Jadi upload fail - 667 00:33:11,300 --> 00:33:14,500 masalah akal naik fail sekarang ialah - 668 00:33:14,500 --> 00:33:18,541 Saya akan membuka kod supaya anda lelaki melihat kod di sebalik tabir. 669 00:33:18,541 --> 00:33:22,390 670 00:33:22,390 --> 00:33:24,305 Dan ia dimuat naik. 671 00:33:24,305 --> 00:33:28,030 672 00:33:28,030 --> 00:33:31,560 Berikut adalah kod untuk pemuat naik fail ini. 673 00:33:31,560 --> 00:33:33,980 >> Kami cuba untuk pergi ke ini direktori di sini. 674 00:33:33,980 --> 00:33:37,380 675 00:33:37,380 --> 00:33:44,880 Dan kita cuba, sebaik sahaja kami input fail, fail isset - jadi apabila terdapat 676 00:33:44,880 --> 00:33:50,900 memfailkan di FILES, imej itu, maka kita cuba untuk bergerak di sini. 677 00:33:50,900 --> 00:33:51,910 Kami merebut fail di sini. 678 00:33:51,910 --> 00:33:58,350 Kaedah ini adalah POST, jenis, imej, fail. 679 00:33:58,350 --> 00:33:59,630 Dan kita menghantar fail ini. 680 00:33:59,630 --> 00:34:03,910 Dan kemudian sekali kita mendapatkannya, jadi sekali fail mempunyai imej, kita sedang berusaha untuk menghantarnya 681 00:34:03,910 --> 00:34:05,060 untuk direktori ini. 682 00:34:05,060 --> 00:34:09,814 >> Masalahnya ialah bahawa laman web yang tidak membenarkan saya pergi ke direktori ini, 683 00:34:09,814 --> 00:34:12,239 kerana ia tidak mahu saya kembali. 684 00:34:12,239 --> 00:34:13,489 Ia tidak mahu saya pergi - 685 00:34:13,489 --> 00:34:15,620 686 00:34:15,620 --> 00:34:17,070 Saya perlu pergi - jadi inilah muat naik. 687 00:34:17,070 --> 00:34:17,639 Berikut adalah imej. 688 00:34:17,639 --> 00:34:21,780 Saya perlu pergi semua perjalanan pulang ke bermula dan memasukkannya ke dalam sana dan kemudian 689 00:34:21,780 --> 00:34:23,820 pergi dan meletakkan ia ke dalam direktori. 690 00:34:23,820 --> 00:34:30,000 Jadi, jika saya berlari tetingkap terminal, dan saya mahu memindahkan fail - 691 00:34:30,000 --> 00:34:30,409 [Didengar] 692 00:34:30,409 --> 00:34:32,159 boleh melihatnya. 693 00:34:32,159 --> 00:34:37,940 Jika saya mahu memindahkan fail, saya mempunyai untuk meletakkan nama fail dan kemudian 694 00:34:37,940 --> 00:34:40,860 jalan lengkap saya mahu hantar ke. 695 00:34:40,860 --> 00:34:45,110 >> Dan maka pelayan tidak membiarkan saya kembali. 696 00:34:45,110 --> 00:34:46,929 Dan jadi ia tidak membiarkan saya dapat fail itu. 697 00:34:46,929 --> 00:34:47,670 Tetapi biasanya - 698 00:34:47,670 --> 00:34:49,360 jadi ada kod untuk memuat naik fail. 699 00:34:49,360 --> 00:34:52,260 Jadi biasanya apa yang akan berlaku ialah bahawa orang tidak memeriksa jika fail saya 700 00:34:52,260 --> 00:34:57,920 berakhir dengan. jpeg, jadi saya mahu untuk memeriksa. 701 00:34:57,920 --> 00:35:00,054 Izinkan saya membuka contoh terlalu nyata cepat. 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 Orang ini betul - 705 00:35:09,230 --> 00:35:11,980 jadi contoh dua adalah memeriksa jika preg_match - 706 00:35:11,980 --> 00:35:14,180 di sini ia adalah di sini - 707 00:35:14,180 --> 00:35:19,660 memastikan yang berakhir dengan PHP, yang baik. 708 00:35:19,660 --> 00:35:20,580 Ini adalah baik. 709 00:35:20,580 --> 00:35:22,820 Tetapi ada besar sebenar masalah dengan ini. 710 00:35:22,820 --> 00:35:24,600 Ini adalah baik. 711 00:35:24,600 --> 00:35:44,190 Tetapi jika aku menumpangkan fail yang dipanggil myfavoritepicture.php.jpeg, saya boleh 712 00:35:44,190 --> 00:35:50,060 masih berpotensi menghilangkan jpeg dan menjalankan it.k Yang PHP ini berbahaya. 713 00:35:50,060 --> 00:35:53,850 Anda tidak mahu orang yang dapat untuk menjalankan kod di laman web anda. 714 00:35:53,850 --> 00:35:55,750 >> Tetapi. Jpeg membolehkan ia lulus. 715 00:35:55,750 --> 00:36:00,720 Idea ini adalah apa yang anda benar-benar mahu melakukan tidak mengambil gambar, A. Tetapi, OK, apa yang 716 00:36:00,720 --> 00:36:07,500 anda benar-benar mahu lakukan adalah memastikan bahawa anda membaca ke atas seluruh dunia. 717 00:36:07,500 --> 00:36:08,720 Dan tiada apa-apa. Php di dalamnya. 718 00:36:08,720 --> 00:36:10,500 Tidak ada. Php dalam nama fail keseluruhan. 719 00:36:10,500 --> 00:36:12,780 >> PENONTON: Tetapi anda boleh meletakkan. jpeg pada akhirnya. 720 00:36:12,780 --> 00:36:15,830 Pelayan masih menjalankan kod. 721 00:36:15,830 --> 00:36:16,870 >> Luciano Arango: Tidak, ia tidak akan dijalankan pada permulaan. 722 00:36:16,870 --> 00:36:22,310 Anda perlu kembali dan cuba untuk melihat jika anda boleh - 723 00:36:22,310 --> 00:36:24,210 >> PENONTON: Oleh itu, kita perlu - 724 00:36:24,210 --> 00:36:26,020 OK, satu lagi set yang melibatkan - 725 00:36:26,020 --> 00:36:26,936 >> Luciano Arango: Yeah. 726 00:36:26,936 --> 00:36:29,230 >> PENONTON: 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 Apa-apa soalan lain? 730 00:36:32,865 --> 00:36:33,180 OK. 731 00:36:33,180 --> 00:36:37,350 Saya akan meninggalkan ini dan menyusun daripada cuba untuk melihat jika anda semua boleh - 732 00:36:37,350 --> 00:36:40,490 yang lain adalah lebih sedikit rumit kerana mereka memerlukan banyak 733 00:36:40,490 --> 00:36:44,050 ilmu SQL daripada sekadar pengetahuan permulaan web SQL adalah dan 734 00:36:44,050 --> 00:36:47,010 apa JavaScript. 735 00:36:47,010 --> 00:36:49,730 Tetapi saya akan cuba berbuat begitu, dan diharapkan anda semua akan belajar 736 00:36:49,730 --> 00:36:53,230 tentang perkara ini dan cuba untuk mengambil mengintip di apa yang anda boleh lakukan dan bagaimana banyak contoh 737 00:36:53,230 --> 00:36:54,420 anda boleh mendapatkan melalui. 738 00:36:54,420 --> 00:36:56,020 >> Sesiapa yang mempunyai apa-apa soalan tentang perkara ini? 739 00:36:56,020 --> 00:36:59,387 740 00:36:59,387 --> 00:37:00,350 Teruskan. 741 00:37:00,350 --> 00:37:01,170 Ya, menembak, menembak. 742 00:37:01,170 --> 00:37:01,580 Ya, teruskan. 743 00:37:01,580 --> 00:37:01,850 Teruskan. 744 00:37:01,850 --> 00:37:02,310 >> PENONTON: OK. 745 00:37:02,310 --> 00:37:08,870 Jadi saya mendengar tentang bagaimana Petikan Magic tidak cukup selamat. 746 00:37:08,870 --> 00:37:09,280 >> Luciano Arango: Apa - 747 00:37:09,280 --> 00:37:10,110 Petikan Magic? 748 00:37:10,110 --> 00:37:10,595 >> PENONTON: Yeah. 749 00:37:10,595 --> 00:37:15,445 Jadi ia menambahkan - jadi setiap kali anda input sesuatu, ia sentiasa menambah petikan. 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 >> PENONTON: Dan kemudian saya walaupun yang bekerja, tetapi kemudian saya diperiksa ia sehingga. 754 00:37:19,113 --> 00:37:21,648 Dan ia mengatakan ia tidak baik. 755 00:37:21,648 --> 00:37:23,050 Tetapi saya tidak pasti mengapa. 756 00:37:23,050 --> 00:37:23,360 >> Luciano Arango: Yeah. 757 00:37:23,360 --> 00:37:26,240 >> PENONTON: Jangan gunakan Petikan Magic, kerana ia tidak selamat. 758 00:37:26,240 --> 00:37:26,360 >> Luciano Arango: OK. 759 00:37:26,360 --> 00:37:31,735 Petikan Jadi Magic adalah apabila anda memasukkan SQL dan ia sudah menambah petikan untuk anda. 760 00:37:31,735 --> 00:37:33,520 >> PENONTON: Ia sentiasa menambah sebut harga sekitar apa sahaja yang anda meletakkan masuk 761 00:37:33,520 --> 00:37:34,210 >> Luciano Arango: Yeah. 762 00:37:34,210 --> 00:37:37,190 Jadi masalah dengan itu adalah bahawa - 763 00:37:37,190 --> 00:37:38,445 Saya akan lihat - 764 00:37:38,445 --> 00:37:41,390 >> PENONTON: Bagaimana ia memperoleh pernyataan SQL? 765 00:37:41,390 --> 00:37:44,690 Atau saya rasa ia boleh menjadi seperti quote pilih. 766 00:37:44,690 --> 00:37:49,030 >> Luciano Arango: Ya, anda perlu sebut baik untuk SQL. 767 00:37:49,030 --> 00:37:52,900 >> PENONTON: Tidak, tetapi pelayan tidak untuk anda. 768 00:37:52,900 --> 00:37:54,460 >> Luciano Arango: Ini petikan kecil di sini, ini sebut harga sedikit? 769 00:37:54,460 --> 00:37:55,670 >> PENONTON: Yeah. 770 00:37:55,670 --> 00:37:56,450 >> Luciano Arango: Yeah. 771 00:37:56,450 --> 00:37:59,860 Masalahnya ialah bahawa anda boleh komentar yang lepas - 772 00:37:59,860 --> 00:38:05,770 OK, jadi apa yang boleh saya lakukan ialah saya boleh memberi komen keluar - jadi mari kita lihat - biarlah saya 773 00:38:05,770 --> 00:38:07,920 membuka edit teks fail. 774 00:38:07,920 --> 00:38:09,610 Biar saya menyunting laman ini di sini secara langsung. 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 Bolehkah anda semua melihat bahawa dengan jelas? 778 00:38:23,710 --> 00:38:29,730 Apa yang boleh saya lakukan ialah saya boleh memberi komen keluar yang terakhir. 779 00:38:29,730 --> 00:38:32,190 Ini akan mengulas keluar yang terakhir. 780 00:38:32,190 --> 00:38:36,760 Dan kemudian saya akan meletakkan satu di sini, letakkan barangan semua berniat jahat di sini. 781 00:38:36,760 --> 00:38:39,840 782 00:38:39,840 --> 00:38:42,630 >> Sehingga pengguna sebenarnya memasukkan, bukan? 783 00:38:42,630 --> 00:38:45,230 Pengguna tidak memasukkan perkara, bukan? 784 00:38:45,230 --> 00:38:47,430 Ini adalah apa yang saya akan input orang yang cuba untuk masuk ke dalam. 785 00:38:47,430 --> 00:38:49,430 Saya akan dimasukkan ke dalam - 786 00:38:49,430 --> 00:38:59,290 787 00:38:59,290 --> 00:39:00,180 itulah salah satu tanda petikan. 788 00:39:00,180 --> 00:39:01,760 Ia hanya berlekuk-lekuk dengan tidak sengaja. 789 00:39:01,760 --> 00:39:15,080 790 00:39:15,080 --> 00:39:19,400 Kemudian apa kod adalah akan lakukan - 791 00:39:19,400 --> 00:39:20,190 maaf, saya akan mengambil ini keluar. 792 00:39:20,190 --> 00:39:22,170 Apa kod yang akan dilakukan ialah ia akan menambah yang pertama 793 00:39:22,170 --> 00:39:24,030 sebut harga menandakan sini. 794 00:39:24,030 --> 00:39:26,040 Dan ia akan menambah terakhir Tanda petikan juga. 795 00:39:26,040 --> 00:39:29,350 796 00:39:29,350 --> 00:39:33,270 >> Dan ia juga akan menambah lepas, tanda petik lepas. 797 00:39:33,270 --> 00:39:37,380 Tetapi saya mengulas petikan ini menandakan, jadi mereka tidak dijalankan. 798 00:39:37,380 --> 00:39:41,440 Dan, Aku akan sebut harga ini menandakan di sini. 799 00:39:41,440 --> 00:39:42,290 Adakah anda faham? 800 00:39:42,290 --> 00:39:43,750 Adakah anda hilang? 801 00:39:43,750 --> 00:39:45,880 Saya boleh memberi komen petikan terakhir tanda, dan menjaga 802 00:39:45,880 --> 00:39:46,680 Tanda petikan pertama. 803 00:39:46,680 --> 00:39:47,350 >> PENONTON: hanya selesai Dan yang pertama. 804 00:39:47,350 --> 00:39:47,480 >> Luciano Arango: Yeah. 805 00:39:47,480 --> 00:39:48,400 Dan hanya selesai yang pertama. 806 00:39:48,400 --> 00:39:48,790 Ya, betul. 807 00:39:48,790 --> 00:39:50,800 Itulah yang boleh saya lakukan. 808 00:39:50,800 --> 00:39:51,890 Yeah. 809 00:39:51,890 --> 00:39:52,980 Lain-lain soalan seperti itu? 810 00:39:52,980 --> 00:39:54,230 Itu satu persoalan yang besar. 811 00:39:54,230 --> 00:39:56,960 812 00:39:56,960 --> 00:39:59,790 Tidak, ya, mungkin. 813 00:39:59,790 --> 00:40:06,150 Mudah-mudahan, anda semua jenis akan membuat rasa lebih apabila anda belajar SQL dan 814 00:40:06,150 --> 00:40:06,650 perkara seperti itu. 815 00:40:06,650 --> 00:40:07,980 Tetapi pastikan anda - 816 00:40:07,980 --> 00:40:10,340 menyimpan alat ini dalam menonton. 817 00:40:10,340 --> 00:40:12,760 Maaf, alat ini di sini. 818 00:40:12,760 --> 00:40:14,200 Alat ini yang besar. 819 00:40:14,200 --> 00:40:17,190 Jika sesiapa yang mempunyai apa-apa soalan, anda juga boleh e-mel saya. 820 00:40:17,190 --> 00:40:19,020 Ini adalah e-mel biasa saya. 821 00:40:19,020 --> 00:40:25,015 Dan ini adalah e-mel kerja saya, yang apabila saya bekerja di LAUT. 822 00:40:25,015 --> 00:40:26,040 >> OK, terima kasih. 823 00:40:26,040 --> 00:40:26,740 Terima kasih, guys. 824 00:40:26,740 --> 00:40:27,860 Anda baik untuk pergi. 825 00:40:27,860 --> 00:40:28,830 Anda tidak perlu tinggal di sini. 826 00:40:28,830 --> 00:40:29,570 Jangan bertepuk. 827 00:40:29,570 --> 00:40:30,170 Itu yang pelik. 828 00:40:30,170 --> 00:40:31,420 OK, terima kasih, guys. 829 00:40:31,420 --> 00:40:32,320