>> ЛУЧАНО Аранго: Добре, момчета.
Моето име е Luciano Arango.
Аз съм второкурсник в Adams House.
И ние ще трябва да се говори за уеб сигурност активна отбрана.
Така че аз работя за кабинета на информационния Сигурността в SEAS.
И през лятото, аз интерниран в SeguraTec, която е била информация
охранителна фирма, която служеше за Банката на Колумбия.
Това е най-вече, когато се научих това, което съм научил досега.
>> И така някои от материала, който сме Ще отида днес, ние не трябва
наистина говори в клас.
Но скоро ще го направим.
Това ще бъде като SQL, JavaScript.
И ние наистина не са отишли ​​над него.
Така че може да се справи с полет през нея, и може би не знаете някои неща.
Но скоро, ще го научите.
И всичко това ще има смисъл.
Също така още нещо -
останете етично.
Някои от нещата, които сте научили, вие може да се използва в не-етични начини.
>> Ако това е твоя, определено опитам.
Аз определено мотивира момчета да опитате вашите собствени сървъри, опитайте
става вътре в тях.
Виж, ако можете да ги проникне, ако можете да получите вътре в тях.
Но не на някой друг.
Полицаи наистина не обичат шегите и Като цяло, ние поставяме този тук.
Бяхме каша наоколо.
Те получават наистина ядосан.
>> Така че над главата на този сайт.
Имам я отвори точно тук.
Това е сайт, и да го има куп примери.
Какво се случва, е, че първият пример е вид ще бъде много по-лесно
от последния пример в известен смисъл че първият пример
е напълно несигурно.
И последната една е нещо, което е нормален човек би направил за уеб сигурност.
Но все още можете да сортиране на се получи около това.
И ние ще се фокусира върху един и две, примери един и два.
>> OK.
Нека да започнем с крос-сайт скриптове.
В JavaScript се движат по браузъра на клиента.
Това е език за програмиране, който използвате да се изпълнява на браузъра на клиента, така че
не е нужно да се актуализира на интернет страницата и да се върнете към сървъра.
Имаш го изпълняват.
Така например, Facebook, не е нужно да се презареди на сайта за нов статут
новини идват.
Това е използване на JavaScript, за да генерира всички тези неща.
Така че ние може да се инжектира зловреден JavaScript в уебсайтовете.
И по този начин, когато ние изпратите линк към някой, бихме могли някак да го изпратите с
някои от кода, който искаме.
>> Налице е трайна и не-устойчиви JavaScript -
устойчиви и не-устойчиви крос-сайт скриптове, искам да кажа.
И разликата е, че персистираща JavaScript е, че ще бъде
записан на сайта.
И не-устойчиви ще бъде JavaScript че действително ще се случи само веднъж.
Така че нека да разгледаме един пример много бързо.
>> OK.
Така че този сайт, просто, нищо не се случва тук.
И ние ще се опитаме да вмъкнете някои JavaScript.
Така че начина, по който започнете да пишете JavaScript е да започнем с началото сценария.
И ние го затворите с скрипт.
Ние просто ще се сложи съобщение -
Ще ви покажа -
нащрек.
Alert е функция, която JavaScript използва, за да покаже нещо.
Така че нека да опитаме наистина бързо.
Отивам да отида, предупреждение здравей.
Е, аз забравих да си -
OK.
Така че това е просто.
>> Ние поставяме JavaScript на уебсайт, и тя дойде.
И това нещо се случва само на нашия сайт, нали?
Така изглежда, че това не е проблем, нали?
Искам да кажа, как може да се използва това злонамерено?
Така че начинът, по който хакерите правят това е много проста.
Те ще го вземете.
Те могат да изпращат тази връзка за вас.
Ако Ще изпратя тази връзка да ви точно сега, и ти го отвори, тя ще
кажа, здравей, казвайки, че моя сайт е да кажа здрасти.
>> И така, ако трябва да кажа нещо малко по-умни, ако аз издърпайте нагоре
JavaScript функция I вид на вече писа -
но ако се вгледате в него, аз ще отида Свърши преди да съм го написал.
Така че ние отиваме да зададете изчакване.
Отиваме да се изчака няколко секунди.
В действителност, ние ще чакаме, ако Аз не греша, пет секунди.
Това се отнася в милисекунди.
И тогава това, което ще направя, е, че сме ще предупредим, че вход
във времето, за да се регистрира отново инча
И ние няма да се промени местоположението на друго място.
>> Така че, ако изпратите този сайт, за да някого, те ще бъдат
браузвате наоколо, спокойно.
Нищо не се случва.
И пет секунди, тя ще да се каже, си паролата изтече.
Моля, влезте отново инча
След като щракнете върху OK, аз отивам да да ги отведе до друг сайт.
Предполага се, че на сайта няма да да бъде подобна на уеб сайт, който
те са в преди.
И те започват да влезете си пълномощията в вместо на моя сайт
техния уебсайт.
>> И така, аз може да изпрати хора на имейл с тази връзка.
Аз казвам, о, ето линк.
Това е банка, например.
Аз казвам, тук, отидете на този линк.
И след като го изпратите, те са ще бъде разглеждащи наоколо.
Мога да чакам за 15 секунди, 20 секунди и след това поп че моля влезте отново в
подпише отново.
Вие, момчета, да го опитате с много повече неща.
Тя е сложно, защото вие Не съм виждал JavaScript, така че може да
не знаете някои функции.
Но всичко, което трябва да направите е да започнете с скрипт, завършва с скрипт.
И можеш да сложиш нещо в средата.
>> Alert е функция, изчакайте.
Местоположение Window ви отвежда на ново място.
Но можете да направите много повече.
И така, идеята е, че ние приемаме, че на разстояние.
Ако отида на пример две, и аз сложи в същия този кодекс, това е
не ще да работи.
Така че това е печат на всичко, защото какво този сайт първоначално
прави се ако сложа нещо тук, тя ще го разпечатате точно тук.
Така че това не е нищо печат.
Този пример е всъщност проверка за да видите дали скрипт е там.
Така че, да, давай напред.
Питай ме.
>> ПУБЛИКАТА: Не е изпращане А Вземи или публикувате искане?
>> ЛУЧАНО Аранго: Да. те са изпращане на заявка за GET.
>> ПУБЛИКАТА: Така ли?
>> ЛУЧАНО Аранго: Да.
Също браузъри използват публикувайте искания.
Но аз се опитвам да покажа заявки GET така че да можем да видим какво е
всъщност става.
И така, ако се вгледаме в този кодекс - така че тя не работи вече.
И ако можем да разгледаме в този код, тя ще бъде в пример две.
Това, което човек прави, лицето , отговарящ за този браузър -
отвори, OK -
се замени думата сценария.
Това е PHP, които вие може са видели малко още.
>> Той просто замяна на Думата скрипт с име.
Така обаче, ако отида напред и съм сложил в -
ако аз си взема код отново, и аз отивам да го променят съвсем малко.
Вместо скрипт, аз отивам да се промени то за скрипт с капитал R. И
отиваме да видим дали този код работи.
Така че не го разпечатате, което е добър знак.
И се надяваме, че в още две секунди, това ще изскочи.
>> Вашето потребителско име изтече.
OK.
Всичко е наред.
Така че проверка за скрипт може не е задължително да работи.
Лицето -
то също може да се провери за скрипт главни букви, скрипт, с малки букви, ул. случай
за сравнение, се уверете, че те са едни и същи.
Но хакерът все още може да се направи нещо като това, което направихме в Vigenere когато се преместихме
обратно няколко герои, се движат напред.
И това може да разбера как да се сложи скрипт се върна там, така че може да се инжектира
този скрипт.
>> Така че това, което искате да използвате htmlspecialchars е да
защита на вашия сайт.
И това, което прави е да го прави сигурни, че това, което ще ви постави в -
например, цитати или този по-голяма или по-малко от -
се заменя с нещо че няма да бъде -
позволете ми да увеличите тук -
действителната амперсант.
Той ще замени тези специални HTML символи, които ще видим, когато сме
Говоря за -
О, това ще ме отведе обратно към -
тези герои тук.
>> Това означава, че нещо е смешен.
За HTML, че започва скоба ни казва, че нещо
HTML свързаната идва.
И ние искаме да се отървем от това.
Ние не искаме да се сложи HTML в website.k Ние не искаме на потребителя да бъде
в състояние да сложи нещо в сайта им , които могат да се отразят на тяхната интернет страница, като
скрипт или HTML или нещо подобно.
Важното е, че вие дезинфекцирайте приноса на потребителите.
>> Така че потребителите може да въведе много неща.
Той може да добавя един куп неща, които да опитате да подвежда вашия браузър в още
работи този скрипт код.
Какво искате да направите, е не просто погледнете за скрипт, но изглежда за всичко
че може да бъде опасен.
И htmlspecialchars ще правят това за вас, така че не е нужно
да се тревожи за това.
Но не се опитвайте да направите от себе си нещо със собствения си код.
Всички ли са наясно по XSS?
>> OK.
Да отидем в SQL инжекция.
Така че, SQL инжекция е може би най- номер едно уязвимост
в различни уебсайтове.
Искам да кажа, е добър пример -
Просто се изследва отдалечени за това нещо.
И намерих тази страхотна статия, където Видях, че Харвард е било нарушено,
е опростен.
И аз се чудех, добре, как ще го правят?
Харвард е най-страхотното, най- осигуряване университет някога.
Нали така?
Е, да наруши сървърите, хакерите са използвали
техника, наречена SQL инжекция.
>> Така че това се случва за един ден за ден основа.
Хората забравят, да се вземе предвид за SQL инжекция.
Харвард прави.
Мисля, че тук пише, Принстън, Станфорд, Корнел.
Е, как да направим - така че какъв е този SQL инжекция, която е обединяване на всички тези
хора долу?
OK.
Така че SQL е език за програмиране, който ние използваме за достъп до бази данни.
Това, което ние правим, е да изберете -
И така, какво пише в момента, е да изберете всичко от масата.
>> SQL, той се променя в тези бази данни , които имат маси, пълни с информация.
Така че изберете всичко от потребители когато наименованието е потребителско име.
Нали така?
Обикновено е достатъчно.
Идеята на SQL инжекция е, че вмъкнете някакъв зловреден код, който ще
трик сървъра в течаща нещо по-различно от това, което го
първоначално е действал.
Така че нека да кажем за потребителско име, ще се постави в една или равен на 1.
Така ще се постави в една или равен на 1.
Начинът, по който тя ще прочетете сега ще бъде изберете от потребители, всичко от
потребители - това е всичко -
където име е име, но потребителско име или е равен на 1 милиард.
>> Така че името не е нищо или едно е равно на 1.
1 е равно на 1 винаги е вярно.
Така че това винаги ще върне информация от потребителите.
OK.
Ние не трябва да имат правилното потребителско име.
Ние можем само да има нещо, което ние искаме, и тя ще се върне информация
че имаме нужда.
Нека разгледаме още един пример.
>> Ако ние сме изберете всичко от употреба, където име е ПАДАЩИ потребители на маса -
И така, какво мислиш, че тази воля правя ако сложа в потребителското име
като потребители DROP TABLE?
Всеки, който има идея?
Да.
>> ПУБЛИКАТА: Ще кажа той да зареже всички маси.
>> ЛУЧАНО Аранго: Той ще ни каже да зареже всичко в сайта,
всичко в базата данни.
И това, което хората използват това за - така Отивам да ви покажа момчета.
I забранил отпадане таблиците защото аз не искате
момчета, за да паднат моите маси.
Нека хвърлим един поглед на това.
Така че това просто дърпа нагоре информацията за определен човек.
И така, как можем да знаем дали това е засегнати от SQL инжекция.
Отиваме да се провери много бързо ако можем да сложим нещо -
позволете ми да копирате кода.
Отивам да го прегледаме в секунда.
Отивам да се сложи корен и едно е равно на 1.
>> Това право тук, това знак за процент 23 -
какво всъщност е, ако аз изглежда точно тук, в -
Между другото HTML отнема в цифри, ако да разгледаме, когато сложих в пространството
тук - ако бях в космоса нещо тук, то той се променя до 2 процента.
Смятате ли, момчета, вижте това тук когато сложих в пространството?
Начинът, по който тя работи е само, че можете да изпрати стойности ASCII чрез HTML.
Така че той замества, например, пространство с процента на 20.
Аз не знам, ако вие съм виждал това преди.
>> Той заменя на hashtag с процента 23.
Имаме нужда от hashtag в края на или изявление, така че ние можем да кажем на
база данни, да се забрави да коментирате тази последна точка и запетая в края.
Искаме тя да не мисля за това.
Ние просто искаме да стартирате всичко че имаме предварително и
коментирам това.
Нека хвърлим един поглед към него.
>> Така че, ако аз трябваше да сложи нещо не е наред - нека да кажем, например, сложих две равни
1, той не ми даде нищо.
Когато сложих в едно е равно на 1, и го прави върнете нещо, това ми казва, че
това е уязвима на SQL инжекция.
Сега знам, че каквото и да Сложих след това -
и например, пускате таблици или нещо подобно
Определено ще работи.
Знам, че е уязвим за SQL инжекция защото знам, че
под капака, това е отдаване под наем ми направи едно е равно на едно нещо.
OK?
>> И ако се вгледаме в тези други такива, номер две и номер три, това е
ще се направи малко по- на проверка под
качулка на какво е то.
Така че всеки, който даде възможност на спад Все още нищо или са се опитали?
Мислите ли, нещо като получите SQL все още?
Защото знам, че момчетата не са го видели още, така че това е вид
объркващо за вас, момчета.
Нека хвърлим един поглед.
Така че това, което е начин да се предотврати SQLI?
OK.
Така че това е наистина важно, защото момчета определено искат да се предотврати
това във вашите сайтове.
>> Ако не, всички ваши приятели ще да се шегува с теб, когато те капка всички
Вашите маси.
Така че идеята е, че ремонт на SQL по определен начин, докато ти мач
това, което потребителят входовете с определен низ.
Така че начина, по който това работи ли е получаване на данни.
Вие избирате име, цвят и калории от база данни, наречена плодове.
И тогава, когато е по-малко калории, отколкото, и ще се постави въпросителен знак там
Казваш, че започваш да се вход нещо в секунда.
>> И цвета е равен, и ние поставяме въпрос марка казват, че ще
въвеждане нещо в секунда, както добре.
OK?
И след това ние го изпълни, извеждайки в 150 и червено.
И това ще провери уверите, че тези две -
този масив ще проверява дали тези две са цяло число и
че това е низ.
Тогава да отидем и ние донесе всички, ние го сложи в червено.
Това означава, че ние донесе всичко.
Това означава, че ние всъщност се изпълни SQL изявление и да го пуснат обратно в червено.
Тук ние правим същото, но ние направи същото за жълто.
И ние донесе всичко.
>> И по този начин, можем да предотвратим потребителя от възможността за въвеждане на нещо
, че не е това, което е определено, низ или цяло число, например.
Аз говорех по-рано за разчита на другите.
Когато вие започнете вашия проект, вие сте най-категорично ще използваме
работят поетапно или нещо подобно.
Били ли сте някога, използвани Wordpress?
Вероятно вие момчета са използвали Wordpress, най-вероятно.
Така че проблемът с използването неща на други хора -
Аз съм просто ще Google много бързо Wordpress уязвимост.
>> Ако аз извадя това точно сега -
Аз буквално направи две секунди Google.
Ние можем да видим, че Wordpress -
това е с дата през септември '12.
26 се обновява.
Конфигурацията по подразбиране на Wordpress преди 3.6 не пречи на тези
някои качвания, които биха могли да направи по-лесно за
крос-сайт скриптове атаки.
Така че една история на бързо, след като ние работехме с - така че аз бях, през лятото, работещи на
стаж.
И ние работехме с вид като дружество с голяма кредитна карта.
>> И те разчитат на нещо, наречено -
Аз не знам, ако вие някога съм играл с един продукт, наречен Joomla.
Joomla е продукт, който се използва за контрол - нещо подобно на
Wordpress, използвани за изграждане на уеб сайтове.
Така че те имаха своя уебсайт работи върху Joomla.
Това всъщност е кредитна карта фирма в Колумбия.
Аз ще ви отведе до тяхната сайт много бързо.
>> Така че те са използвали Joomla.
И те не бяха актуализира Joomla за най-новото попълнение.
И така, когато ние бяхме като погледнете кода си, ние бяхме в състояние действително да
влезем вътре кода си и да открадне всички информация за кредитна карта, която те са имали,
всички номера на кредитни карти, имената, адресите.
И това е просто -
и техният код е съвършено глоба.
Те имаха голямо код.
Това беше всичко сигурност.
Те проверяват всички бази данни.
Те се е убедил, крос-сайт скриптове беше наред.
>> Но те използват нещо, което не е било актуализира, че не е сигурна.
И така, че да ги доведе до - така вие момчета Определено ще използвам друга
код, рамки на хората на други хора да изградят своя уебсайт.
Уверете се, че те са сигурни, защото понякога това не си ти, този, който
прави грешка.
Но някой друг прави грешка, и тогава да падне заради това.
>> Пароли и PII.
Така пароли.
OK.
Нека да разгледаме най-пароли много бързо.
OK.
Моля, кажете ми, че всеки използва защитен -
Аз съм с надеждата всички тук използва сигурни пароли.
Аз съм просто отдаване под наем, които в като предположение.
Така че, вие определено ще съхранява пароли за вашия уеб сайтове.
Ти започваш да се направи нещо подобно логин или нещо подобно.
Важното е да не се съхранява пароли в обикновен текст.
Това е изключително важно.
Вие не искате да съхраните парола в обикновен текст.
>> И вие определено не искам да я съхранява в един начин хеш.
Така че това, което е един от начините за сегментиране е, че когато генериране на една дума, когато поставите този
дума в хеш функция, тя ще генерира обратно някакъв загадъчен
съобщение или загадъчен набор от ключове.
Аз ще ви покажа един пример.
Отивам да хеш те дума password1.
Така md5 хеш ще ме върне някаква странна информация.
>> Проблемът е, че хората там че искал да отиде в сайтове имат
вече разбра сортиране на всички хешове на md5.
Това, което те са се те седна на тяхната компютри, и те сегментира всеки
единствен възможен дума там, докато те имам нещо като какво е това.
Ако аз трябваше да гледам това нагоре -
Аз просто хвана този хеш.
Ако получа тази хеш от -
ако отида в един сайт, и аз намирам този хеш, защото аз стигнем до
бази данни, и аз го гледам, някой вече го измисли за мен.
>> Да.
Така че хората седнаха, и каквото и md5 хашиш, че сте поставили, те ще
се върне към вас нещо че е една дума.
Ако хеш друга дума, като -
Аз не знам -
trees2.
Аз не искам да бъда разочарован от моите Google търсения.
Ето го, trees2.
Така че много сайтове все още използват md5 хеш.
Те казват, о, това е сигурно.
Ние не се съхранява в обикновен текст.
Ние имаме този md5 хеш.
И всичко, което трябва да направите, е просто Гугъл номера.
>> Дори не е нужно да се изчисли.
Просто не мога да го в Гугъл, и някой вече го е направил за мен.
Ето един куп от тях.
Ето един куп пароли.
Така че определено не използвайте md5 хеш, защото всичко, което трябва да
направите, е Google него.
Така че това, което искаш, вместо да се използва?
OK.
Нещо, наречено осоляване.
Така че това, което е осоляване -
Мислите ли, помня, когато бяхме Говорим за произволно -
Аз не съм сигурен какво PSET беше -
бе я PSET там или четири?
>> Ние говорехме за намиране на игла в купа сено.
И в PSET, тя каза, че бихте могли да всъщност разбера какво случаен
генерира, защото някой вече се завтече случайни милион пъти и само
вид формира това, което те генерират.
Какво искате да направите, е да постави в един вход.
Така че това е, което осоляване вид е.
Те вече разбра какво осоляване връща за всяка работа.
>> Така че това, което прави, е да осоляване ще ви постави в сол.
Слагаш в определена дума.
И това ще разискват тази дума в зависимост върху това, което ще ви постави в тук.
Така че, ако аз хеш парола едно с този изречение, че ще ходи да хеш
по различен начин, ако аз хеш password1 с различна присъда.
Това нещо го дава някъде да начало за хеширане да започне.
Така че това е много по-трудно да се изчисли, но вие все още може да го изчисли, особено
ако използвате лоша сол.
>> Хората, които вече също измислили общи соли и измисли
какво е то.
Случайни соли са много по-добри, но най-добрият начин е да се използва
нещо, наречено крипта.
И това, което ви позволява да крипта да - така че тези функции са
вече построен за вас.
Много хора забравят, че, или те забравят да го използвам.
Но ако погледнете нагоре крипта PHP, крипта вече връща низ хеш за мен.
И това всъщност го много пъти и соли и хешове много пъти.
>> Така че ние не трябва да правим това.
Така че всичко, което трябва да направите, е да да го изпратите в крипта.
И това ще създаде голям хеш без да ви се налага да се притеснявате за сол
или нещо подобно.
Защото, ако ви се налага да го сол, имате да си спомните какво сте използвали сол
защото, ако не, не можете да получите вашия парола обратно без съгласието на
сол, която сте използвали.
OK.
>> А също и лична идентифицираща информация.
Така социалното осигуряване, кредитна карта - това е доста очевидно.
Но понякога хората забравят начина, по който дела е, колко много информация, което правите
всъщност трябва да се намери някой човек?
Някой е направил проучване за този път назад.
И това е като, ако имате пълното име, не можете да намерите
някой, който лесно.
Но какво, ако имате пълно име и датата на раждане?
Това ли е достатъчно, за да се идентифицират някой конкретно?
>> Какво става, ако имате своето име и Адресът, че те живеят тук?
Това ли е достатъчно, за да се намери някой?
И това е, когато те поставят под въпрос, какво е лична идентификационна информация, и
какво трябва да се тревожи за не раздаването?
Ако раздават персонално идентифицираща информация, че някой ти дава,
вие потенциално биха могли да те осъдят.
И ние определено не искам това.
>> Така че, когато сте пускането вашия сайт навън, а вие имате една наистина страхотно
дизайн, надявам се сте направили едно страхотно окончателен проект.
Всеки ли нещо искам да го сложи там.
Вие искате да сте сигурни, че каквото и да сте като от страна на потребителя, ако това е
лична идентифицираща информация, можете искате да сте сигурни, че е наистина
внимателни с него.
>> Инжектиране Shell.
OK.
Инжектиране Shell позволява на нарушител да да получите достъп до вашата действителна командния ред
във вашия сървър.
И така, той е в състояние да тече код че не можете да контролирате.
Да вземем един пример за това красива низ точно тук.
Ако отидем в сайта отново, аз съм ще отидат в код инжекция.
Така че това, което прави е -
тя също е това, което бяхме гледа преди.
Пускаме потребителят постави под каквато и да той иска, и това ще отпечата
каквото си искате.
>> Така че аз отивам да поставите разговор.
Това, което прави, е -
тя ще започне от слепване.
Така че това ще ми позволи да тече независимо заповядвам Спринт на лицето
преди и по моя команда.
И аз бягам по-командна система.
И тези последните струни са - не забравяйте, това, което съм говорил с вас за,
като има предвид, че трябва да се кодират то в метод URL.
Ако стартирате тази сега -
Аз ще ви покажа тук -
ще видите, че аз накрая до изпълняване на командата.
>> Това е всъщност сървъра че моя сайт е стартиран на.
Така че ние не искаме това, защото мога да тичам -
този сървър не е мое.
Така че аз не искам да се забъркваш си сестра, сървър Маркъс.
Но можете да стартирате повече команди че са опасни.
И потенциално, бихте могли да изтриете файлове, премахване на директории.
Мога да премахнете определена директория, ако Исках, но не искам
да направя, че да Marcus.
Той е добро момче.
Той нека да заеме неговото сървър.
Така че аз отивам да го пусне изключване на една добра.
>> Така че това, което ние не искаме да се използва - не го правим искате да използвате Eval или система.
Eval или система ни позволява да направи тези системни повиквания.
Eval средства оценяват.
System означава това, което аз се завтече.
Тя тече нещо в системата.
Но ние можем да обявят за незаконни тези неща в PHP, така че ние не ги използваме.
И за качване на файлове.
Щях да направя едно страхотно нещо с качването на файла.
Но както ти казах, момчета, ми файл качване нещо не работи.
Ако аз трябваше да качите файл в момента -
ако трябва да качите файл, и това е една картина -
Имате ли нещо за качване това е една картина.
Това е добре.
Нищо не се случва.
>> Но ако имате за качване на файлове, за Например, и потребителят всъщност качени
файл, PHP или файл Exe или нещо като това, тогава бихте могли потенциално
имате проблем.
Това е работил преди.
За съжаление, за мен, това е не работи вече.
Ако аз, например, качване на този файл, аз съм ако не се получи разрешение да качите
дължимото към сървъра файла Не е моя.
Така че човекът е наистина умен.
>> Така че ние не искаме да -
Отивам да ви покажа момчета -
OK, това са някои наистина готини инструменти.
Така че те -
отидете в - ако вие имате Firefox - да се надяваме, което правите.
Има две добавки, наречени SQL Инжектирайте Me и Cross-Site Script Me.
Те откриват най-малко странични барове на страната.
И ако трябва да отидете на CS60 например -
така че това, което той прави, е да го гледа за всички форми, които -
да се надяваме, че няма да имам в беда за това.
>> Но OK.
Ето системата на щифт.
Така че, когато започнете да търсите за дупки в системата, първото нещо, което правя, е
отвори тази красива малко инструмент на страната.
И аз отивам да тестват форми с авто атаки.
И така, какво прави това е бавно ще отвори един куп браузъри.
Ето един куп браузъри.
И тя се опитва всеки един комбинация на кръстосана сайт скриптове
че вероятно е, ако виждате отстрани.
>> И това ще ми даде резултат нещо, което отговорът е.
All мине.
Очевидно е, че всички те преминават.
Искам да кажа, те са наистина умни хората там.
Но ако трябва да се осъществи -
Аз съм имал пъти преди, когато аз тичам този на окончателните проекти на учениците.
Аз просто стартирате SQL Инжектирайте Me с всички различни атаки.
И тя се опитва да инжектира SQL този ПИН сървър.
Така че, ако ние превъртете надолу, за Например, той казва -
това е добре, ако той се връща.
>> Така че го изпитват някои определени ценности.
И сървъра се връща на код, който е отрицателен.
Премахнете временно.
Това е добре.
Той се опитва всички тези тестове.
Така бихте могли просто да тичам -
Иска ми се да се намери сайт за недвижими бързо, че ще ме пусне -
може би магазина CS50.
>> Уау, това ще взема твърде дълго.
Ще оставя на първия тест не завърши добре.
Така тя се оплаква.
Така че това са три неща.
Тези инструменти са безплатни.
Можете да ги изтеглите и да ги управляват по вашия сайт, и тя ще ви каже, ако
имате крос-сайт скриптове, ако имате SQL, ако имате
нещо от други подобни.
Аз съм нещо като каша.
>> Какво е важно -
ОК, така че никога не се доверявате на потребителя.
Каквито и да са потребителски входове за вас, направете Сигурни ли сте, че се санира, можете да го почистите,
да проверите за правилните неща, че тя ти дава това, което
искам да ви дам.
Винаги се актуализира какво рамки че вие ​​всъщност използвате.
Ако използвате нещо като връзки за обувки -
Знам, че вие, момчета, ще се използва работят поетапно, защото той ще отиде
над тази скоро в клас -
и Wordpress или нещо подобно, Обикновено това може да бъде хакнат.
>> И тогава вие дори не знаете.
Вие сте само тичане вашия сайт.
И това е напълно сигурно.
И вие се понижат.
Така че аз съм на риболов много рано.
Но аз искам да благодаря на Pentest Labs.
Отивам да ви покажа нещо наречен Pentest Labs.
Ако вие сте наистина се интересуват от каква сигурност наистина е, че има
сайт наречен Pentest Labs, ако момчета отиват да го точно сега.
О, добре, че не е това.
Аз съм просто ще го изпълним така.
Google ми казва отговора.
>> OK.
И тя учи използвате - така че казва, да научат проникване в Мрежата
тестване по правилния начин.
Той ви учи -
надявам се, че си един етичен човек.
Но тя ни учи как можете да погледнете как можете да получите вътре уебсайтове.
И ако се научите как можете да получите вътре уеб сайтове, можете да научите как да
защитят себе си от получаване на вътрешни страници.
Позволете ми да увеличите, защото може би вие момчета не се гледа на това право.
>> От SQL инжекция, за да плащам, така че нещо как мога да получа от SQL
инжектиране на черупката.
И да изтеглите тази виртуална машина.
А виртуалната машина вече идва с уебсайта, който сте
Ще го пробвам.
Можете да изтеглите този PDF.
И тя ще ви покаже ред по ред какво което трябва да направите, каквото ви се покажат.
Това е, което един хакер действително прави, за да вляза в един сайт.
>> А някои от тези неща е сложно.
Иска ми се да отида в продължение на повече неща с вас, момчета.
Но аз се притеснявам, че вие, момчета, наистина не са -
това е, което аз отидох с вие, уеб тестове
за проникване тестване.
Не наистина знаят какво SQL и за какво -
Семинар Carl Джексън е страхотно, както добре.
Вие, момчета, не знаят сортиране от какво е това.
Но ако отидете на този сайт, а вие изтеглите тези уроци и тези
PDF файлове, които можете да предприемете погледнете вид какво областта на сигурността наистина
в проникване тестване, вижте как можете да Влизай вътре сайтове и защита
себе си от него.
>> Така че, ако направя супер бърз преглед, тя ще бъде предотвратяване на кръстосано-сайт скриптове.
Вие искате да използвате всеки htmlspecialchars Време потребителски входове нещо.
Предотвратяване на SQL инжекция.
Ако направите това, вие вече сте по-добре от Харвард беше
Когато стигнаха нарушен.
И се уверете, че вашите пароли не са в обикновен текст.
Уверете се, че не само един начин хеш тях, но че използвате крипта, на PHP
функция, която ви показах момчета.
По този начин, трябва да бъде добър.
>> Също така, ако вашите приятели ви позволяват да, стартирайте SQL Me Инжектират на своите уебсайтове.
Тичане кръстосано сайт скриптове на интернет страниците им.
И вие ще видите много от тези сайтове има тон на уязвимости.
Това е невероятно колко много хора забравят санираме техните бази данни или да направи
сигурен какво е въвело данните на лицето не е скрипт код.
OK.
Някак приключи много рано.
Но ако някой има някакви въпроси относно нищо, можете да ме застреля един въпрос.
Да.
Давай, давай.
>> ПУБЛИКАТА: Аз просто искам да попитам, Можеш ли да обясниш как файла
качите точно работи.
>> ЛУЧАНО Аранго: Да.
Така че нека да ви покажа файла качите бързо.
Така че качването на файла -
проблемът остроумие качване на файлове точно сега е, че -
Отивам да отвори кода, така че момчета видите кода зад кулисите.
И то е да качите.
Ето един код за качване на файлове.
>> Опитваме се да отида в това указател тук.
И ние се опитваме да, веднъж ние въвеждане на файл, Isset файл - така че, когато е налице
подаде в FILES, че снимката, след това ние се опитваме да го преместите тук.
Ние вземете файла тук.
Методът е POST, вид, изображение, файл.
И ние сме изпращане на този файл.
И тогава, след като ние го получи, така че щом файл има един образ, ние се опитваме да го изпратите
в тази директория.
>> Проблемът е, че на сайта не е ми позволи да отида в тази директория,
защото тя не иска да се върне.
Той не иска от мен да отида -
Трябва да тръгвам - така че тук е качите.
Ето снимки.
Трябва да отидем по целия път обратно до начало и го сложи там и след това
отида и да го сложи в директорията.
Така че, ако бягах терминален прозорец, и аз исках да преместите файл -
[Недоловим]
може да я види.
Ако исках да преместите файл, имам да се сложи името на файла и след това
пълния път искам да го изпратите.
>> И след това на сървъра не е че ми позволихте да се върне.
И така, това не е отдаване под наем ме стигнете до този файл.
Но обикновено -
така че има код за качване на файл.
Така че нормално това, което ще се случи е, че лице, което не е проверка дали моето досие
завършва с. JPEG, така че ще искате да проверите.
Позволете ми да отворите например прекалено бързо.
>> OK.
Този човек прав -
така например два проверява ако preg_match -
ето го тук -
да се уверите, че завършва с PHP, което е добре.
Това е добре.
Но има един истински голям проблем с това.
Това е добре.
Но ако трябва да се сложи файл, наречен myfavoritepicture.php.jpeg, можех
все още потенциално се отървете от JPEG и тичам it.k Това PHP е опасно.
Вие не искате лицето да бъде в състояние да тече код на вашия сайт.
>> Но след това. JPEG ви позволява да го давате.
Идеята е това, което наистина искам да направя не се вземат файлове, A., но OK, какво
Наистина ли искате да направите, е да се уверите, че четете над целия свят.
И няма нищо. PHP в него.
Няма никаква. PHP в на Цялата името на файла.
>> ПУБЛИКАТА: но бихте могли да сложи. JPEG на края.
Сървърите все още работят на кода.
>> ЛУЧАНО Аранго: Не, това няма да тече в началото.
Трябва да се върна и да се опитам , за да видите, ако можете -
>> ПУБЛИКАТА: Така че ние трябва да -
OK, просто още един комплект, който включва -
>> ЛУЧАНО Аранго: Да.
>> ПУБЛИКАТА: OK.
>> ЛУЧАНО Аранго: Да.
OK.
Някакви други въпроси?
OK.
Отивам да напусне това и сортирате от опитаме да видим, ако вие може -
други такива са малко повече сложно, защото те изискват много
повече знания за SQL, отколкото само започващ познаване на уеб SQL е и
какво е JavaScript.
Но аз ще се опитам да продължавам така, и се надявам вие ще се научат
за това и се опита да вземе един поглед на какво можете да направите и колко примери
можете да се измъкне сам.
>> Всеки, който има всяка друга въпроси за това?
Давай напред.
Да, да стрелят, да стрелят.
Да, давай.
Давай напред.
>> ПУБЛИКАТА: OK.
Така че аз чух за това как Меджик Цитати не са достатъчно сигурен.
>> ЛУЧАНО Аранго: Какво -
Магически Цитати?
>> Публика: Да.
Така тя добавя - така всеки път, когато вход нещо, то винаги добавя кавички.
>> ЛУЧАНО Аранго: Да.
Да.
OK.
>> ПУБЛИКАТА: И тогава си помислих, че е работил, но след това го търси нагоре.
И тя каза, че това не е добре.
Но аз не съм сигурен защо.
>> ЛУЧАНО Аранго: Да.
>> ПУБЛИКАТА: Не използвайте Магически Цитати, защото това не е сигурно.
>> ЛУЧАНО Аранго: OK.
Така Магически Цитати е, когато поставите SQL и тя вече добавя оферта за вас.
>> ПУБЛИКАТА: Тя винаги добавя кавички около каквото и да сложи инча
>> ЛУЧАНО Аранго: Да.
Така че проблемът с това е, че -
Ще погледнете -
>> ПУБЛИКАТА: Как се придобива изявлението SQL?
Или аз предполагам, че може да бъде като цитат изберете.
>> ЛУЧАНО Аранго: Да, имате нужда добри оферти за SQL.
>> ПУБЛИКАТА: Не, но сървърът тя прави за вас.
>> ЛУЧАНО Аранго: Тези малки цитати точно тук, тези малки кавички?
>> Публика: Да.
>> ЛУЧАНО Аранго: Да.
Проблемът е, че можете да коментирайте на последно място -
ОК, така че това, което мога да направя е, че аз мога да коментирам навън - така че нека да разгледаме най - нека ме
отворите файл редактиране на текст.
Нека само да редактирате тази точно тук директно.
OK.
Можете ли момчета видите, че ясно?
Какво мога да направя, е, че аз мога да коментирам от последната една.
Това ще коментирате последната една.
И тогава аз ще сложа една тук, сложете всички злонамерени неща тук.
>> Така потребителят е всъщност въвеждането, нали?
Потребителят не е въвела нещата, нали?
Това е, което аз отивам да въведете като лицето, опитвайки се да влезем вътре.
Отивам да се сложи в -
това е една кавички.
Това е просто вълнообразна подредба.
И тогава какво кода е ще направя -
Съжалявам, аз ще се възползвам от тази навън.
Какво кода ще направите, е да то се случва, за да добавите първия
котировка марка тук.
И това ще добави към него последните кавички, както добре.
>> И тя също щеше да добавите последна, последна котировка марка.
Но аз съм коментира тези котировки маркира, така че те не работят.
И аз съм довършителни този цитат марка тук.
Разбираш ли?
Загуби ли се?
Аз мога да коментирам последната котировка марка, и да се грижи за
първа котировка марка.
>> ПУБЛИКАТА: И точно покритие първият.
>> ЛУЧАНО Аранго: Да.
И точно завърши първия милион.
Да, точно така.
Това е, което мога да направя.
Да.
Всякакви други въпроси, като този?
Това е чудесен въпрос.
Не, да, може би.
Надяваме се, че вие, момчета, нещо ще направят повече смисъл, когато изучавате и SQL
такива неща.
Но се уверете, че -
пазете тези инструменти в часовник.
За съжаление, тези средства над тук.
Тези инструменти са страхотни.
Ако някой има някакви въпроси, можете да ми пишете.
Това е нормално моя имейл.
И това е работата ми имейл, който е, когато се работи на SEAS.
>> Добре, благодаря.
Благодаря, момчета.
Вие сте добре да тръгвам.
Вие не трябва да остана тук.
Не пляскат.
Това е странно.
Добре, благодаря, момчета.