>> ЛУЧАНО Аранго: Добро, момци.
Моето име е Лучијано Аранго.
Јас сум сафомор во Адамс куќа.
И ние ќе се зборува за Веб безбедност активна одбрана.
Па јас работам за Канцеларијата на информации Безбедноста во морињата.
И во текот на летото, јас интерниран во SeguraTec, кој беше информации
безбедноста компанија која служи за Банката на Колумбија.
Тоа е претежно каде што научив она што сум го научиле досега.
>> И така некои од материјалот што ние сме одам да си над денес, ние не треба
навистина разговаравме за во класата.
Но, ние ќе наскоро.
Тоа се случува да биде како SQL, го вклучите Javascript-.
И ние не се навистина помина над неа.
Па јас може да го решите на летање низ неа, и Вие не може да знаете некои работи.
Но, наскоро, ќе го научат.
И сето тоа ќе има смисла.
Исто така уште една работа -
остане етички.
Некои од работите што го учат, ќе може да се користи во не-етички начини.
>> Ако тоа е твое, дефинитивно се обидеме.
Јас дефинитивно ве мотивира момците да се обиде свој сервери, обидете се
ќе внатре во нив.
Види дали може да им се проникне, ако може да се добијат во нив.
Но не некој друг.
Полицајци не навистина ми се допаѓа шеги и Во целина, ќе стави ова овде.
Бевме Месинг наоколу.
Тие се навистина лути.
>> Така да минете во текот на оваа веб страна.
Јас го отвори токму тука.
Ова е веб-сајт, и тоа има еден куп примери.
Што се случува е дека првиот пример е вид на ќе биде многу полесно
од последниот пример во смисла дека првиот пример
е сосема несигурни.
А последната е вид на она што нормално веб безбедност лице ќе се направи.
Но може да се уште вид на се добие околу тоа.
И ние ќе се фокусира на една и две, примери еден и два.
>> OK.
Да почнеме со крос-сајт скриптирање.
Го вклучите Javascript-се работи на прелистувачот на клиентот.
Тоа е програмски јазик кој не го користите да се кандидира на прелистувачот на клиентот, па
вие не мора да се ажурира на веб страната и се врати на серверот.
Имате тоа трчање.
На пример, Фејсбук, вие не мора да ја превчитате на веб страната за новиот статус
надградби да излезе.
Тоа е користење на JavaScript за да генерирате сите овие работи.
За да можеме да се инјектираат злонамерен го вклучите Javascript- во веб-сајтови.
И на тој начин, кога ќе испрати линк до некого, ние вид на може да го испрати со
некои од кодот што го сакаме.
>> Има упорни и непостојана Го вклучите Javascript -
упорни и непостојана крос-сајт скриптирање, мислам.
И разликата е во тоа што упорно е да го вклучите Javascript кои ќе бидат
зачувани на веб-сајтот.
И непостојана ќе биде вклучите Javascript- кои, всушност, само ќе се случи еднаш.
Па ајде да погледнеме еден пример вистински брз.
>> OK.
Па оваа веб страна, едноставно, ништо не се случува тука.
И ние ќе се обидеме да вметнете некои JavaScript.
Па начинот на кој ние на проектот пишување го вклучите Javascript- е да почнеме со почеток скрипта.
И ние го затвори со сценариото.
Ние сме едноставно случува да се стави порака -
Јас ќе ви покаже -
алармирање.
Алармирање е функција која го вклучите Javascript- користи за да се прикаже нешто.
Па ајде да се обидеме вистински брз.
Одам да одат, предупредување здраво.
Па, јас заборавив да се стави -
OK.
Па тоа е едноставна.
>> Ќе стави го вклучите Javascript-на веб страната, и дојде до.
И тоа вид на се случува само на нашата веб страница, нели?
Па ми се чини дека тоа не е проблем, нели?
Мислам, како би можеле да ги користите ова злобно?
Па начинот на кој хакери направам ова е навистина едноставно.
Тие се случува да го грабне.
Тие можат да испрати овој линк за вас.
Дали јас ќе испрати овој линк за да ви токму сега, и ќе ја отвори, тоа се случува да
велат, здраво, велејќи дека мојот веб-сајт е ти го кажувам здраво.
>> И така, ако јас се да се каже нешто малку попаметен, ако јас се повлече до
Функција го вклучите Javascript јас вид на веќе пишуваше -
но ако се погледне во него, јас ќе одам над неа пред да го напишал.
Па ние ќе да се постави завршиле.
Ние ќе се чека неколку секунди.
Всушност, ние ќе треба да почека за, ако Не се лажам, пет секунди.
Ова оди во милисекунди.
А потоа она што ние ќе треба да направите е ние сме ќе се алармираат дека за логирање
истече да се најавите назад внатре
И ние ќе ја промени локацијата на друга локација.
>> Значи, ако го праќам овој веб-сајт со некого, тие се случува да биде
разгледуваат наоколу, смиреност.
Ништо не се случува.
И во пет секунди, тоа се случува да се каже, вашиот логин истече.
Ве молиме најавете се назад внатре
Откако ќе кликнете на OK, јас ќе одам да да ги однесе до друг веб-сајт.
Веројатно, на веб-сајтот се случува да биде слична на веб-сајт кој
тие беа пред.
И тие се случува да се логирате на нивните ингеренциите во мојот веб-сајт, наместо на
нивниот веб-сајт.
>> И така можам да го испратам на луѓето e-mail со линк.
Велам, ох, тука е линк.
Ова е банка, на пример.
Велам, тука, одете на овој линк.
И откако тие го испрати, тие се ќе треба да се бараат околу.
Јас може да почека за 15 секунди, 20 секунди, а потоа и pop дека влези назад во
потпишат назад.
Вие момци можат да ја обидат со многу повеќе работи.
Тоа е комплицирана, бидејќи вие момци не сум ја видел JavaScript, па можеби ќе
Не знам некои функции.
Но сите што треба да направите е да започнете со скрипта, заврши со сценариото.
И може да се стави ништо во средината.
>> Алармирање е функција, почекајте.
Прозорец локација ќе ве однесе на нова локација.
Но можете да направите многу повеќе.
И така идејата е дека ние се земе дека исклучени.
Ако одам во пример два, а јас ставите во ова истиот код, тоа е
не оди на работа.
Така, тоа е печатење се надвор, бидејќи она што овој веб-сајт првично
не е ако го ставам нешто тука, тоа ќе го испечатите во право тука.
Па тоа не е печатење на нешто надвор.
Овој пример е всушност проверка да се види дали сценариото е таму.
Така да, повелете.
Прашај ме.
>> ПУБЛИКАТА: Не е испраќање на GET или POST барањето?
>> ЛУЧАНО Аранго: Да. тие се испраќање на GET барањето.
>> Публика: Дали е?
>> ЛУЧАНО Аранго: Да.
Исто така пребарувачи користат пост барања.
Но јас се обидувам да се покаже GET барања така што можеме да видиме што е
всушност се случува.
И така ако се погледне на овој код - па тоа не е работа веќе.
И ако ги погледнеме на овој законик, тоа се случува да биде во пример две.
Што ова лице што прави, лицето задолжен за овој интернет пребарувач -
се отвори, во ред -
е замена на зборот скрипта.
Ова е PHP, кој вие момци може видовме малку на уште.
>> Тој е само замена на Зборот скрипта со името.
Па сепак, ако јас одам напред и само стави во -
ако јас го зграби мојот код, повторно, и јас одам да го менувате само малку.
Наместо на сценариото, ќе одам да се промени тоа за сценариото со капитал Р И
ние ќе се види дали овој код работи.
Така што не го испечатите, што е добар знак.
И се надевам дека во повеќе од две секунди, тоа се случува да pop-up.
>> Вашето корисничко истече.
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.
>> Значи името е ништо или 1 еднаква на 1.
1 еднаква на 1 е секогаш точно.
Значи ова секогаш ќе се вратат информации од страна на корисниците.
OK.
Ние не треба да имаат правилното корисничко име.
Ние само може да има нешто што го сакаме, и ќе се врати информации
дека ни треба.
Ајде да погледнеме во уште еден пример.
>> Ако имаме изберете сè, од корисникот, каде што име е Зависници ТАБЕЛА корисници -
па што мислиш оваа волја правам ако се стави во корисничкото име
како зависници ТАБЕЛА корисници?
Некој има идеја?
Да.
>> Публика: Тоа се случува да се каже тоа да шутнат сите табели.
>> ЛУЧАНО Аранго: Тоа се случува да ни кажете да шутнат сè во веб-сајт,
се што е во базата на податоци.
И она што луѓето го користат тоа за - па Одам да ви покаже момци.
Јас исклучени намалувањето на табели бидејќи јас не сакате
момци да се откажат од мојот маси.
Ајде да ги разгледаме во тоа.
Значи ова едноставно граби информации за одредена личност.
Така како ние да знаеме дали ова е погодени од SQL инјекција.
Ние ќе се провери во реално брзо ако можеме да се стави нешто -
дозволете ми да Копирај го овој код.
Одам да одат преку него во една секунда.
Одам да се стави корен и 1 е еднаква на 1.
>> Ова право тука, овој знакот за процент 23 -
она што навистина е, ако јас гледам тука во -
начинот на HTML зема во бројки, ако да погледнам во кога ќе се стави во простор
тука - ако јас да се простор нешто тука, тоа се менува во процент 2.
Дали ви момци види ова право тука кога ќе се стави во вселената?
Начинот на кој таа работи е дека можете само испрати ASCII вредности преку HTML.
Па тоа го заменува, на пример, простор со проценти 20.
Јас не знам дали вие момци видовме дека порано.
>> Тоа заменува ознаката со проценти 23.
Ние треба hashtag на крајот на или изјава така што можеме да им кажам на
база на податоци да се заборави да се коментира надвор оваа последна точка и запирка на крајот.
Ние сакаме тоа да не размислувам за тоа.
Ние само сакаме да се кандидира се ' дека имаме однапред и
коментира тоа.
Ајде да ги разгледаме во неа.
>> Значи, ако јас требаше да се стави нешто не е во ред - да речеме на пример, ја ставив 2 еднаквите
1, тоа не ми даде ништо.
Кога ќе се стави во 1 еднаква на 1, и тоа го прави врати нешто, ова ми кажува дека
ова е подложен на Sql вбризгување.
Знам сега дека без оглед на Ја ставив по ова -
и на пример, зависници ТАБЕЛИ или нешто слично
дефинитивно ќе работи.
Знам дека е подложен на SQL инјекција бидејќи знам дека
под капакот на моторот, тоа е да им се овозможи ме прават 1 еднаква на 1 работа.
Во ред?
>> И ако гледаме на овие другите, број два и број три, тоа е
случува да се направи малку повеќе на проверка под
качулка на тоа што е.
Па секој овозможи на капка ништо сеуште или се обиде?
Дали ви момци вид на добие SQL уште?
Бидејќи знам вие не мора видела тоа уште, па тоа е вид на
збунувачки за вас момци.
Ајде да ги разгледаме.
Значи она што е начин да се спречи SQLI?
OK.
Значи ова е навистина важно затоа што момци дефинитивно сакате да се спречи
ова во вашиот веб-сајтови.
>> Ако не, сите твои пријатели се случува да се забавуваат на вас кога тие се отфрли сите
вашите табели.
Значи идејата е да поправка на SQL на одреден начин, а ти натпревар
она што корисникот влезови со одреден стринг.
Па начинот на кој тоа работи е што подготви база на податоци.
Вие одберете име, боја, и калории од базата на податоци наречена овошје.
А потоа каде калории помалку отколку, и ќе стави знак прашалник има
велејќи ние ќе влез нешто во секунда.
>> И бојата еднаква, и ќе стави прашање Означи велејќи ние ќе
внесување нешто во вториот, како и.
Во ред?
А потоа ние го изврши, ставање во 150 и црвена боја.
И тоа ќе провериш да бидете сигурни дека овие две -
оваа низа ќе провери дека овие две се цел број и
дека ова е стринг.
Потоа одиме, и ние пренесам сите, ние го стави во црвена боја.
Тоа значи дека ние викнам сите.
Тоа значи дека ние всушност се изврши SQL изјава и го врати во црвено.
Еве ние го стори истото, но ние го стори истото за жолта.
И ние викнам сите.
>> И на овој начин, ние се спречи на корисникот од тоа да биде во можност да го внесете нешто
тоа не е она што ние одредено, низа или цел број, на пример.
Зборев претходно за потпирајќи се на други.
Кога вие ќе почнете вашиот проект, ти си повеќето дефинитивно ќе се користи
bootstrap или нешто слично.
Дали сте момци некогаш се користи Wordpress?
Веројатно вие момци се користат Вордпрес најверојатно.
Значи проблемот со користење на работи на другите луѓе -
Јас сум само одење на Google реално брзо Вордпрес ранливост.
>> Ако јас се повлече оваа до сега -
Јас буквално направи две втори Google.
Можеме да видиме дека WordPress -
ова е датиран во септември '12.
26 е надграден.
Стандардна конфигурација на WordPress пред 3,6 не ги спречува овие
одредени подигнати, која може да направи полесно за
крос-сајт скриптирање напади.
Така брз приказна, еднаш сме работеле со - така бев во лето, во кои работат на
стажирање.
И ние работевме со вид на како голема кредитна картичка компанија.
>> И тие се потпираат на нешто што се нарекува -
Јас не знам дали вие момци некогаш играл со производ наречен Joomla.
Џумла е производ што се користи за контрола - вид на слични на
WordPress, се користи за да се изгради веб-сајтови.
Па морале нивниот веб-сајт работи на Џумла.
Ова е всушност кредитна картичка компанија во Колумбија.
Јас ќе ве однесе до нивните веб-страница вистински брз.
>> Така што тие употребија Joomla.
И тие не се ажурирани Јоомла до најновите прилог.
И така, кога бевме Гледано во нивниот код, бевме во можност да всушност
одат внатре нивниот код и ги украде сите информации за кредитна картичка што ме искарале,
сите броеви на кредитни картички, имињата, адресите.
И ова беше само -
и нивните кодот е совршено добро.
Тие имаа големо код.
Сето тоа е безбедноста.
Тие проверуваат сите бази на податоци.
Тие се сигурни крос-сајт скриптирање е во ред.
>> Но тие се користат нешто што не е нема, тоа не беше сигурен.
И така што ги доведе до - така што вие момци дефинитивно се случува да се користи на други
код, рамки други луѓе луѓето да се изгради својата веб-страница.
Бидете сигурни дека тие се безбедни, бидејќи понекогаш тоа не е вас, оној кој
прави грешка.
Но некој друг го прави грешка, и тогаш ќе падне поради тоа.
>> Лозинки и PII.
Па лозинки.
OK.
Ајде да ги разгледаме во лозинки вистински брз.
OK.
Молам да ми кажете дека секој користи безбедна -
Јас сум надевајќи се сите тука користи безбедна лозинки.
Јас сум само допуштајќи дека во, како претпоставка.
Па вие момци се дефинитивно ќе ја чување на лозинки за вашите веб сајтови.
Ви се случува да се направи нешто како најава или нешто слично.
Она што е важно е да се чува на лозинки во обичен текст.
Ова е исклучително важно.
Вие не сакате да се складира лозинка во обичен текст.
>> А ти дефинитивно навистина не сакам да го чува на еден начин хаш.
Па што еден начин hash е дека кога ќе генерираат еден збор, кога ќе се стави ова
збор во хеш функција, тоа ќе генерираат назад некој вид на криптичната
порака или криптичната множество на клучеви.
Јас ќе ви покажам еден пример.
Одам да хаш тие зборови password1.
Па MD5 hash се случува да ми се врати некој вид на чудни информации.
>> Проблемот е во тоа што луѓето таму кои сакале да одат во веб-сајтови имаат
веќе сфатиле вид на сите MD5 хашови.
Она што се случи е дека тие седна на нивните компјутери, и тие hashed секој
единствен можен збор од таму до тие добија вид на што е ова.
Ако јас да се погледне на овој горе -
Јас само го грабнала оваа хаш.
Ако јас се добие оваа хаш од -
ако одам во веб-сајт, и јас се најде овој хаш затоа што дојде до
бази на податоци, и јас го гледам нагоре, некој веќе го сфатиле за мене.
>> Да.
Па луѓето седна, и што и MD5 хаш што ќе се стави во, тие ќе
се врати на вас нешто тоа е зборот.
Ако јас хаш друг збор, како -
Не знам -
trees2.
Не сакам да бидат разочарани од страна на моите Google пребарувања.
Тоа е, trees2.
Толку многу веб-сајтови уште го користат MD5 hash.
Тие велат дека, ох, тоа е сигурно.
Ние не сме чување во обичен текст.
Имаме оваа MD5 hash.
И сите што треба да направите е само Google бројот.
>> Јас дури и не мора да си пресмета.
Јас само може да го прогуглате, и некој веќе тоа го правеше за мене.
Еве еден куп од нив.
Тука е еден куп на лозинки.
Значи дефинитивно не користат MD5 hash, бидејќи сите што треба да
направите е да го Google.
Значи она што сакате да го користите наместо неа?
OK.
Нешто што се нарекува солење.
Па што солење е -
ви момци сеќавам, кога бевме зборуваме за случаен во -
Не сум сигурен што pset тоа беше -
беше тоа pset таму или четири?
>> Ние се зборува за наоѓање на игла во haystack.
И во pset, тој рече дека можете да всушност дознаам што случајно
генерира затоа што некој е веќе трчаше случаен милион пати и само
вид на формирани што и тие генерираат.
Што сакате да направите е да стави во влез.
Значи тоа е она што солење вид на е.
Тие веќе сфатиле што солење се враќа за секоја работа.
>> Па што солење не е ќе се стави во сол.
Ќе се стави во одреден збор.
И тоа ќе хаш тој збор во зависност од она што го стави тука.
Значи, ако јас хаш лозинка една со ова реченица, тоа се случува да хаш
поинаку ако можев хаш password1 со различен реченица.
Тоа вид на се дава некаде да се започне за hashing да почне.
Па тоа е многу потешко да се пресмета, но вие уште може да го пресмета, особено
ако користите лоши сол.
>> Луѓе веќе, исто така, сфатиле заеднички соли и сфатиле
она што е.
Случаен соли се многу подобро, но најдобриот начин е да се користи
нешто што се нарекува криптата.
И она што криптата ви овозможува да не - па овие функции се
веќе изградени за вас.
Многу луѓе забораваат дека, или тие забораваат да го користам.
Но, ако јас гледам нагоре криптата PHP, крипта веќе враќа хаш низа за мене.
И тоа всушност го соли многу пати и тоа хашови многу пати.
>> Па ние не треба да го направите тоа.
Така што сите што треба да направите е испрати го во гробница.
И тоа ќе се создаде голема хаш без можете да се грижите за сол
или ништо.
Бидејќи ако сте во ситуација да сол, морате да се сетиш што солта ќе се користи
бидејќи ако не, не можете да ја добиете вашата лозинка назад, без
сол што ќе се користи.
OK.
>> А исто така и лични идентификациони информации.
Значи за социјално осигурување, за кредитна картичка - тоа е доста очигледно.
Но понекогаш луѓето да заборават на начинот на кој таа дела е, колку информации дали
всушност треба да се најде некој човек?
Некој направи студија за овој начин назад.
И тоа беше како, ако имате со полно име, не можете да најдете
некој што лесно.
Но, што ако имаш име и презиме и нивниот датум на раѓање?
Дали е тоа доволно да се идентификуваат некој конкретно?
>> Што ако имате нивното име и улица дека тие живеат?
Дали е тоа доволно да се најде некој?
И тоа е кога тие се прашуваат, што е лични податоци за идентификација, а
она што треба да се грижи за не даваат далеку?
Ако подарите лични идентификациони информации дека некој ти дава,
што потенцијално може да се поднесе тужба.
И ние дефинитивно не сакам тоа.
>> Значи, кога сте поставување на вашиот веб-сајт надвор, и имаш навистина кул
дизајн, се надевам дека сте направиле страшни конечниот проект.
Секое може да се вид сакате да го го стави таму.
Вие сакате да бидете сигурни дека она што сте преземање од страна на корисникот, ако тоа е
лични податоци за идентификација, ќе сакате да бидете сигурни дека сте се навистина
внимателни со него.
>> Школка инјекција.
OK.
Школка инјекција овозможува на натрапник да се добие пристап до вашиот вистински командната линија
во Вашиот сервер.
И така тој е во состојба да се кандидира код дека не можат да го контролираат.
Да го земеме еден пример за ова убава низа во право тука.
Ако одиме во веб страната повторно, јас сум ќе одат во кодот инјекција.
Така што тоа не е -
тоа е, исто така, она што бевме гледајќи пред.
Ние сме препуштајќи му се на корисник стави во она што тој сака, а тоа ќе испечатите
што сакаш.
>> Па ќе одам да се стави на повик.
Што тоа не е -
тоа ќе се започне со надоврзување.
Така што ќе може да ми работи без оглед на Командите што се извршуваат на лицето
пред и моја команда.
И јас сум водење на системот команда.
И овие последните стрингови се - се сеќавам она што јас разговарав со вас момци за,
а мора да се кодираат тоа во URL-то метод.
Ако јас ја извршите оваа сега -
Јас ќе ви покажам над тука -
ќе видите дека јас завршив до водење на команда.
>> Ова е всушност вистински сервер дека мојот веб-сајт се работи на.
Па ние не сакаме тоа, затоа што може да се кандидира -
овој сервер не е мое.
Па јас не сакам да се плеткаш неговото сестра, серверот на Marcus.
Но можете да ја стартувате повеќе команди кои се опасни.
И потенцијално, може да избришете датотеки, ги отстраните директориуми.
Јас може да се отстранат одреден директориум ако Сакав да, но јас не сакам
да го стори тоа за да Маркус.
Тој е убав дечко.
Тој нека ми позајми неговиот сервер.
Па ќе одам да го пуштиш исклучување на добра.
>> Значи она што не сакате да го користите - Ние не сакате да ги користите eval или систем.
Eval или систем ни овозможува да направат овие системски повици.
Eval средства оцени.
Систем значи она што налетав.
Тоа е работат нешто во системот.
Но, можеме да ја исклучиме овие работи во PHP, така што ние не ги користите.
И File Upload.
Јас требаше да се направи одличен работа со датотечниот испратите.
Но како што вие момци се рече, моето досие испратите нешто не е работа.
Ако јас да испратите датотека токму сега -
ако јас се да испратите датотека, и тоа е слика -
имате испратите нешто тоа е слика.
Тоа е во ред.
Ништо не се случува.
>> Но, ако имате Upload фајл, за пример, и на корисникот всушност Поставени
датотеката PHP или exe датотеката или нешто како тоа, тогаш може потенцијално
имаат проблем.
Тоа беше работа порано.
За жал за мене, тоа е не работи повеќе.
Ако Јас, на пример, испратите оваа датотека, јас сум не ги добиваат дозвола за качување
датотеката се должи на серверот не се мои.
Па човек е навистина паметни.
>> Па ние не сакаме да -
Одам да ви покаже момци -
Добро, овие се некои навистина кул алатки.
Па овие -
одат во - ако вие момци имаат Firefox - се надевам дека ќе го направите.
Има две додатоци наречен SQL инекција Мене и крос-сајт сценарио Мене.
Тие се отвори малку страна барови на страна.
И ако јас се да одат на Cs60 на пример -
па што го прави тоа е тоа изгледа за сите форми, кои -
се надевам, јас нема да во неволја за тоа.
>> Но во ред.
Тука е игла систем.
Па кога ќе почнете да барате дупки во системот, прво нешто што правам е
отвори оваа прекрасна малку алатка на страна.
И јас одам да се тестираат форми со авто напади.
И уште па што тоа не е тоа полека ќе отвори еден куп на прелистувачи.
Тука е еден куп на прелистувачи.
И тоа се обидува на секој комбинација на крос-сајт скриптирање
дека има можност да е, ако ќе видите на страната.
>> И тоа ќе ми даде резултат вид на она одговорот е.
Сите помине.
Очигледно, сите тие помине.
Мислам, тие се навистина паметни луѓе таму.
Но, ако јас требаше да ја стартувате -
Имав пати пред кога ќе ја извршите оваа за конечниот проекти учениците.
Јас едноставно се кандидира SQL Инјектирајте мене со сите различни напади.
И тоа се обидува да SQL инјектираат оваа игла сервер.
Значи, ако ние се движите надолу, за пример, се вели -
ова е добро ако го враќа.
>> Така што се тестираат некои одредени вредности.
И серверот се врати на код кој беше негативен.
Отстрани привремено.
Ова е добро.
Таа се обидува сите овие тестови.
Па можете едноставно да се кандидира -
Јас би сакала да се најде веб вистински брзо што ќе ми дозволи -
можеби CS50 продавница.
>> Леле, ова ќе земе премногу долго.
Јас ќе те оставам првиот тест не заврши во право.
Па тоа се жали.
Значи овие се три работи.
Овие алатки се бесплатни.
Можете да ги преземете и да ја стартувате нив на Вашиот веб-сајт, и тоа ќе ти кажам, ако
имате крос-сајт скриптирање, ако имате SQL, ако имате
нешто слично.
Јас сум вид на Месинг до.
>> Она што е важно -
Добро, така што никогаш не му верувате на корисникот.
Без оглед на корисник влезови за вас, бидете сигурни дека тоа дезинфенкцирам, ќе го исчисти,
можете да проверите за правото нешта, дека тоа е ви даваат она што
сакам од него да ви даде.
Секогаш да се ажурираат на она рамки дека сте всушност користите.
Ако користите нешто како bootstrap -
Знам дека момци се случува да се користи bootstrap, бидејќи тој нема да оди
во текот на овој наскоро во класа -
и Wordpress или нешто слично, Нормално ова може да се пробиени.
>> А потоа можете дури и не знаат.
Сте само водење на вашиот веб-сајт.
И тоа е сосема безбеден.
И ќе одат надолу.
Па јас сум риболов навистина рано.
Но сакам да им се заблагодарам Pentest Labs.
Одам да ви покаже момци нешто наречен Pentest Labs.
Ако вие момци се навистина заинтересирани за што безбедноста е навистина, има
веб-сајтот наречен Pentest Labs ако вие момци одат на тоа токму сега.
О, добро, тоа не е тоа.
Јас сум само ќе го стартувате како оваа.
Google ми кажува одговорот.
>> OK.
И тоа ве учи користење - така што вели, да научат веб пенетрација
тестирање на вистински начин.
Тоа ве учи -
се надевам, ти си етички лице.
Но тоа ве учи како може да се погледне како може да се добие во внатрешноста на веб-сајтови.
И ако научат како можете да добиете во веб-сајтови, можете да научите како да се
се заштитат себе си од добивање внатре веб-сајтови.
Дозволете ми да зумирате затоа што можеби вие момци не се гледа во ова право.
>> Од SQL инјекција да плаќа, па вид на како можам да добијам од SQL
инјекција за да се плаќа.
И можете да го симнете овој виртуелна машина.
И на виртуелната машина веќе доаѓа со веб-сајт што сте
ќе го обиде на.
Можете да го симнете овој PDF.
И тоа ќе ви покаже линија по линија што што треба да направите, што ви се провери.
Тоа е она што на напаѓачот всушност прави за да се добие во внатрешноста на веб-страница.
>> А некои од овој материјал е комплицирано.
Јас би сакала да одам во текот на повеќе нешта со вас момци.
Но јас се загрижени дека вие момци имаат навистина не -
тоа е она што јас отидов во текот со вие момци, веб тестови
за пенетрација на тестирање.
Навистина не знам што SQL е и она што -
Семинарот Карл Џексон е одличен, како и.
Вие момци не знаат вид на она што е оваа.
Но, ако одите на оваа веб страна, и ќе преземете овие упатства и овие
PDF датотеки, можете да погледнете во вид на она што областа на безбедноста навистина
во пенетрација на тестирање, да видиме како може да добие во внатрешноста на веб-сајтови и заштита
себе од него.
>> Значи, ако јас се направи супер брз преглед, тоа ќе биде спречување на крос-сајт скриптирање.
Сакате да htmlspecialchars ја користат секоја Време корисник влезови нешто.
Спречи SQL инјекција.
Ако го направите тоа, ти си веќе подобро отколку Харвард беше
Кога ги добија прекршено.
И бидете сигурни дека вашите лозинки не се во обичен текст.
Бидете сигурни дека не само еден начин хаш нив, но дека го користите криптата, PHP
функција која ви покажа момци.
На тој начин, треба да биде добро.
>> Исто така, ако вашите пријатели ви, работи SQL ме внесе на нивните веб-сајтови.
Се кандидира крос-сајт скриптирање на нивните веб-сајтови.
И ќе видите многу од овие веб-сајтови имаат еден тон на слабости.
Тоа е неверојатно колку луѓе забораваат да дезинфенкцирам нивните бази на податоци или да се направи
сигурен што внесување на лицето не е сценариото код.
OK.
Јас вид на завршија навистина рано.
Но, ако некој има било какви прашања во врска ништо, може да ми пука прашање.
Да.
Оди, оди.
>> Публика: Јас само сакам да прашам, може да ви објасни како на датотеката
испратите точно дела.
>> ЛУЧАНО Аранго: Да.
Па дозволете ми да ви покажеме на датотеката испратите вистински брз.
Па file upload -
проблемот духовитост на File Upload во моментов е дека -
Одам да се отвори кодот, така вие момци види го кодот зад сцената.
И тоа е испраќате.
Тука е кодот за датотеката подигнувачот.
>> Ние се обидуваме да одат во овој Директориум овде.
И ние се обидуваме да се, еднаш ние влез на датотека, isset датотека - така кога постои
поднесе во датотеки, кои на сликата, а потоа ние се обидуваме да го преселиме тука.
Ние го дофати датотека овде.
Методот е POST, тип, слика, фајл.
И ние сме испраќање на оваа датотека.
А потоа откако ќе го добие, па откако датотека има слика, ние се обидуваме да го испрати
на овој директориум.
>> Проблемот е во тоа што на веб-сајтот не е да ми овозможи да одат на овој директориум,
поради тоа што не сакаш да се вратиш назад.
Тоа не сакаш да одам -
Морам да одам - ​​Па еве испратите.
Еве слики.
Морам да одат по целиот пат назад до почнуваат и го стави во таму и тогаш
оди и го стави во директориумот.
Па ако трчав терминален прозорец, и јас сакав да преместите датотека -
[Нечујни]
може да се види.
Ако сакав да преместите датотека, имам да се стави името на датотеката и потоа
целосниот пат сакам да ја испрати на.
>> И тогаш серверот не е да ми овозможи да се вратиш назад.
И така тоа не е да им се овозможи ме стигне до таа датотека.
Но нормално -
па постои кодот за качувањето на датотеката.
Па нормално што ќе се случи е дека лице не е проверка дали моето досие
завршува со. JPEG, па јас ќе сакате да се провери.
Дозволете ми да се отвори пример премногу вистински брз.
>> OK.
Оваа личност во право -
така на пример две е проверка ако preg_match -
тука е овде -
да бидете сигурни дека завршува со PHP, што е добро.
Ова е добро.
Но, има вистински голем Проблемот со ова.
Ова е добро.
Но, ако јас требаше да се стави на датотека се нарекува myfavoritepicture.php.jpeg, можев
уште потенцијално да се ослободи од jpeg и да ја стартувате it.k Тоа PHP е опасно.
Вие не сакате лицето да биде во можност да се кандидира кодот на вашиот веб-сајт.
>> Но тогаш. JPEG ти овозможува тоа да помине.
Идејата е она што навистина сакате да го направите не се земе датотеки, А Но, во ред, што
Дали навистина сакате да направите е да бидете сигурни дека ќе прочитате во текот на целиот свет.
И нема ништо. PHP во неа.
Нема. PHP во лицето на Целиот името на датотеката.
>> Публика: Но, можете да стави. jpeg на крајот.
Серверите се уште работат на код.
>> ЛУЧАНО Аранго: Не, тоа нема да се се кандидира на почетокот.
Мора да се оди назад и обидете се да се види дали може да се -
>> Публика: Значи ние треба да -
Добро, само уште еден сет кој вклучува -
>> ЛУЧАНО Аранго: Да.
>> Публика: OK.
>> ЛУЧАНО Аранго: Да.
OK.
Било какви други прашања?
OK.
Одам да ја напушти оваа и сортирање на обиде да се види дали вие момци можат да -
останатите се малку повеќе комплицирана, бидејќи тие бараат многу
повеќе знаење на SQL отколку само почнувајќи познавање на веб SQL е и
она што го вклучите Javascript-е.
Но јас ќе одам да се обиде да ги задржи на овој горе, и се надевам дека вие момци ќе научат
за ова и обидете се да се погледнеме што можете да направите и како многу примери
можете да добиете преку.
>> Секој имате било какви други прашања во врска со тоа?
Оди напред.
Да, се пука, пука.
Да, повелете.
Оди напред.
>> Публика: OK.
Така слушнав за тоа како магија Цитати не се безбедни доволно.
>> ЛУЧАНО Аранго: Што -
Магијата Цитати?
>> Публика: Да.
Па затоа додава - па секогаш кога го внесуваш нешто, тоа секогаш додава цитати.
>> ЛУЧАНО Аранго: Да.
Да.
OK.
>> ПУБЛИКАТА: И тогаш јас иако тоа работел, но тогаш јас го барав нагоре.
И тој рече дека не е добро.
Но не сум сигурен зошто.
>> ЛУЧАНО Аранго: Да.
>> ПУБЛИКАТА: Не користете Магијата Цитати, бидејќи тоа не е безбеден.
>> ЛУЧАНО Аранго: OK.
Па Магијата Цитати е кога ќе внесете SQL и тоа веќе додава понуда за вас.
>> Публика: Тоа секогаш додава цитати околу она што се стави внатре
>> ЛУЧАНО Аранго: Да.
Значи проблемот со тоа е дека -
Јас ќе ги разгледаме во -
>> Публика: Како тоа се здобијат со SQL изјава?
Или претпоставувам дека тоа би можело да биде како цитат изберете.
>> ЛУЧАНО Аранго: Да, ви треба добри понуди за SQL.
>> ПУБЛИКАТА: Не, но на серверот го прави тоа за вас.
>> ЛУЧАНО Аранго: Овие мали наводници токму тука, овие малку цитати?
>> Публика: Да.
>> ЛУЧАНО Аранго: Да.
Проблемот е во тоа што можете да коментирајте ја последната -
Добро, така што можам да направам е можам да коментирам надвор - па ајде да ги разгледаме во - дозволете ми да
отвори за уредување текст датотеки.
Дозволете ми да ја уредите оваа токму тука директно.
OK.
Вие момци може да се види дека јасно?
Што можам да направам е можам да коментирам надвор последен.
Ова ќе коментира надвор последен.
, А потоа јас ќе ги ставам овде, стави сите малициозни работи тука.
>> Па така корисниците е всушност внесување, нели?
Корисникот не е внесување работите, нели?
Тоа е она што јас ќе одам да влез како лицето се обидува да добие во внатрешноста.
Одам да се стави во -
тоа е една знакот за цитирање.
Тоа е само squiggly по грешка.
А потоа она што го кодот се случува да се направи -
Жал ми е, јас ќе одам да ја искористам оваа надвор.
Што го кодот се случува да направите е да тоа се случува да се додаде на првиот
наводници тука.
И тоа се случува да додадете последната знакот за цитирање, како и.
>> И тоа е, исто така, ќе додадете минатата година, последните знакот за цитирање.
Но јас сум коментирајќи овие цитат означува надвор, па тие не работат.
И јас сум завршувањето овој цитат одбележи овде.
Дали ви е јасно?
Сте се изгубиле?
Можам да коментира последната цитат марка, и се грижи за
Првиот знакот за цитирање.
>> Публика: И само завршница првиот.
>> ЛУЧАНО Аранго: Да.
И само заврши првиот.
Да, тоа е во право.
Тоа е она што можам да направам.
Да.
Било какви други прашања, како тоа?
Тоа е големо прашање.
Не, одговорот е да, можеби.
Се надевам, вие момци вид на ќе се направи повеќе смисла кога ќе студираат SQL и
работи како што.
Но бидете сигурни дека -
задржи овие алатки во часовникот.
Жал ми е, овие алатки овде.
Овие алатки се големи.
Ако некој има било какви прашања, исто така можете да ми мејл.
Ова е мојот нормален мејл.
И ова е мојата работа-мејл, кој е кога ќе работат на отворено море.
>> Добро, благодарам.
Благодарам, момци.
Ти си добро да отидевме.
Вие не треба да останат тука.
Не трипер.
Тоа е чудно.
Добро, благодарам, момци.