1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:10,300 >> לוצ'יאנו ארנגו: בסדר, חבר 'ה. 3 00:00:10,300 --> 00:00:11,550 השם שלי הוא לוצ'יאנו ארנגו. 4 00:00:11,550 --> 00:00:13,915 אני בכיתה י 'בבית אדמס. 5 00:00:13,915 --> 00:00:17,550 ואנחנו הולכים לדבר על הגנה אקטיבית אבטחת אינטרנט. 6 00:00:17,550 --> 00:00:24,220 אז אני עובד במשרד של מידע אבטחה בים. 7 00:00:24,220 --> 00:00:28,670 ובמשך הקיץ, אני נכלא ב SeguraTec, שהיה מידע 8 00:00:28,670 --> 00:00:31,310 חברת האבטחה ששימשה לבנק קולומביה. 9 00:00:31,310 --> 00:00:34,740 זה בעיקר שבו למדתי מה שלמדתי עד כה. 10 00:00:34,740 --> 00:00:37,990 >> וכך חלק מהחומר שאנחנו הולך לעבור על היום, יש לנו לא 11 00:00:37,990 --> 00:00:39,670 באמת דיבר עליו בכיתה. 12 00:00:39,670 --> 00:00:40,410 אבל שזה יקרה בקרוב. 13 00:00:40,410 --> 00:00:42,360 זה הולך להיות כמו SQL, JavaScript. 14 00:00:42,360 --> 00:00:44,870 ויש לנו לא ממש הלכנו על זה. 15 00:00:44,870 --> 00:00:47,730 אז אני יכול למיין את הטיסה דרכו, ו אתה אולי לא יודע כמה דברים. 16 00:00:47,730 --> 00:00:48,890 אבל תוך זמן קצר, תוכל ללמוד אותו. 17 00:00:48,890 --> 00:00:52,080 ואת כל זה יהיה הגיוני. 18 00:00:52,080 --> 00:00:54,010 גם דבר נוסף - 19 00:00:54,010 --> 00:00:55,780 להישאר מוסרי. 20 00:00:55,780 --> 00:01:00,560 חלק מהדברים שאתה לומד, אתה אפשר להשתמש בדרכים שאינן אתיות. 21 00:01:00,560 --> 00:01:01,950 >> אם זה שלך, בהחלט לנסות. 22 00:01:01,950 --> 00:01:04,500 אני בהחלט להניע אותך החבר 'ה לנסות שרתים משלך, נסה 23 00:01:04,500 --> 00:01:05,519 הולך בתוכם. 24 00:01:05,519 --> 00:01:08,500 תראה אם ​​אתה יכול לחדור אותם, אם אתה יכול לקבל בתוכם. 25 00:01:08,500 --> 00:01:09,560 אבל לא כל אחד אחר. 26 00:01:09,560 --> 00:01:12,390 שוטרים לא ממש אוהבים את הבדיחות ו השלם, אנחנו שמים את זה כאן. 27 00:01:12,390 --> 00:01:14,040 היינו להתעסק. 28 00:01:14,040 --> 00:01:15,780 הם באמת כועסים. 29 00:01:15,780 --> 00:01:18,700 >> אז מעל הראש לאתר זה. 30 00:01:18,700 --> 00:01:23,560 יש לי את זה נפתח ממש כאן. 31 00:01:23,560 --> 00:01:26,780 זהו אתר, וזה יש חבורה של דוגמאות. 32 00:01:26,780 --> 00:01:30,000 מה שקורה הוא שהדוגמא הראשונה הולך סוג של להיות הרבה יותר קל 33 00:01:30,000 --> 00:01:33,470 מהדוגמא האחרונה בתחושה שהדוגמא הראשונה 34 00:01:33,470 --> 00:01:34,970 הוא חסר ביטחון לחלוטין. 35 00:01:34,970 --> 00:01:40,850 והאחרון הוא מה סוג של אדם אבטחת אינטרנט נורמלי היה עושה. 36 00:01:40,850 --> 00:01:42,760 אבל אתה עדיין יכול סוג של לעקוף את זה. 37 00:01:42,760 --> 00:01:44,860 ואנחנו הולכים להתמקד באחד ושתיים, דוגמאות אחד ושתיים. 38 00:01:44,860 --> 00:01:49,880 39 00:01:49,880 --> 00:01:49,920 >> על אישור. 40 00:01:49,920 --> 00:01:52,780 בואו נתחיל עם Scripting בין האתרים. 41 00:01:52,780 --> 00:01:56,100 JavaScript מנוהל על הדפדפן של הלקוח. 42 00:01:56,100 --> 00:01:59,980 זו שפת תכנות שאתה משתמש לרוץ על הדפדפן של הלקוח ולכן 43 00:01:59,980 --> 00:02:04,120 אתה לא צריך לעדכן את האתר ולחזור לשרת. 44 00:02:04,120 --> 00:02:04,940 אתה צריך אותו פועל. 45 00:02:04,940 --> 00:02:08,870 לדוגמא, פייסבוק, אין לך כדי לטעון מחדש את האתר למעמדו חדש 46 00:02:08,870 --> 00:02:09,710 עדכונים לבוא. 47 00:02:09,710 --> 00:02:12,170 זה שימוש ב-JavaScript כדי ליצור את כל הדברים האלה. 48 00:02:12,170 --> 00:02:16,290 אז אנחנו יכולים להזריק JavaScript הזדוני לאתרי האינטרנט. 49 00:02:16,290 --> 00:02:20,890 וכך, כאשר אנו שולחים קישור ל מישהו, אנחנו יכולים סוג של לשלוח אותו עם 50 00:02:20,890 --> 00:02:23,050 חלק מהקוד שאנחנו רוצים. 51 00:02:23,050 --> 00:02:26,450 >> יש מתמשך ושאינו מתמשך JavaScript - 52 00:02:26,450 --> 00:02:30,640 בין אתרים מתמשכים ושאינם מתמשכים scripting, אני מתכוון. 53 00:02:30,640 --> 00:02:33,760 וההבדל הוא שמתמשך הוא JavaScript שיהיה 54 00:02:33,760 --> 00:02:36,060 נשמר באתר האינטרנט. 55 00:02:36,060 --> 00:02:39,780 ושאינו מתמשך יהיה JavaScript שיהיה למעשה רק במקרה פעם אחת. 56 00:02:39,780 --> 00:02:41,795 אז בואו נסתכל על דוגמא ממש מהר. 57 00:02:41,795 --> 00:02:45,660 58 00:02:45,660 --> 00:02:46,130 >> על אישור. 59 00:02:46,130 --> 00:02:51,620 אז האתר הזה, פשוט, שום דבר לא קורה כאן. 60 00:02:51,620 --> 00:02:53,070 ואנחנו הולכים לנסות להכניס קצת ב-JavaScript. 61 00:02:53,070 --> 00:02:58,110 אז הדרך בה אנו מתחילים לכתוב JavaScript הוא שאנחנו מתחילים עם התסריט מתחיל. 62 00:02:58,110 --> 00:03:00,570 ואנחנו סוגרים אותו בתסריט. 63 00:03:00,570 --> 00:03:03,770 אנחנו פשוט הולכים לשים את הודעה - 64 00:03:03,770 --> 00:03:05,410 אני אראה לך - 65 00:03:05,410 --> 00:03:06,500 התראה. 66 00:03:06,500 --> 00:03:11,150 התראה היא פונקציה כי JavaScript משתמש בו כדי להציג משהו. 67 00:03:11,150 --> 00:03:12,400 אז בואו ננסה את זה ממש מהר. 68 00:03:12,400 --> 00:03:15,600 69 00:03:15,600 --> 00:03:18,944 אני הולך ללכת, הלו התראה. 70 00:03:18,944 --> 00:03:20,400 ובכן, שכחתי לשים - 71 00:03:20,400 --> 00:03:24,510 72 00:03:24,510 --> 00:03:25,460 על אישור. 73 00:03:25,460 --> 00:03:26,540 אז זה פשוט. 74 00:03:26,540 --> 00:03:28,730 >> אנחנו שמים JavaScript באתר אינטרנט, וזה בא. 75 00:03:28,730 --> 00:03:31,200 וזה סוג של קורה רק באתר שלנו, נכון? 76 00:03:31,200 --> 00:03:33,040 אז זה נראה כאילו זה לא בעיה, נכון? 77 00:03:33,040 --> 00:03:34,920 אני מתכוון, איך אתה יכול להשתמש הזדון הזה? 78 00:03:34,920 --> 00:03:39,930 לכן הדרך שהאקרים עושים זה באמת פשוט. 79 00:03:39,930 --> 00:03:40,970 הם הולכים לתפוס אותו. 80 00:03:40,970 --> 00:03:43,750 הם יכולים לשלוח קישור זה כדי לך. 81 00:03:43,750 --> 00:03:46,780 אם אני אשלח קישור זה כדי לך עכשיו, ואתה פותח אותו, זה הולך 82 00:03:46,780 --> 00:03:51,620 אומר, הלו, ואמר כי האתר שלי הוא אומר לך שלום. 83 00:03:51,620 --> 00:03:57,280 >> ואז אם אני הייתי אומר משהו קצת יותר חכם, אם אני מושך את 84 00:03:57,280 --> 00:03:59,880 פונקצית JavaScript אני די של כבר כתב - 85 00:03:59,880 --> 00:04:03,940 אבל אם אתה מסתכל על זה, אני אלך על זה לפני שכתבתי אותו. 86 00:04:03,940 --> 00:04:06,650 אז אנחנו הולכים להגדיר פסק זמן. 87 00:04:06,650 --> 00:04:08,450 אנחנו הולכים לחכות כמה שניות. 88 00:04:08,450 --> 00:04:13,970 למעשה, אנחנו הולכים לחכות, אם אני לא טועה, חמש שניות. 89 00:04:13,970 --> 00:04:15,870 זה הולך באלפיות שני. 90 00:04:15,870 --> 00:04:18,640 ואז מה שאנחנו הולכים לעשות זה אנחנו הולך כדי להתריע שההתחברות 91 00:04:18,640 --> 00:04:21,459 הוקצב כדי להיכנס חזרה פנימה 92 00:04:21,459 --> 00:04:23,990 ואנחנו הולכים לשנות את המיקום למיקום אחר. 93 00:04:23,990 --> 00:04:30,370 94 00:04:30,370 --> 00:04:32,970 >> אז אם אני שולח את האתר הזה למישהו, הם הולכים להיות 95 00:04:32,970 --> 00:04:34,380 גלישה סביב, ללא רוחות. 96 00:04:34,380 --> 00:04:35,650 שום דבר לא קורה. 97 00:04:35,650 --> 00:04:38,550 ותוך חמש שניות, זה הולך לומר, ההתחברות שלך שהוקצבה. 98 00:04:38,550 --> 00:04:40,200 אנא היכנס פנימה 99 00:04:40,200 --> 00:04:43,400 ברגע שהם ילחצו על אישור, אני הולך לקחת אותם לאתר אחר. 100 00:04:43,400 --> 00:04:45,980 יש להניח, שהאתר הולך להיות דומה לאתר ש 101 00:04:45,980 --> 00:04:47,280 הם היו בעבר. 102 00:04:47,280 --> 00:04:50,770 והם הולכים להיכנס אישורים לאתר שלי במקום 103 00:04:50,770 --> 00:04:51,850 אתר האינטרנט שלהם. 104 00:04:51,850 --> 00:04:54,780 >> ואז אני יכול לשלוח אנשים דוא"ל עם הקישור הזה. 105 00:04:54,780 --> 00:04:56,240 אני אומר, אה, הנה קישור. 106 00:04:56,240 --> 00:04:57,290 זהו בנק, למשל. 107 00:04:57,290 --> 00:05:01,390 אני אומר, כאן, ללכת על קישור זה. 108 00:05:01,390 --> 00:05:03,730 וברגע שהם שולחים אותו, הם הולך להיות גלישה מסביב. 109 00:05:03,730 --> 00:05:07,560 אני יכול לחכות ל15 שניות, 20 שניות, ואז צץ שאנא היכנסו שוב 110 00:05:07,560 --> 00:05:08,840 לחתום על גב. 111 00:05:08,840 --> 00:05:10,120 אתם יכולים לנסות את זה עם הרבה יותר דברים. 112 00:05:10,120 --> 00:05:13,190 זה מסובך, כי אתה החבר 'ה לא ראה את JavaScript, אז אולי לך 113 00:05:13,190 --> 00:05:14,750 לא יודע כמה פונקציות. 114 00:05:14,750 --> 00:05:18,625 אבל כל מה שאתה צריך לעשות הוא להתחיל עם תסריט, בסוף עם תסריט. 115 00:05:18,625 --> 00:05:22,105 116 00:05:22,105 --> 00:05:25,510 ואתה יכול לשים כל דבר באמצע. 117 00:05:25,510 --> 00:05:27,350 >> התראה היא פונקציה, לחכות. 118 00:05:27,350 --> 00:05:29,365 מיקום חלון לוקח אותך למיקום חדש. 119 00:05:29,365 --> 00:05:31,370 אבל אתה יכול לעשות כל כך הרבה יותר. 120 00:05:31,370 --> 00:05:32,630 וכך הרעיון הוא ש אנחנו לוקחים את זה. 121 00:05:32,630 --> 00:05:39,350 אם אני הולך לדוגמא שתי, ואני לשים באותו הקוד הזה, זה 122 00:05:39,350 --> 00:05:40,210 לא הולך לעבודה. 123 00:05:40,210 --> 00:05:43,620 אז זה מדפיס את הכל בגלל מה מקור אתר זה 124 00:05:43,620 --> 00:05:50,350 עושה הוא אם אני אשים כאן משהו, זה יהיה להדפיס אותו ממש כאן. 125 00:05:50,350 --> 00:05:52,390 אז זה לא מדפיס שום דבר. 126 00:05:52,390 --> 00:05:55,560 דוגמא זו היא למעשה בדיקה כדי לראות אם תסריט הוא שם. 127 00:05:55,560 --> 00:05:57,163 אז כן, קדימה. 128 00:05:57,163 --> 00:05:57,606 שואל אותי. 129 00:05:57,606 --> 00:05:59,560 >> קהל: אינו שולח לקבל או לשלוח בקשה? 130 00:05:59,560 --> 00:06:00,670 >> לוצ'יאנו ארנגו: כן. הם שליחת בקשת גט. 131 00:06:00,670 --> 00:06:01,350 >> קהל: זה? 132 00:06:01,350 --> 00:06:02,490 >> לוצ'יאנו ארנגו: כן. 133 00:06:02,490 --> 00:06:04,030 גם דפדפנים להשתמש פוסט בקשות. 134 00:06:04,030 --> 00:06:07,470 אבל אני מנסה להראות בקשות גט כדי שנוכל לראות מה הוא 135 00:06:07,470 --> 00:06:10,760 הולך דווקא על. 136 00:06:10,760 --> 00:06:12,880 ולכן אם אנחנו מסתכלים על הקוד הזה - אז זה לא עובד יותר. 137 00:06:12,880 --> 00:06:24,870 ואם אנחנו נסתכל בקוד הזה, זה הולך להיות בדוגמא של שתיים. 138 00:06:24,870 --> 00:06:29,300 מה האדם הזה עושה, האדם אחראית על דפדפן זה - 139 00:06:29,300 --> 00:06:35,370 להיפתח, בסדר - 140 00:06:35,370 --> 00:06:39,290 מחליף את מילת התסריט. 141 00:06:39,290 --> 00:06:42,850 זה PHP, אשר ייתכן שחבר 'ה ראיתי קצת עדיין. 142 00:06:42,850 --> 00:06:46,250 >> הוא פשוט מחליף את מילת תסריט עם שם. 143 00:06:46,250 --> 00:06:50,895 אז לעומת זאת, אם אני הולך קדימה ופשוט לשים ב-- 144 00:06:50,895 --> 00:06:58,520 145 00:06:58,520 --> 00:07:02,360 אם אני תופס את הקוד שלי שוב, ואני הולך כדי לשנות אותו קצת. 146 00:07:02,360 --> 00:07:15,010 במקום תסריט, אני הולך לשנות זה לתסריט עם הון ר 'ו 147 00:07:15,010 --> 00:07:16,390 אנחנו הולכים כדי לראות אם הקוד הזה עובד. 148 00:07:16,390 --> 00:07:19,090 אז זה לא להדפיס אותו, וזה סימן טוב. 149 00:07:19,090 --> 00:07:21,990 ואני מקווה בשתי שניות יותר, זה הולך לצוץ. 150 00:07:21,990 --> 00:07:22,820 >> ההתחברות שלך שהוקצבה. 151 00:07:22,820 --> 00:07:23,210 על אישור. 152 00:07:23,210 --> 00:07:24,460 זה בסדר. 153 00:07:24,460 --> 00:07:27,670 אז בדיקה לתסריט שאולי לא בהכרח יעבוד. 154 00:07:27,670 --> 00:07:28,130 האדם - 155 00:07:28,130 --> 00:07:32,290 זה גם יכול לבדוק באותיות גדולות תסריט, אותיות קטנות תסריט, מקרה str 156 00:07:32,290 --> 00:07:34,180 להשוות, לוודא שהם זהים. 157 00:07:34,180 --> 00:07:38,480 אבל ההאקר עדיין יכול לעשות סוג של מה שעשינו בVigenere כשעברנו 158 00:07:38,480 --> 00:07:40,620 בחזרה כמה תווים, לנוע קדימה. 159 00:07:40,620 --> 00:07:43,470 וזה יכול להבין איך לשים את הסקריפט בחזרה לשם, כך שהוא יכול להזריק 160 00:07:43,470 --> 00:07:44,460 תסריט זה. 161 00:07:44,460 --> 00:07:50,370 >> אז מה אתה רוצה להשתמש הוא htmlspecialchars כדי 162 00:07:50,370 --> 00:07:51,330 להגן על האתר שלך. 163 00:07:51,330 --> 00:07:56,490 ומה המשמעות של זה הוא שהוא עושה בטוח שמה שאתה מכניס - 164 00:07:56,490 --> 00:07:59,610 לדוגמא, ציטוטים או זה גדול או קטן מ - 165 00:07:59,610 --> 00:08:04,701 הוא הוחלף במשהו שלא יהיה - 166 00:08:04,701 --> 00:08:05,951 תן לי להתקרב לכאן - 167 00:08:05,951 --> 00:08:08,730 168 00:08:08,730 --> 00:08:09,685 האמפרסנד בפועל. 169 00:08:09,685 --> 00:08:13,420 הוא יחליף HTML מיוחד אלה דמויות שאנו רואים כשאנחנו 170 00:08:13,420 --> 00:08:14,670 מדבר על - 171 00:08:14,670 --> 00:08:18,635 172 00:08:18,635 --> 00:08:20,740 אוי, זה הולך לקחת אותי בחזרה ל-- 173 00:08:20,740 --> 00:08:24,220 174 00:08:24,220 --> 00:08:25,380 תווים אלה ממש כאן. 175 00:08:25,380 --> 00:08:28,180 >> אלה מסמנים שמשהו מגיע. 176 00:08:28,180 --> 00:08:31,570 עבור HTML, שסוגר מתחיל אומר לנו שמשהו 177 00:08:31,570 --> 00:08:33,299 HTML הקשורים מגיע. 178 00:08:33,299 --> 00:08:33,980 ואנחנו רוצים להיפטר מזה. 179 00:08:33,980 --> 00:08:36,200 אנחנו לא רוצים לשים את ה-HTML לתוך website.k אנחנו לא רוצים שהמשתמש יהיה 180 00:08:36,200 --> 00:08:40,260 תוכל לשים משהו באתר האינטרנט שלהם שיכול להשפיע על אתר האינטרנט שלהם, כמו 181 00:08:40,260 --> 00:08:43,480 סקריפט או HTML או משהו כזה. 182 00:08:43,480 --> 00:08:53,090 מה שחשוב הוא שאתה לטהר את קלט המשתמש. 183 00:08:53,090 --> 00:08:54,720 >> אז המשתמשים יכולים הרבה דברים קלט. 184 00:08:54,720 --> 00:08:58,110 הוא יכול להזין כל מיני דברים כדי לנסות להערים על הדפדפן שלך לתוך עדיין 185 00:08:58,110 --> 00:08:59,410 הפעלת קוד התסריט הזה. 186 00:08:59,410 --> 00:09:02,870 מה אתה רוצה לעשות הוא לא רק להסתכל לתסריט, אבל תראה לכל דבר 187 00:09:02,870 --> 00:09:04,250 שיכול להיות זדוני. 188 00:09:04,250 --> 00:09:06,800 וhtmlspecialchars יעשה את זה בשבילך, אז אין לך 189 00:09:06,800 --> 00:09:07,340 לדאוג בקשר לזה. 190 00:09:07,340 --> 00:09:12,280 אבל אל תנסה לעשות בעצמך סוג של עם קוד משלך. 191 00:09:12,280 --> 00:09:14,055 האם כולם ברור על XSS? 192 00:09:14,055 --> 00:09:14,370 >> על אישור. 193 00:09:14,370 --> 00:09:16,355 בואו נלך להזרקת SQL. 194 00:09:16,355 --> 00:09:21,010 אז הזרקת SQL היא כנראה פגיעות מספר אחד 195 00:09:21,010 --> 00:09:22,490 באתרי אינטרנט שונים. 196 00:09:22,490 --> 00:09:24,350 אני מתכוון, דוגמא טובה - 197 00:09:24,350 --> 00:09:27,350 אני רק חוקר רחוק לדבר הזה. 198 00:09:27,350 --> 00:09:34,430 ואני מצאתי את המאמר מדהים הזה, שבו ראיתי שהרווארד נפרץ, 199 00:09:34,430 --> 00:09:35,390 היה פרוץ. 200 00:09:35,390 --> 00:09:37,370 ואני תוהה, ובכן, איך הם יעשו את זה? 201 00:09:37,370 --> 00:09:41,660 הרווארד זה מדהים ביותר, רוב לאבטח אוניברסיטה אי פעם. 202 00:09:41,660 --> 00:09:43,850 נכון? 203 00:09:43,850 --> 00:09:45,410 ובכן, כדי לפרוץ את השרתים, ההאקרים השתמשו 204 00:09:45,410 --> 00:09:47,710 טכניקה הנקראת הזרקת SQL. 205 00:09:47,710 --> 00:09:50,250 >> אז זה קורה על בסיס יום יום. 206 00:09:50,250 --> 00:09:53,590 אנשים שוכחים לקחת בחשבון להזרקת SQL. 207 00:09:53,590 --> 00:09:54,930 הרווארד עושה. 208 00:09:54,930 --> 00:10:00,050 אני חושב שזה אומר כאן, פרינסטון, סטנפורד, קורנל. 209 00:10:00,050 --> 00:10:03,550 אז איך אנחנו - אז מה הוא SQL זה זריקה שמביאה את כל אלה 210 00:10:03,550 --> 00:10:05,668 אנשים למטה? 211 00:10:05,668 --> 00:10:08,010 על אישור. 212 00:10:08,010 --> 00:10:12,090 אז SQL היא שפת תכנות ש אנו משתמשים כדי לגשת למסדי נתונים. 213 00:10:12,090 --> 00:10:14,560 מה שאנחנו עושים הוא שאנחנו בוחרים - 214 00:10:14,560 --> 00:10:18,510 אז מה זה קורא עכשיו הוא נבחרת הכל מהשולחן. 215 00:10:18,510 --> 00:10:22,640 >> SQL, זה משנה למסדי נתונים אלה שיש להם שולחנות מלאים של מידע. 216 00:10:22,640 --> 00:10:26,550 אז לבחור הכל ממשתמשים שם השם הוא שם משתמש. 217 00:10:26,550 --> 00:10:28,120 נכון? 218 00:10:28,120 --> 00:10:30,770 די פשוט. 219 00:10:30,770 --> 00:10:34,490 הרעיון של הזרקת SQL הוא שאנחנו להכניס קצת קוד זדוני שהיית 220 00:10:34,490 --> 00:10:37,270 להערים על השרת לתוך ריצת משהו שונה ממה שזה 221 00:10:37,270 --> 00:10:38,430 במקור היה פועל. 222 00:10:38,430 --> 00:10:44,970 אז בואו נגיד לשם משתמש, אנחנו מכניסים או 1 שווה 1. 223 00:10:44,970 --> 00:10:46,700 אז אנחנו שמים באו 1 שווה 1. 224 00:10:46,700 --> 00:10:49,890 הדרך שבה ייקרא עכשיו תהיה נבחרת ממשתמשים, כל דבר, החל 225 00:10:49,890 --> 00:10:51,360 משתמשים - זה הכל - 226 00:10:51,360 --> 00:10:55,880 כאשר שם הוא שם משתמש, אבל שם משתמש הוא או 1 שווה 1. 227 00:10:55,880 --> 00:11:01,760 >> אז שם הוא כלום או 1 שווה 1. 228 00:11:01,760 --> 00:11:04,060 1 שווה 1 הוא תמיד נכון. 229 00:11:04,060 --> 00:11:07,690 אז זה תמיד יחזור מידע מהמשתמשים. 230 00:11:07,690 --> 00:11:08,100 על אישור. 231 00:11:08,100 --> 00:11:10,030 אנחנו לא צריכים שם משתמש נכון. 232 00:11:10,030 --> 00:11:14,240 רק אנחנו יכולים להיות כל דבר שאנחנו רוצים, והוא יחזור מידע 233 00:11:14,240 --> 00:11:15,690 שאנחנו צריכים. 234 00:11:15,690 --> 00:11:17,160 בואו נסתכל על דוגמא נוספת. 235 00:11:17,160 --> 00:11:22,720 >> אם יש לנו לבחור את כל מה ממשתמש, שבו שם הוא למשתמשי לוח DROP - 236 00:11:22,720 --> 00:11:26,420 אז מה אתה חושב שזה יהיה לעשות אם אני מכניס את שם המשתמש 237 00:11:26,420 --> 00:11:29,560 ככל שמשתמש לוח DROP? 238 00:11:29,560 --> 00:11:30,230 למישהו יש רעיון? 239 00:11:30,230 --> 00:11:31,050 כן. 240 00:11:31,050 --> 00:11:32,470 >> קהל: זה הולך לספר לי זה לזרוק את כל השולחנות. 241 00:11:32,470 --> 00:11:35,460 >> לוצ'יאנו ארנגו: זה הולך לספר לנו לזרוק כל דבר באתר, 242 00:11:35,460 --> 00:11:38,290 הכל במסד הנתונים. 243 00:11:38,290 --> 00:11:41,910 ומה שאנשים עושים זה ל-- כך אני הולך להראות לכם חבר 'ה. 244 00:11:41,910 --> 00:11:45,462 אני נכה שומט את השולחנות כי אני לא רוצה אותך 245 00:11:45,462 --> 00:11:48,240 חבר 'ה לרדת השולחנות שלי. 246 00:11:48,240 --> 00:11:49,850 בואו נסתכל על זה. 247 00:11:49,850 --> 00:11:54,410 אז זה פשוט מושך את המידע לאדם מסוים. 248 00:11:54,410 --> 00:11:57,550 אז איך אנחנו יודעים אם זה מושפע הזרקת SQL. 249 00:11:57,550 --> 00:12:01,545 אנחנו הולכים לבדוק ממש מהר אם אנחנו יכולים לשים משהו - 250 00:12:01,545 --> 00:12:04,990 251 00:12:04,990 --> 00:12:06,080 תן לי להעתיק את הקוד הזה. 252 00:12:06,080 --> 00:12:08,140 אני הולך לעבור על זה בשנייה. 253 00:12:08,140 --> 00:12:12,210 אני הולך לשים את השורש ו1 שווה 1. 254 00:12:12,210 --> 00:12:15,510 >> כאן זה, זה אחוזים סימן 23 - 255 00:12:15,510 --> 00:12:19,970 מה שהוא באמת, אם אני נראה כאן ב-- 256 00:12:19,970 --> 00:12:23,820 דרך HTML לוקח במספרים, אם תסתכל כאשר אני מכניס בחלל 257 00:12:23,820 --> 00:12:28,380 כאן - אם הייתי משהו בחלל כאן, זה משנה את זה לאחוזים 2. 258 00:12:28,380 --> 00:12:31,420 האם אתם רואים את זה ממש כאן כאשר אני מכניס בחלל? 259 00:12:31,420 --> 00:12:36,710 הדרך בה הוא עובד היא שאתה רק יכול לשלוח ערכי ASCII באמצעות HTML. 260 00:12:36,710 --> 00:12:40,330 אז הוא מחליף, למשל, חלל עם אחוזים 20. 261 00:12:40,330 --> 00:12:41,970 אני לא יודע אם החבר 'ה ראה את זה לפני. 262 00:12:41,970 --> 00:12:45,100 >> היא מחליפה hashtag עם אחוזים 23. 263 00:12:45,100 --> 00:12:50,840 אנחנו צריכים hashtag בסוף או שמירה על כך שאנו יכולים להגיד לי 264 00:12:50,840 --> 00:13:00,885 מסד הנתונים לשכוח להגיב החוצה פסיק אחרון זה בסוף. 265 00:13:00,885 --> 00:13:03,060 אנחנו רוצים שזה לא לחשוב על זה. 266 00:13:03,060 --> 00:13:05,980 אנחנו רק רוצים את זה כדי לרוץ הכל שיש לנו מראש ו 267 00:13:05,980 --> 00:13:07,450 להגיב על כך. 268 00:13:07,450 --> 00:13:08,710 בואו נסתכל על זה. 269 00:13:08,710 --> 00:13:14,670 >> אז אם אני היה לשים משהו לא בסדר - נניח לדוגמא, אני מניח 2 שווים 270 00:13:14,670 --> 00:13:15,690 1, זה לא נותן לי כלום. 271 00:13:15,690 --> 00:13:22,930 כשאני מכניס 1 שווה 1, והיא עושה להחזיר משהו, זה אומר לי ש 272 00:13:22,930 --> 00:13:24,660 זה פגיע הזרקת SQL. 273 00:13:24,660 --> 00:13:29,090 אני יודע עכשיו שכל מה אני שם אחרי זה - 274 00:13:29,090 --> 00:13:39,110 ולמשל, ירידת לוחות או משהו כזה 275 00:13:39,110 --> 00:13:41,190 בהחלט לעבוד. 276 00:13:41,190 --> 00:13:44,350 אני יודע שזה פגיע להזרקת SQL כי אני יודע ש 277 00:13:44,350 --> 00:13:49,850 מתחת למכסת המנוע, זה נותן לי לי לעשות 1 שווה דבר 1. 278 00:13:49,850 --> 00:13:51,100 בסדר? 279 00:13:51,100 --> 00:13:53,950 280 00:13:53,950 --> 00:13:56,540 >> אם אנחנו מסתכלים על אלה אחרים אלה, מספר שתיים ומספר שלוש, זה 281 00:13:56,540 --> 00:13:59,110 הולך לעשות קצת יותר מבדיקה מתחת 282 00:13:59,110 --> 00:14:03,680 מכסה המנוע של מה זה. 283 00:14:03,680 --> 00:14:07,425 אז כל מי שתאפשר הירידה שום דבר עדיין לא ניסה? 284 00:14:07,425 --> 00:14:08,760 האם אתם מקבלים סוג של SQL עדיין? 285 00:14:08,760 --> 00:14:10,430 כי אני יודע שהחבר 'ה שיש לי לא ראיתי את זה עדיין, כך שזה סוג של 286 00:14:10,430 --> 00:14:11,759 מבלבל בשבילכם. 287 00:14:11,759 --> 00:14:16,160 288 00:14:16,160 --> 00:14:18,480 בואו נסתכל. 289 00:14:18,480 --> 00:14:21,270 אז מהי הדרך למניעת SQLi? 290 00:14:21,270 --> 00:14:21,390 על אישור. 291 00:14:21,390 --> 00:14:23,330 אז זה באמת חשוב כי אתה החבר 'ה בהחלט רוצה למנוע 292 00:14:23,330 --> 00:14:24,090 זה באתרים שלך. 293 00:14:24,090 --> 00:14:28,040 >> אם לא, כל החברים שלך הולכים לעשות כיף שלך כשהם שחררו את כל 294 00:14:28,040 --> 00:14:29,390 הטבלאות שלך. 295 00:14:29,390 --> 00:14:36,150 אז הרעיון הוא שאתה לתקן את SQL בדרך מסוימת, ואילו לך להתאים 296 00:14:36,150 --> 00:14:41,940 מה תשומות המשתמש עם מחרוזת מסוימת. 297 00:14:41,940 --> 00:14:46,120 אז הדרך שזה עובד היא שאתה להכין את מסד הנתונים. 298 00:14:46,120 --> 00:14:50,830 אתה בוחר את השם, צבע וקלוריות מפרי בשם מסד הנתונים. 299 00:14:50,830 --> 00:14:53,580 ולאחר מכן שבו קלוריות היא פחות מ, ואנחנו שמים סימן שאלה יש 300 00:14:53,580 --> 00:14:56,530 אומר שאנחנו הולכים לקלט משהו בשנייה. 301 00:14:56,530 --> 00:14:58,850 >> וצבע שווה, ואנחנו שמים את שאלה סימן אומר שאנחנו הולכים 302 00:14:58,850 --> 00:15:00,913 כמו גם קלט משהו בשנייה. 303 00:15:00,913 --> 00:15:02,660 בסדר? 304 00:15:02,660 --> 00:15:09,920 ואז לבצע את זה, לשים 150 ואדום ב. 305 00:15:09,920 --> 00:15:12,820 ואת זה יבדוק לעשות בטוח ששני אלה - 306 00:15:12,820 --> 00:15:15,300 מערך זה יבדוק כי אלה שניים הם מספר שלם ו 307 00:15:15,300 --> 00:15:16,550 כי מדובר במחרוזת. 308 00:15:16,550 --> 00:15:18,810 309 00:15:18,810 --> 00:15:20,890 ואז אנחנו הולכים, ואנחנו להביא הכל, אנחנו שמים אותו באדום. 310 00:15:20,890 --> 00:15:21,964 זה אומר שאנחנו להביא כל. 311 00:15:21,964 --> 00:15:26,790 זה אומר שאנחנו למעשה לבצע SQL הצהרה והחזרת אותו באדום. 312 00:15:26,790 --> 00:15:30,530 כאן אנו עושים את אותו הדבר, אבל אנחנו לעשות את אותו הדבר לצהוב. 313 00:15:30,530 --> 00:15:32,490 ואנחנו נביא את כולם. 314 00:15:32,490 --> 00:15:36,140 >> ובדרך זו, אנו למנוע מהמשתמש מלהיות מסוגל קלט משהו 315 00:15:36,140 --> 00:15:41,710 זה לא מה שאנחנו שצוינו, מחרוזת או שלם, למשל. 316 00:15:41,710 --> 00:15:45,100 317 00:15:45,100 --> 00:15:46,610 אני מדבר קודם על להסתמך על אחרים. 318 00:15:46,610 --> 00:15:50,010 כאשר אתם מתחילים את הפרויקט שלך, אתה בהחלט הולכים להשתמש 319 00:15:50,010 --> 00:15:52,310 bootstrap או משהו דומה. 320 00:15:52,310 --> 00:15:53,490 יש לכם אי פעם נעשה שימוש וורדפרס? 321 00:15:53,490 --> 00:15:57,170 כנראה שיש לכם בשימוש Wordpress סיכוי הטוב ביותר. 322 00:15:57,170 --> 00:16:00,050 אז הבעיה בשימוש של אנשים אחרים דברים - 323 00:16:00,050 --> 00:16:05,940 אני רק הולך ממש מהר גוגל פגיעות וורדפרס. 324 00:16:05,940 --> 00:16:07,495 >> אם אני מושך את זה עכשיו - 325 00:16:07,495 --> 00:16:08,995 אני ממש עשיתי גוגל של שתי שניות. 326 00:16:08,995 --> 00:16:12,300 327 00:16:12,300 --> 00:16:13,800 אנו יכולים לראות כי וורדפרס - 328 00:16:13,800 --> 00:16:17,450 זו מתוארכת כ'12 ספטמבר. 329 00:16:17,450 --> 00:16:19,120 26 מתעדכנים. 330 00:16:19,120 --> 00:16:23,620 תצורת ברירת המחדל של וורדפרס לפני 3.6 אינם מונעים אלה 331 00:16:23,620 --> 00:16:27,110 קבצים מסוימים, אשר עשוי להקל על 332 00:16:27,110 --> 00:16:29,790 תקיפות Scripting המרובות אתרים. 333 00:16:29,790 --> 00:16:34,530 אז סיפור מהיר, פעם אחת שאנחנו עובדים עם - כל כך הייתי, בקיץ, עבודה 334 00:16:34,530 --> 00:16:34,970 התמחות. 335 00:16:34,970 --> 00:16:40,400 ואנחנו עובדים עם סוג של כמו חברת כרטיסי אשראי גדול. 336 00:16:40,400 --> 00:16:42,020 >> והם מסתמכים על משהו שנקרא - 337 00:16:42,020 --> 00:16:45,740 אני לא יודע אם אתם אי פעם שיחקו עם מוצר בשם ג 'ומלה. 338 00:16:45,740 --> 00:16:51,750 ג'ומלה היא מוצר המשמש ל שליטה - סוג של דומה ל 339 00:16:51,750 --> 00:16:54,340 וורדפרס, המשמש לבניית אתרי אינטרנט. 340 00:16:54,340 --> 00:16:56,060 אז היה להם אתר האינטרנט שלהם עובד על ג'ומלה. 341 00:16:56,060 --> 00:16:59,290 זהו למעשה כרטיס אשראי החברה בקולומביה. 342 00:16:59,290 --> 00:17:01,000 אני אקח אותך לשלהם אתר אינטרנט מהיר אמיתי. 343 00:17:01,000 --> 00:17:04,550 344 00:17:04,550 --> 00:17:05,400 >> אז הם השתמשו בג'ומלה. 345 00:17:05,400 --> 00:17:08,630 והם לא מעודכנים ומלה לתוספת האחרונה. 346 00:17:08,630 --> 00:17:12,160 ולכן כאשר אנחנו לוקחים מבט על הקוד שלהם, היינו יכול למעשה 347 00:17:12,160 --> 00:17:18,430 להיכנס פנימה את הקוד שלהם ולגנוב את כל פרטי כרטיס אשראי שהיו להם, 348 00:17:18,430 --> 00:17:21,670 כל מספרי כרטיסי אשראי, השמות, כתובות. 349 00:17:21,670 --> 00:17:22,740 וזה בדיוק היה - 350 00:17:22,740 --> 00:17:23,569 והקוד שלהם היה בסדר גמור. 351 00:17:23,569 --> 00:17:24,710 היה להם קוד גדול. 352 00:17:24,710 --> 00:17:25,389 זה היה כל הביטחון. 353 00:17:25,389 --> 00:17:26,520 הם בדקו את כל מאגרי המידע. 354 00:17:26,520 --> 00:17:29,020 הם דאגו בין אתרים scripting היה בסדר. 355 00:17:29,020 --> 00:17:34,390 >> אבל הם השתמשו במשהו שלא היה מעודכן, שלא היה מאובטח. 356 00:17:34,390 --> 00:17:36,940 וכך הוביל אותם ל-- כך שחבר 'ה בהחלט הולכים להשתמש אחרים 357 00:17:36,940 --> 00:17:40,650 הקוד, מסגרות של האנשים אחרים של אנשים כדי לבנות את האתר שלך. 358 00:17:40,650 --> 00:17:43,860 ודא כי הם בטוחים כי לפעמים זה לא אתה, זה ש 359 00:17:43,860 --> 00:17:44,480 עושה טעות. 360 00:17:44,480 --> 00:17:47,440 אבל מישהו אחר עושה טעות, ו אז אתה נופל בגלל זה. 361 00:17:47,440 --> 00:17:51,190 362 00:17:51,190 --> 00:17:53,885 >> סיסמאות וPII. 363 00:17:53,885 --> 00:17:56,820 אז סיסמאות. 364 00:17:56,820 --> 00:17:58,070 על אישור. 365 00:17:58,070 --> 00:17:59,980 366 00:17:59,980 --> 00:18:04,230 בואו נסתכל על סיסמאות ממש מהר. 367 00:18:04,230 --> 00:18:04,590 על אישור. 368 00:18:04,590 --> 00:18:06,520 בבקשה תגיד לי שכולם משתמש מאובטח - 369 00:18:06,520 --> 00:18:09,030 אני מקווה שכולם כאן משתמש בסיסמות מאובטחת. 370 00:18:09,030 --> 00:18:12,890 אני רק מניח כי כבהנחה. 371 00:18:12,890 --> 00:18:14,850 אז אתם בהחלט הולכים תשמור סיסמות לאתרים שלך. 372 00:18:14,850 --> 00:18:17,440 אתה הולך לעשות משהו כזה התחברות או משהו כזה. 373 00:18:17,440 --> 00:18:19,610 מה שחשוב הוא לא לאחסן סיסמאות בטקסט רגיל. 374 00:18:19,610 --> 00:18:20,860 זה מאוד חשוב. 375 00:18:20,860 --> 00:18:23,960 אתה לא רוצה לאחסן סיסמא בטקסט רגיל. 376 00:18:23,960 --> 00:18:27,370 >> ואתה בהחלט לא באמת רוצה כדי לאחסן אותו בחשיש בדרך זו. 377 00:18:27,370 --> 00:18:32,440 אז מה הוא חשיש דרך אחת שכאשר אתה ליצור מילה, כאשר אתה שם את זה 378 00:18:32,440 --> 00:18:36,200 מילה לפונקצית חשיש, זה יהיה ליצור בחזרה איזה סתום 379 00:18:36,200 --> 00:18:39,390 הודעה או סט נסתר של מפתחות. 380 00:18:39,390 --> 00:18:40,640 אני אראה לך דוגמא. 381 00:18:40,640 --> 00:18:44,620 382 00:18:44,620 --> 00:18:50,250 אני הולך חשיש password1 המילה שהם. 383 00:18:50,250 --> 00:18:55,280 Hash MD5 אז הוא הולך להחזיר אותי איזה מידע מוזר. 384 00:18:55,280 --> 00:18:59,140 >> הבעיה היא שאנשים שם בחוץ שרוצים להיכנס לאתרים שיש לי 385 00:18:59,140 --> 00:19:02,750 הבין כבר סוג של כל אלגוריתמי Hash MD5. 386 00:19:02,750 --> 00:19:06,030 מה שהם עשו זה שהם התיישבו עליהם מחשבים, והם מרוסקים כל 387 00:19:06,030 --> 00:19:09,660 מילה אפשרית יחידה שם בחוץ עד יש להם סוג של מה זה. 388 00:19:09,660 --> 00:19:11,420 אם הייתי צריך לחפש את זה - 389 00:19:11,420 --> 00:19:12,420 אני פשוט תפסתי את החשיש הזה. 390 00:19:12,420 --> 00:19:14,120 אם אני מקבל את זה מחשיש - 391 00:19:14,120 --> 00:19:17,470 אם אני נכנסתי לאתר, ואני מוצא חשיש זה כי אני מקבל 392 00:19:17,470 --> 00:19:24,100 מאגרי מידע, ואני מסתכל עליו, מישהו כבר הבין את זה בשבילי. 393 00:19:24,100 --> 00:19:28,600 394 00:19:28,600 --> 00:19:29,100 >> כן. 395 00:19:29,100 --> 00:19:35,030 אז אנשים התיישבו, וכל מה שMD5 חשיש שאתה מכניס, הם הולכים 396 00:19:35,030 --> 00:19:37,760 אחזור אליך משהו שהוא מילה. 397 00:19:37,760 --> 00:19:39,800 אם אני חשיש מילה אחרת, כמו - 398 00:19:39,800 --> 00:19:42,410 אני לא יודע - 399 00:19:42,410 --> 00:19:43,490 trees2. 400 00:19:43,490 --> 00:19:46,050 אני לא רוצה להיות מאוכזב בחיפושים בגוגל שלי. 401 00:19:46,050 --> 00:19:49,820 402 00:19:49,820 --> 00:19:52,780 הנה הוא, trees2. 403 00:19:52,780 --> 00:19:55,930 כל כך הרבה אתרים עדיין משתמש בחשיש MD5. 404 00:19:55,930 --> 00:19:57,730 הם אומרים, אה, זה בטוח. 405 00:19:57,730 --> 00:19:58,570 אנחנו לא אחסון בטקסט רגיל. 406 00:19:58,570 --> 00:19:59,740 יש לנו חשיש MD5 זה. 407 00:19:59,740 --> 00:20:01,880 וכל מה שאני צריך לעשות זה פשוט Google המספר. 408 00:20:01,880 --> 00:20:03,940 >> אני אפילו לא צריך לחשב בעצמי. 409 00:20:03,940 --> 00:20:06,790 אני רק יכול לגגל את זה, ומישהו כבר עשה את זה בשבילי. 410 00:20:06,790 --> 00:20:08,010 הנה חבורה שלהם. 411 00:20:08,010 --> 00:20:09,260 הנה חבורה של סיסמאות. 412 00:20:09,260 --> 00:20:13,890 413 00:20:13,890 --> 00:20:18,680 אז בהחלט לא משתמש בחשיש MD5, כי כל מה שיש לך 414 00:20:18,680 --> 00:20:19,140 לעשות הוא Google אותו. 415 00:20:19,140 --> 00:20:20,390 אז מה אתה רוצה להשתמש במקום זה? 416 00:20:20,390 --> 00:20:29,340 417 00:20:29,340 --> 00:20:30,170 על אישור. 418 00:20:30,170 --> 00:20:31,260 משהו שנקרא המלחה. 419 00:20:31,260 --> 00:20:32,460 אז מה המלחה הוא - 420 00:20:32,460 --> 00:20:36,280 האם אתם זוכרים שהיינו מדבר על אקראי ב-- 421 00:20:36,280 --> 00:20:37,920 אני לא בטוח מה pset זה היה - 422 00:20:37,920 --> 00:20:41,140 היה זה pset יש או ארבעה? 423 00:20:41,140 --> 00:20:45,150 >> אנחנו מדברים על מציאת המחט בערימת השחת. 424 00:20:45,150 --> 00:20:48,480 ובpset, הוא אמר שאתה יכול בעצם להבין מה אקראי 425 00:20:48,480 --> 00:20:51,840 יוצר בגלל שמישהו כבר רץ מיליון פעמים ורק אקראיים 426 00:20:51,840 --> 00:20:53,230 סוג של יצר את מה שהם מייצרים. 427 00:20:53,230 --> 00:20:55,840 מה אתה רוצה לעשות הוא לשים בקלט. 428 00:20:55,840 --> 00:20:57,130 אז זה מה שההמלחה הוא סוג של. 429 00:20:57,130 --> 00:21:00,900 הם כבר הבינו מה המלחה מחזיר לכל עבודה. 430 00:21:00,900 --> 00:21:04,750 >> אז מה עושה המלחה הוא אתה מכניס מלח. 431 00:21:04,750 --> 00:21:06,160 אתה שם במילה מסוימת. 432 00:21:06,160 --> 00:21:09,720 וזה יהיה חשיש מילה שבהתאם על מה לשים לך בפה. 433 00:21:09,720 --> 00:21:13,570 אז אם אני חשיש סיסמא אחת עם זה משפט, זה הולך לחשיש 434 00:21:13,570 --> 00:21:17,180 אחר, אם אני חשיש password1 במשפט שונה. 435 00:21:17,180 --> 00:21:21,670 זה סוג של נותן לו מקום להתחיל לhashing להתחיל. 436 00:21:21,670 --> 00:21:25,970 אז זה הרבה יותר קשה לחישוב, אבל אתה עדיין יכול לחשב את זה, במיוחד 437 00:21:25,970 --> 00:21:26,830 אם אתם משתמשים במלח רע. 438 00:21:26,830 --> 00:21:29,650 >> אנשים כבר גם הבינו מלחים נפוצים והבין 439 00:21:29,650 --> 00:21:31,500 מה שזה. 440 00:21:31,500 --> 00:21:34,980 מלחים אקראיים הם הרבה יותר טובים, אבל הדרך הטובה ביותר היא להשתמש 441 00:21:34,980 --> 00:21:38,160 משהו שנקרא קריפטה. 442 00:21:38,160 --> 00:21:40,480 ומה קריפטה מאפשר לך אל - כל כך פונקציות אלה 443 00:21:40,480 --> 00:21:41,820 כבר בנה עבורכם. 444 00:21:41,820 --> 00:21:44,910 אנשים רבים שוכחים את זה, או הם שוכחים להשתמש בו. 445 00:21:44,910 --> 00:21:54,520 אבל אם אני מסתכל למעלה PHP קריפטה, קריפטה כבר מחזיר מחרוזת חשיש בשבילי. 446 00:21:54,520 --> 00:21:58,790 וזה ממש מלחיו פעמים רבות וhashes את זה פעמים רבות. 447 00:21:58,790 --> 00:22:00,070 >> אז אנחנו לא צריכים לעשות את זה. 448 00:22:00,070 --> 00:22:04,790 אז כל מה שאתה צריך לעשות הוא לשלוח אותו לקריפטה. 449 00:22:04,790 --> 00:22:08,170 והיא תיצור חשיש גדול בלי שלך לדאוג מלח 450 00:22:08,170 --> 00:22:08,990 או משהו. 451 00:22:08,990 --> 00:22:12,000 כי אם היה לך מלח זה, יש לך לזכור את מה שאתה מלח משמש 452 00:22:12,000 --> 00:22:13,800 כי אם לא, אתה לא יכול לקבל אותך סיסמא בחזרה ללא 453 00:22:13,800 --> 00:22:15,760 מלח שבו השתמש. 454 00:22:15,760 --> 00:22:17,010 על אישור. 455 00:22:17,010 --> 00:22:21,120 456 00:22:21,120 --> 00:22:23,150 >> וגם לזיהוי אישי מידע. 457 00:22:23,150 --> 00:22:26,730 אבטחה כל כך חברתית, כרטיסי אשראי - זה די ברור. 458 00:22:26,730 --> 00:22:31,880 אבל לפעמים אנשים שוכחים את דרכו העבודות היא, כמה מידע אתה עושה 459 00:22:31,880 --> 00:22:35,690 צריך באמת למצוא אדם אחד כמה? 460 00:22:35,690 --> 00:22:37,740 מישהו עשה מחקר על זו דרך חזרה. 461 00:22:37,740 --> 00:22:40,870 וזה היה כמו, אם יש לך שמו מלא, אתה לא יכול למצוא 462 00:22:40,870 --> 00:22:41,610 מישהו בקלות. 463 00:22:41,610 --> 00:22:43,900 אבל מה אם יש לך את שמו מלא ותאריך לידה שלהם? 464 00:22:43,900 --> 00:22:47,770 האם זה מספיק כדי לזהות מישהו באופן ספציפי? 465 00:22:47,770 --> 00:22:52,760 >> מה אם יש לך את השם ו כתובת רחוב שהם יחיו? 466 00:22:52,760 --> 00:22:55,110 האם זה מספיק כדי למצוא מישהו? 467 00:22:55,110 --> 00:23:02,490 וזה כשהם שואלים, מה הוא מידע המאפשר זיהוי אישי, ו 468 00:23:02,490 --> 00:23:05,360 מה שאתה צריך לדאוג לא להסגיר? 469 00:23:05,360 --> 00:23:08,770 אם אתה נותן לזיהוי אישי מידע שמישהו נותן לך, 470 00:23:08,770 --> 00:23:11,420 אתה עלול לקבל תביעה. 471 00:23:11,420 --> 00:23:12,610 ואנחנו בהחלט לא רוצים את זה. 472 00:23:12,610 --> 00:23:14,955 >> לכן, כאשר אתה שם את האתר שלך החוצה, ויש לך ממש מגניב 473 00:23:14,955 --> 00:23:17,230 עיצוב, אני מקווה שאתה עשית פרויקט גמר מדהים. 474 00:23:17,230 --> 00:23:18,370 כל שאתה סוג של רוצה לשים את זה שם בחוץ. 475 00:23:18,370 --> 00:23:21,420 אתה רוצה לוודא שכל מה אתה לוקח מהמשתמש, אם זה 476 00:23:21,420 --> 00:23:25,310 מידע המאפשר זיהוי אישי, אתה רוצה לוודא שאתה להיות באמת 477 00:23:25,310 --> 00:23:26,560 זהיר עם זה. 478 00:23:26,560 --> 00:23:29,670 479 00:23:29,670 --> 00:23:31,080 >> הזרקת פגז. 480 00:23:31,080 --> 00:23:31,350 על אישור. 481 00:23:31,350 --> 00:23:37,590 הזרקת המעטפת מאפשרת לפורץ לקבל גישה לשורת הפקודה שלך בפועל 482 00:23:37,590 --> 00:23:39,660 בשרת שלך. 483 00:23:39,660 --> 00:23:44,060 וכך הוא מסוגל להפעיל קוד כי אתה לא יכול לשלוט. 484 00:23:44,060 --> 00:23:49,560 בואו ניקח דוגמה לכך מחרוזת יפהפייה ממש כאן. 485 00:23:49,560 --> 00:23:55,570 אם אנחנו נכנסים לאתר שוב, אני הולך להיכנס הזרקת קוד. 486 00:23:55,570 --> 00:23:58,910 אז מה המשמעות של זה הוא - 487 00:23:58,910 --> 00:24:00,420 זה גם מה שהיינו מסתכל על העבר. 488 00:24:00,420 --> 00:24:11,200 אנחנו נותנים למשתמש להכניס בכל מה שהוא רוצה, והוא ידפיס 489 00:24:11,200 --> 00:24:12,220 מה שאתה רוצה. 490 00:24:12,220 --> 00:24:13,890 >> אז אני הולך לשים את שיחה. 491 00:24:13,890 --> 00:24:15,540 מה שזה עושה הוא - 492 00:24:15,540 --> 00:24:16,940 זה יתחיל בשרשור. 493 00:24:16,940 --> 00:24:19,520 אז זה ייתן לי לנהל את מה פקודת הריצה של האדם 494 00:24:19,520 --> 00:24:21,500 לפני והפיקוד שלי. 495 00:24:21,500 --> 00:24:23,980 ואני מפעיל פקודת המערכת. 496 00:24:23,980 --> 00:24:27,310 והמחרוזות האחרונות אלה - זוכרים מה שדברתי איתך על בחורים, 497 00:24:27,310 --> 00:24:31,725 ואילו מה שאתה צריך כדי לקודד זה בשיטת ה-URL. 498 00:24:31,725 --> 00:24:35,010 499 00:24:35,010 --> 00:24:36,992 אם אני מפעיל את זה עכשיו - 500 00:24:36,992 --> 00:24:39,150 אני אראה לך לכאן - 501 00:24:39,150 --> 00:24:41,100 אתה תראה שאני בסופו עד הפעלת הפקודה. 502 00:24:41,100 --> 00:24:45,700 503 00:24:45,700 --> 00:24:49,320 >> זהו למעשה השרת בפועל כי האתר שלי הוא פועל. 504 00:24:49,320 --> 00:24:55,840 505 00:24:55,840 --> 00:24:58,510 אז אנחנו לא רוצים את זה, כי אני יכול לרוץ - 506 00:24:58,510 --> 00:25:00,320 השרת הזה הוא לא שלי. 507 00:25:00,320 --> 00:25:04,030 אז אני לא רוצה להרוס אותו אחותו, השרת של מרקוס. 508 00:25:04,030 --> 00:25:07,470 אבל אתה יכול להריץ פקודות נוספות כי הם מסוכנים. 509 00:25:07,470 --> 00:25:11,885 ואולי, אתה יכול למחוק קבצים, להסיר את הספריות. 510 00:25:11,885 --> 00:25:14,390 511 00:25:14,390 --> 00:25:17,970 אני יכול להסיר את ספרייה מסוימת אם אני רוצה, אבל אני לא רוצה 512 00:25:17,970 --> 00:25:19,530 כדי לעשות את זה למרקוס. 513 00:25:19,530 --> 00:25:20,420 הוא בחור נחמד. 514 00:25:20,420 --> 00:25:21,470 הוא נתן לי לשאול את השרת שלו. 515 00:25:21,470 --> 00:25:24,620 אז אני הולך לתת לו הנחה על אחד הטוב. 516 00:25:24,620 --> 00:25:32,280 >> אז מה שאנחנו לא רוצים להשתמש - אנחנו לא רוצה להשתמש בהערכה או במערכת. 517 00:25:32,280 --> 00:25:34,755 הערכה או מערכת מאפשרת לנו לבצע שיחות האלו מערכת. 518 00:25:34,755 --> 00:25:37,410 519 00:25:37,410 --> 00:25:38,410 אמצעי הערכה להעריך. 520 00:25:38,410 --> 00:25:40,790 המערכת מתכוונת למה שרץ. 521 00:25:40,790 --> 00:25:42,490 זה להפעיל משהו במערכת. 522 00:25:42,490 --> 00:25:46,730 אבל אנחנו יכולים להוציא מחוץ לחוק את הדברים האלה ב PHP, כך שאנו לא משתמשים בם. 523 00:25:46,730 --> 00:25:47,400 ולהעלות את הקובץ. 524 00:25:47,400 --> 00:25:49,180 אני הולך לעשות מדהים דבר עם העלאת הקובץ. 525 00:25:49,180 --> 00:25:52,740 אבל כמו שאמרתי לך החבר 'ה, את התיק שלי דבר העלאה לא עובד. 526 00:25:52,740 --> 00:25:54,590 אם הייתי צריך להעלות קובץ עכשיו - 527 00:25:54,590 --> 00:25:57,120 528 00:25:57,120 --> 00:26:00,830 אם הייתי להעלות קובץ, וזו תמונה - 529 00:26:00,830 --> 00:26:03,180 יש לך דבר להעלות זה תמונה. 530 00:26:03,180 --> 00:26:03,660 זה בסדר. 531 00:26:03,660 --> 00:26:04,280 שום דבר לא קורה. 532 00:26:04,280 --> 00:26:10,840 >> אבל אם יש לך קובץ העלאה, עבור דוגמא, והמשתמש בפועל שנוספו 533 00:26:10,840 --> 00:26:19,220 קובץ PHP או קובץ exe או משהו ככה, אז אתה עלול 534 00:26:19,220 --> 00:26:19,740 יש לי בעיה. 535 00:26:19,740 --> 00:26:21,390 זה עבד בעבר. 536 00:26:21,390 --> 00:26:25,202 למרבה הצער בשבילי, זה לא עובד יותר. 537 00:26:25,202 --> 00:26:30,230 אם אני, למשל, להעלות את הקובץ הזה, אני לא מקבל אישור להעלות 538 00:26:30,230 --> 00:26:33,400 הקובץ עקב השרת לא להיות שלי. 539 00:26:33,400 --> 00:26:38,670 אז הבחור ממש חכם. 540 00:26:38,670 --> 00:26:39,610 >> אז אנחנו לא רוצים - 541 00:26:39,610 --> 00:26:40,130 אני הולך להראות לכם חבר 'ה - 542 00:26:40,130 --> 00:26:41,840 בסדר, אלה הם כמה כלים ממש מגניבים. 543 00:26:41,840 --> 00:26:45,100 אז אלה - 544 00:26:45,100 --> 00:26:47,715 תיכנס - אם יש לך חבר 'ה בפיירפוקס - אני מקווה שאתה עושה. 545 00:26:47,715 --> 00:26:54,260 יש שתי תוספות בשם SQL להזריק שלי ובין האתרים סקריפט. 546 00:26:54,260 --> 00:26:56,870 הם פותחים את הצד קטן כמו ברים בצד. 547 00:26:56,870 --> 00:27:01,480 ואם אני היית הולך ל CS60 למשל - 548 00:27:01,480 --> 00:27:04,210 אז מה שהיא עושה זה נראה עבור כל הטפסים ש-- 549 00:27:04,210 --> 00:27:07,220 550 00:27:07,220 --> 00:27:08,760 אני מקווה, אני לא אקבל בצרות בגלל זה. 551 00:27:08,760 --> 00:27:09,190 >> אבל בסדר. 552 00:27:09,190 --> 00:27:12,600 הנה מערכת הסיכה. 553 00:27:12,600 --> 00:27:18,946 לכן, כאשר אני מתחיל לחפש חורים ב המערכת, הדבר הראשון שאני עושה זה 554 00:27:18,946 --> 00:27:21,820 לפתוח את קטן והיפה הזה כלי בצד. 555 00:27:21,820 --> 00:27:24,160 ואני הולך לבחון את הצורות עם התקפות אוטומטית. 556 00:27:24,160 --> 00:27:28,510 ואז מה המשמעות של זה הוא שזה יהיה לאט לפתוח את חבורה של דפדפנים. 557 00:27:28,510 --> 00:27:29,930 הנה חבורה של דפדפנים. 558 00:27:29,930 --> 00:27:33,320 והיא מנסה בכל שילוב של Scripting בין האתרים 559 00:27:33,320 --> 00:27:37,380 שיש ואולי הוא, אם אתה רואה בצד. 560 00:27:37,380 --> 00:27:42,080 >> וזה ייתן לי תוצאה סוג של מה היא התשובה. 561 00:27:42,080 --> 00:27:42,860 כל לעבור. 562 00:27:42,860 --> 00:27:43,910 כמובן, כל מה שהם עוברים. 563 00:27:43,910 --> 00:27:46,190 אני מתכוון, הם ממש חכמים אנשים שם למעלה. 564 00:27:46,190 --> 00:27:48,010 אבל אם אני היה לרוץ - 565 00:27:48,010 --> 00:27:52,050 היה לי פעמים בעבר כאשר אני מפעיל את זה בפרויקט הגמר של התלמידים. 566 00:27:52,050 --> 00:27:56,080 אני פשוט להפעיל SQL הזרק אותי עם כל ההתקפות השונות. 567 00:27:56,080 --> 00:28:00,080 והיא מנסה להזריק SQL שרת סיכה זו. 568 00:28:00,080 --> 00:28:03,590 אז אם אנחנו לגלול למטה, ל למשל, זה אומר - 569 00:28:03,590 --> 00:28:04,960 זה טוב אם זה חוזר. 570 00:28:04,960 --> 00:28:08,250 >> אז זה בדק כמה ערכים מסוימים. 571 00:28:08,250 --> 00:28:11,170 והחזיר את השרת קוד שהיה שלילי. 572 00:28:11,170 --> 00:28:11,780 להסיר באופן זמני. 573 00:28:11,780 --> 00:28:13,030 זה טוב. 574 00:28:13,030 --> 00:28:17,050 575 00:28:17,050 --> 00:28:20,750 הוא מנסה את כל הבדיקות הללו. 576 00:28:20,750 --> 00:28:21,790 אז אתה יכול פשוט להפעיל - 577 00:28:21,790 --> 00:28:27,860 הלוואי שהייתי יכול למצוא באתר אמיתי מהיר שיאפשר לי - 578 00:28:27,860 --> 00:28:29,110 אולי חנות CS50. 579 00:28:29,110 --> 00:28:43,890 580 00:28:43,890 --> 00:28:45,711 >> וואו, זה הולך לוקח הרבה יותר מדי ארוך. 581 00:28:45,711 --> 00:28:53,090 582 00:28:53,090 --> 00:28:55,130 אני אתן לי המבחן הראשון לא סיימתי נכון. 583 00:28:55,130 --> 00:28:57,330 אז זה מתלונן. 584 00:28:57,330 --> 00:28:58,470 אז אלה הם שלושה דברים. 585 00:28:58,470 --> 00:29:00,430 כלים אלה הם ללא תשלום. 586 00:29:00,430 --> 00:29:03,960 אתה יכול להוריד אותם ולהפעיל אותם על האתר שלך, ואת זה יגיד לך אם 587 00:29:03,960 --> 00:29:06,650 יש לך Scripting בין האתרים, אם יש לך SQL, אם יש לך 588 00:29:06,650 --> 00:29:07,900 משהו כמו. 589 00:29:07,900 --> 00:29:12,230 590 00:29:12,230 --> 00:29:14,500 אני סוג של לקלקל. 591 00:29:14,500 --> 00:29:15,550 >> מה שחשוב - 592 00:29:15,550 --> 00:29:17,900 אוקיי, אז אף פעם לא סומך על המשתמש. 593 00:29:17,900 --> 00:29:21,920 לא משנה מה תשומות משתמשך, להפוך את בטוח שאתה לטהר אותה, מנקה אותה, 594 00:29:21,920 --> 00:29:25,300 שלך לבדוק את הדברים הנכונים, כי זה נותן לך את מה שאתה 595 00:29:25,300 --> 00:29:28,240 רוצה שהוא ייתן לך. 596 00:29:28,240 --> 00:29:32,460 תמיד להיות מעודכן במה שמסגרות לך שבעצם אתה משתמש. 597 00:29:32,460 --> 00:29:34,630 אם אתה משתמש במשהו כמו bootstrap - 598 00:29:34,630 --> 00:29:36,340 אני יודע שאתם הולכים להשתמש bootstrap בגלל שהוא הולך 599 00:29:36,340 --> 00:29:38,140 על זה בקרוב בכיתה - 600 00:29:38,140 --> 00:29:43,120 וורדפרס או משהו כזה, בדרך כלל זה יכול להיות פרוץ. 601 00:29:43,120 --> 00:29:44,770 >> ואז אתה אפילו לא יודע. 602 00:29:44,770 --> 00:29:45,800 אתה פשוט מפעיל את האתר שלך. 603 00:29:45,800 --> 00:29:47,360 וזה בטוח לחלוטין. 604 00:29:47,360 --> 00:29:51,730 ואתה יורד. 605 00:29:51,730 --> 00:29:54,000 אז אני לדוג ממש מוקדם. 606 00:29:54,000 --> 00:29:55,770 אבל אני רוצה להודות לPentest Labs. 607 00:29:55,770 --> 00:29:58,140 אני הולך להראות לכם חבר 'ה משהו בשם מעבדות Pentest. 608 00:29:58,140 --> 00:30:05,000 אם אתם באמת מעוניינים מה ביטחון באמת, יש 609 00:30:05,000 --> 00:30:07,300 אתר אינטרנט בשם מעבדות Pentest אם אתם הולכים אליו עכשיו. 610 00:30:07,300 --> 00:30:10,730 נו, טוב, זה לא זה. 611 00:30:10,730 --> 00:30:12,030 אני רק הולך להפעיל אותו ככה. 612 00:30:12,030 --> 00:30:14,400 גוגל אומרת לי את התשובה. 613 00:30:14,400 --> 00:30:16,590 >> על אישור. 614 00:30:16,590 --> 00:30:19,030 וזה מלמד להשתמש בך - אז זה אומר, ללמוד חדירת אינטרנט 615 00:30:19,030 --> 00:30:21,060 בדיקה בדרך הנכונה. 616 00:30:21,060 --> 00:30:23,650 זה מלמד אותך - 617 00:30:23,650 --> 00:30:25,150 אני מקווה, שאתה אדם מוסרי. 618 00:30:25,150 --> 00:30:29,200 אבל זה מלמד אותך איך אתה יכול להסתכל על איך אתה יכול לקבל בתוך אתרי אינטרנט. 619 00:30:29,200 --> 00:30:31,130 ואם אתה לומד איך אתה יכול להיכנס פנימה אתרי אינטרנט, אתה יכול ללמוד כיצד 620 00:30:31,130 --> 00:30:34,960 להגן על עצמך מלקבל אתרים בפנים. 621 00:30:34,960 --> 00:30:39,100 תן לי להתקרב כי אולי אתם לא מסתכלים על זכות זו. 622 00:30:39,100 --> 00:30:46,350 >> מהזרקת SQL לשלם, ולכן סוג של איך אני יכול לקבל מ-SQL 623 00:30:46,350 --> 00:30:48,530 הזרקה להפגיז. 624 00:30:48,530 --> 00:30:53,890 ואתה מוריד מכונה וירטואלית זה. 625 00:30:53,890 --> 00:30:55,690 והמכונה הווירטואלית כבר מגיעה עם האתר שאתה 626 00:30:55,690 --> 00:30:56,780 הולך לנסות את זה הלאה. 627 00:30:56,780 --> 00:30:58,030 אתה מוריד קובץ PDF זה. 628 00:30:58,030 --> 00:31:03,610 629 00:31:03,610 --> 00:31:08,370 וזה יראה לך שורה אחרת שורה מה אתה צריך לעשות, מה שאתה בודק. 630 00:31:08,370 --> 00:31:14,560 זה מה שבעצם תוקף עושה כדי לקבל בתוך אתר. 631 00:31:14,560 --> 00:31:15,750 >> וחלק מהחומר הזה הוא מסובך. 632 00:31:15,750 --> 00:31:17,520 הלוואי שהייתי יכול ללכת על יותר דברים איתכם. 633 00:31:17,520 --> 00:31:21,090 אבל אני דואג שחבר 'ה יש לי לא ממש - 634 00:31:21,090 --> 00:31:23,090 זה מה שעברתי על עם חבר 'ה, בדיקות אינטרנט 635 00:31:23,090 --> 00:31:26,830 לבדיקות חדירה. 636 00:31:26,830 --> 00:31:33,540 לא ממש יודע מה SQL הוא ומה - 637 00:31:33,540 --> 00:31:35,960 הסמינר של קארל ג'קסון הוא מדהים גם כן. 638 00:31:35,960 --> 00:31:37,360 אתם לא יודעים סוג של מה זה. 639 00:31:37,360 --> 00:31:39,450 אבל אם אתה הולך לאתר הזה, ואתה להוריד הדרכות אלה ואלה 640 00:31:39,450 --> 00:31:43,290 קבצי PDF, אתה יכול להעיף מבט על סוג של מה תחום האבטחה באמת 641 00:31:43,290 --> 00:31:46,940 בבדיקות חדירה, לראות איך אתה יכול להגיע לאתרים מבפנים ולהגן על 642 00:31:46,940 --> 00:31:48,020 את עצמך ממנו. 643 00:31:48,020 --> 00:31:56,360 >> אז אם אני עושה סקירת סופר מהירה, זה תהיה למנוע Scripting בין האתרים. 644 00:31:56,360 --> 00:32:00,160 ברצונך להשתמש בכל htmlspecialchars זמן משהו תשומות משתמש. 645 00:32:00,160 --> 00:32:01,580 למנוע הזרקת SQL. 646 00:32:01,580 --> 00:32:04,510 אם אתה עושה את זה, אתה כבר טוב יותר מהרווארד היה 647 00:32:04,510 --> 00:32:06,530 כשהם הלכו לפר. 648 00:32:06,530 --> 00:32:10,510 ולוודא שסיסמות שלך לא בטקסט רגיל. 649 00:32:10,510 --> 00:32:16,220 הפוך לא רק לעשות חשיש בטוח שאתה בכיוון אחד אותם, אבל שאתה משתמש בקריפטה, PHP 650 00:32:16,220 --> 00:32:18,670 פונקציה שהראיתי לכם חבר 'ה. 651 00:32:18,670 --> 00:32:20,060 בדרך זו, אתה צריך להיות טוב. 652 00:32:20,060 --> 00:32:25,830 >> כמו כן, אם החברים שלך ייאפשרו לך, לרוץ SQL הזרק אותי באתרי האינטרנט שלהם. 653 00:32:25,830 --> 00:32:28,140 Scripting בין האתרים המנוהל באתרי האינטרנט שלהם. 654 00:32:28,140 --> 00:32:33,720 ואתם תראו הרבה אתרים אלה יש לי המון נקודות תורפה. 655 00:32:33,720 --> 00:32:40,400 זה מדהים כמה אנשים שוכחים כדי לטהר בסיסי הנתונים שלהם או לעשות 656 00:32:40,400 --> 00:32:46,340 בטוח מה המזינים של האדם לא קוד תסריט. 657 00:32:46,340 --> 00:32:47,200 על אישור. 658 00:32:47,200 --> 00:32:49,182 אני די הסתיים ממש מוקדם. 659 00:32:49,182 --> 00:32:56,510 אבל אם למישהו יש שאלות על שום דבר, אתה יכול לצלם אותי שאלה. 660 00:32:56,510 --> 00:32:56,630 כן. 661 00:32:56,630 --> 00:32:56,970 ללכת, ללכת. 662 00:32:56,970 --> 00:32:59,846 >> קהל: אני רק רוצה לשאול, אתה יכול להסביר איך הקובץ 663 00:32:59,846 --> 00:33:03,160 להעלות בדיוק עובד. 664 00:33:03,160 --> 00:33:03,480 >> לוצ'יאנו ארנגו: כן. 665 00:33:03,480 --> 00:33:06,350 אז תן לי להראות לך את הקובץ להעלות ממש מהר. 666 00:33:06,350 --> 00:33:11,300 אז להעלות קובץ - 667 00:33:11,300 --> 00:33:14,500 הבעיה שנינות להעלות קובץ כרגע הוא ש-- 668 00:33:14,500 --> 00:33:18,541 אני הולך לפתוח את הקוד, כך שחבר 'ה לראות את הקוד מאחורי הקלעים. 669 00:33:18,541 --> 00:33:22,390 670 00:33:22,390 --> 00:33:24,305 וזה הוא להעלות. 671 00:33:24,305 --> 00:33:28,030 672 00:33:28,030 --> 00:33:31,560 הנה קוד לקובץ הועלה. 673 00:33:31,560 --> 00:33:33,980 >> אנחנו מנסים להיכנס לזה ספרייה לכאן. 674 00:33:33,980 --> 00:33:37,380 675 00:33:37,380 --> 00:33:44,880 ואנחנו מנסים, ברגע שהקלט קובץ, קובץ Isset - ולכן כאשר יש 676 00:33:44,880 --> 00:33:50,900 להגיש בקבצים, תמונה ש, ולאחר מכן אנחנו מנסים להעביר את זה כאן. 677 00:33:50,900 --> 00:33:51,910 אנחנו תופסים את הקובץ לכאן. 678 00:33:51,910 --> 00:33:58,350 השיטה היא POST, סוג, תמונה, קובץ. 679 00:33:58,350 --> 00:33:59,630 ואנחנו שולחים בקובץ זה. 680 00:33:59,630 --> 00:34:03,910 ואז ברגע שאנחנו מקבלים את זה, ולכן ברגע שקובץ יש תמונה, אנחנו מנסים לשלוח אותו 681 00:34:03,910 --> 00:34:05,060 לספרייה זו. 682 00:34:05,060 --> 00:34:09,814 >> הבעיה היא שאתר האינטרנט הוא לא נותן לי ללכת לספרייה זו, 683 00:34:09,814 --> 00:34:12,239 משום שהיא אינה רוצה אותי לחזור. 684 00:34:12,239 --> 00:34:13,489 הוא לא רוצה שאני אלך - 685 00:34:13,489 --> 00:34:15,620 686 00:34:15,620 --> 00:34:17,070 אני צריך ללכת - אז הנה להעלות. 687 00:34:17,070 --> 00:34:17,639 הנה תמונות. 688 00:34:17,639 --> 00:34:21,780 אני צריך ללכת כל הדרך חזרה ל מתחיל והכניס אותו לשם ולאחר מכן 689 00:34:21,780 --> 00:34:23,820 ללכת ולשים אותו לתוך הספרייה. 690 00:34:23,820 --> 00:34:30,000 אז אם אני רץ חלון מסוף, ואני רוצה להעביר קובץ - 691 00:34:30,000 --> 00:34:30,409 [לא ברור] 692 00:34:30,409 --> 00:34:32,159 אפשר לראות את זה. 693 00:34:32,159 --> 00:34:37,940 אם אני רוצה להעביר את קובץ, יש לי לשים את שם הקובץ ולאחר מכן 694 00:34:37,940 --> 00:34:40,860 נתיב מלא אני רוצה לשלוח אותו. 695 00:34:40,860 --> 00:34:45,110 >> ולאחר מכן השרת לא נותנים לי לחזור לשם. 696 00:34:45,110 --> 00:34:46,929 ואז זה לא נותן לי לי להגיע לקובץ זה. 697 00:34:46,929 --> 00:34:47,670 אבל בדרך כלל - 698 00:34:47,670 --> 00:34:49,360 כך שאין קוד ל טעינת קובץ. 699 00:34:49,360 --> 00:34:52,260 אז בדרך כלל מה שיקרה הוא ש אדם לא בודק אם הקובץ שלי 700 00:34:52,260 --> 00:34:57,920 מסתיים. jpeg, אז הייתי רוצה לבדוק. 701 00:34:57,920 --> 00:35:00,054 תן לי לפתוח את הדוגמא אמיתית מדי מהיר. 702 00:35:00,054 --> 00:35:07,766 703 00:35:07,766 --> 00:35:08,260 >> על אישור. 704 00:35:08,260 --> 00:35:09,230 זכותו של אדם זה - 705 00:35:09,230 --> 00:35:11,980 כך למשל, שני בודק אם preg_match - 706 00:35:11,980 --> 00:35:14,180 הנה זה כאן - 707 00:35:14,180 --> 00:35:19,660 כדי לוודא שבסופו PHP, וזה טוב. 708 00:35:19,660 --> 00:35:20,580 זה טוב. 709 00:35:20,580 --> 00:35:22,820 אבל יש גדול אמיתי בעיה עם זה. 710 00:35:22,820 --> 00:35:24,600 זה טוב. 711 00:35:24,600 --> 00:35:44,190 אבל אם הייתי צריך לשים את קובץ בשם myfavoritepicture.php.jpeg, שיכולתי 712 00:35:44,190 --> 00:35:50,060 עדיין פוטנציאל להיפטר jpeg ולהפעיל it.k זה PHP של מסוכן. 713 00:35:50,060 --> 00:35:53,850 אתה לא רוצה שהאדם יוכל כדי להפעיל קוד באתר שלך. 714 00:35:53,850 --> 00:35:55,750 >> אבל אז. Jpeg מאפשר לו לעבור. 715 00:35:55,750 --> 00:36:00,720 הרעיון הוא מה שאתה באמת רוצה לעשות הוא לא לוקח את קבצים, א אבל, בסדר, מה 716 00:36:00,720 --> 00:36:07,500 אתה באמת רוצה לעשות הוא לוודא כי אתה קורא על העולם כולו. 717 00:36:07,500 --> 00:36:08,720 ואין שום דבר. PHP בו. 718 00:36:08,720 --> 00:36:10,500 אין. Php ב שם קובץ כולו. 719 00:36:10,500 --> 00:36:12,780 >> קהל: אבל אתה יכול לשים. jpeg בסופו של הדבר. 720 00:36:12,780 --> 00:36:15,830 השרתים עדיין להריץ את הקוד. 721 00:36:15,830 --> 00:36:16,870 >> לוצ'יאנו ארנגו: לא, זה לא יהיה לרוץ בהתחלה. 722 00:36:16,870 --> 00:36:22,310 אתה צריך לחזור ולנסות כדי לראות אם אתה יכול - 723 00:36:22,310 --> 00:36:24,210 >> קהל: אז יש לנו - 724 00:36:24,210 --> 00:36:26,020 בסדר, רק קבוצה נוספת שכרוכה - 725 00:36:26,020 --> 00:36:26,936 >> לוצ'יאנו ארנגו: כן. 726 00:36:26,936 --> 00:36:29,230 >> קהל: אישור. 727 00:36:29,230 --> 00:36:31,486 >> לוצ'יאנו ארנגו: כן. 728 00:36:31,486 --> 00:36:31,900 על אישור. 729 00:36:31,900 --> 00:36:32,865 יש עוד שאלות? 730 00:36:32,865 --> 00:36:33,180 על אישור. 731 00:36:33,180 --> 00:36:37,350 אני הולך לעזוב את זה ולמיין של לנסות לראות אם אתם יכולים - 732 00:36:37,350 --> 00:36:40,490 האחרים הם קצת יותר מסובך משום שהם דורשים הרבה 733 00:36:40,490 --> 00:36:44,050 יותר ידע של SQL מאשר רק ידע מתחיל של SQL האינטרנט הוא ו 734 00:36:44,050 --> 00:36:47,010 מה-JavaScript. 735 00:36:47,010 --> 00:36:49,730 אבל אני הולך לנסות לשמור על הקשר הזה, ואני מקווה שאתם תלמדו 736 00:36:49,730 --> 00:36:53,230 על זה ולנסות להציץ מה אתה יכול לעשות וכמה דוגמאות 737 00:36:53,230 --> 00:36:54,420 אתה יכול לעבור אותו. 738 00:36:54,420 --> 00:36:56,020 >> מישהו יש לך אחר שאלות בקשר לזה? 739 00:36:56,020 --> 00:36:59,387 740 00:36:59,387 --> 00:37:00,350 קדימה. 741 00:37:00,350 --> 00:37:01,170 כן, לירות, תירה. 742 00:37:01,170 --> 00:37:01,580 כן, קדימה. 743 00:37:01,580 --> 00:37:01,850 קדימה. 744 00:37:01,850 --> 00:37:02,310 >> קהל: אישור. 745 00:37:02,310 --> 00:37:08,870 אז שמעתי על איך קסם ציטוטים אינם מאובטחים מספיק. 746 00:37:08,870 --> 00:37:09,280 >> לוצ'יאנו ארנגו: מה - 747 00:37:09,280 --> 00:37:10,110 ציטוטים קסם? 748 00:37:10,110 --> 00:37:10,595 >> קהל: כן. 749 00:37:10,595 --> 00:37:15,445 אז זה מוסיף - לכן בכל פעם שאתה קלט משהו, זה תמיד מוסיף ציטוטים. 750 00:37:15,445 --> 00:37:15,930 >> לוצ'יאנו ארנגו: כן. 751 00:37:15,930 --> 00:37:16,000 כן. 752 00:37:16,000 --> 00:37:16,496 על אישור. 753 00:37:16,496 --> 00:37:19,113 >> קהל: ואז אני למרות שעבד, אבל אז חיפשתי אותו. 754 00:37:19,113 --> 00:37:21,648 והוא אמר שזה לא טוב. 755 00:37:21,648 --> 00:37:23,050 אבל אני לא בטוח למה. 756 00:37:23,050 --> 00:37:23,360 >> לוצ'יאנו ארנגו: כן. 757 00:37:23,360 --> 00:37:26,240 >> קהל: אין להשתמש בציטוטי קסם, בגלל שזה לא בטוח. 758 00:37:26,240 --> 00:37:26,360 >> לוצ'יאנו ארנגו: אישור. 759 00:37:26,360 --> 00:37:31,735 ציטוטים אז קסם הוא כשאתה מכניס SQL וזה כבר מוסיף את הציטוט בשבילך. 760 00:37:31,735 --> 00:37:33,520 >> קהל: זה תמיד מוסיף ציטוטים סביב כל מה שאתה מכניס פנימה 761 00:37:33,520 --> 00:37:34,210 >> לוצ'יאנו ארנגו: כן. 762 00:37:34,210 --> 00:37:37,190 אז הבעיה עם זה היא ש-- 763 00:37:37,190 --> 00:37:38,445 אני נסתכל - 764 00:37:38,445 --> 00:37:41,390 >> קהל: איך זה לרכוש משפט SQL? 765 00:37:41,390 --> 00:37:44,690 או שאני מניח שזה יכול להיות כמו ציטוט לבחור. 766 00:37:44,690 --> 00:37:49,030 >> לוצ'יאנו ארנגו: כן, אתה צריך ציטוטים טובים לSQL. 767 00:37:49,030 --> 00:37:52,900 >> קהל: לא, אבל השרת עושה את זה בשבילך. 768 00:37:52,900 --> 00:37:54,460 >> לוצ'יאנו ארנגו: ציטוטים קטנים אלה ממש כאן, הציטוטים הקטנים האלה? 769 00:37:54,460 --> 00:37:55,670 >> קהל: כן. 770 00:37:55,670 --> 00:37:56,450 >> לוצ'יאנו ארנגו: כן. 771 00:37:56,450 --> 00:37:59,860 הבעיה היא שאתה יכול להגיב מתוך שעבר - 772 00:37:59,860 --> 00:38:05,770 אוקיי, אז מה אני יכול לעשות הוא שאני יכול להגיב החוצה - אז בואו נסתכל על - תן לי 773 00:38:05,770 --> 00:38:07,920 לפתוח קובץ עריכת טקסט. 774 00:38:07,920 --> 00:38:09,610 תנו לי רק לערוך את זה ממש כאן באופן ישיר. 775 00:38:09,610 --> 00:38:19,510 776 00:38:19,510 --> 00:38:20,400 על אישור. 777 00:38:20,400 --> 00:38:23,710 אתם יכולים לראות את זה בצורה ברורה? 778 00:38:23,710 --> 00:38:29,730 מה אני יכול לעשות הוא שאני יכול להגיב את האחרון שבהם. 779 00:38:29,730 --> 00:38:32,190 זה להגיב מתוך האחרון. 780 00:38:32,190 --> 00:38:36,760 ואז אני אשים אותו כאן, לשים כל הדברים זדוניים כאן. 781 00:38:36,760 --> 00:38:39,840 782 00:38:39,840 --> 00:38:42,630 >> כך שהמשתמש למעשה המזינים, נכון? 783 00:38:42,630 --> 00:38:45,230 המשתמש לא מזין הדברים, נכון? 784 00:38:45,230 --> 00:38:47,430 זה מה שאני הולך לקלט כ האדם מנסה להיכנס פנימה. 785 00:38:47,430 --> 00:38:49,430 אני הולך לשים ב-- 786 00:38:49,430 --> 00:38:59,290 787 00:38:59,290 --> 00:39:00,180 זה גרש אחד. 788 00:39:00,180 --> 00:39:01,760 זה פשוט משורבט בטעות. 789 00:39:01,760 --> 00:39:15,080 790 00:39:15,080 --> 00:39:19,400 ואז מה הקוד הוא עומד לעשות - 791 00:39:19,400 --> 00:39:20,190 מצטער, אני הולך לקחת את זה. 792 00:39:20,190 --> 00:39:22,170 מה הקוד הוא הולך לעשות הוא זה הולך להוסיף ראשון 793 00:39:22,170 --> 00:39:24,030 מרכאות כאן. 794 00:39:24,030 --> 00:39:26,040 וזה הולך להוסיף אחרון גרש גם כן. 795 00:39:26,040 --> 00:39:29,350 796 00:39:29,350 --> 00:39:33,270 >> וזה גם הולך להוסיף הסימן אחרון, אחרון ציטוט. 797 00:39:33,270 --> 00:39:37,380 אבל אני להעיר ציטוט אלה מסמן החוצה, כך שהם לא לרוץ. 798 00:39:37,380 --> 00:39:41,440 ואני מסיימת הציטוט הזה תציין כאן. 799 00:39:41,440 --> 00:39:42,290 האם אתה מבין? 800 00:39:42,290 --> 00:39:43,750 הלכת לאיבוד? 801 00:39:43,750 --> 00:39:45,880 אני יכול להגיב לציטוט האחרון סימן, ולטפל 802 00:39:45,880 --> 00:39:46,680 גרש ראשון. 803 00:39:46,680 --> 00:39:47,350 >> קהל: ובדיוק גימור את הראשון. 804 00:39:47,350 --> 00:39:47,480 >> לוצ'יאנו ארנגו: כן. 805 00:39:47,480 --> 00:39:48,400 ורק לסיים את הראשון. 806 00:39:48,400 --> 00:39:48,790 כן, זה נכון. 807 00:39:48,790 --> 00:39:50,800 זה מה שאני יכול לעשות. 808 00:39:50,800 --> 00:39:51,890 כן. 809 00:39:51,890 --> 00:39:52,980 שאלות אחרות כך? 810 00:39:52,980 --> 00:39:54,230 זו שאלה גדולה. 811 00:39:54,230 --> 00:39:56,960 812 00:39:56,960 --> 00:39:59,790 לא, כן, אולי. 813 00:39:59,790 --> 00:40:06,150 יש לקוות, שאתם יהיו סוג של לעשות יותר הגיוני כשאתה לומד SQL ו 814 00:40:06,150 --> 00:40:06,650 דברים כאלה. 815 00:40:06,650 --> 00:40:07,980 אבל לוודא שאתה - 816 00:40:07,980 --> 00:40:10,340 לשמור על כלים אלה בשעון. 817 00:40:10,340 --> 00:40:12,760 מצטער, הכלים האלה לכאן. 818 00:40:12,760 --> 00:40:14,200 כלים אלה הם גדולים. 819 00:40:14,200 --> 00:40:17,190 אם למישהו יש שאלות, גם אתה יכול שלח לי. 820 00:40:17,190 --> 00:40:19,020 זה הדוא"ל הרגיל שלי. 821 00:40:19,020 --> 00:40:25,015 וזה בדוא"ל העבודה שלי, אשר כאשר אני עובד בים. 822 00:40:25,015 --> 00:40:26,040 >> בסדר, תודה. 823 00:40:26,040 --> 00:40:26,740 תודה, חבר 'ה. 824 00:40:26,740 --> 00:40:27,860 אתה טוב ללכת. 825 00:40:27,860 --> 00:40:28,830 אתה לא חייב להישאר כאן. 826 00:40:28,830 --> 00:40:29,570 לא למחוא כפיים. 827 00:40:29,570 --> 00:40:30,170 זה מוזר. 828 00:40:30,170 --> 00:40:31,420 בסדר, תודה, חבר 'ה. 829 00:40:31,420 --> 00:40:32,320