LUCIANO Arango: Gerai, vaikinai. Mano vardas Luciano Arango. Aš Adams House antrakursis. Ir mes ketiname kalbėti apie interneto saugumo aktyvios gynybos. Taigi aš dirbu Informacijos tarnyba Saugumas jūroje. Ir per vasarą, aš internuoti ne SeguraTec, kuris buvo informacija draudimo bendrovės, kad tarnavo of Columbia bankas. Tai dažniausiai, kai aš sužinojau, ką aš sužinojau šiol. Ir todėl kai kurių medžiagų, kad mes ketinate eiti per šiandien, mes turime ne tikrai kalbėjo apie klasėje. Bet mes netrukus. Tai bus kaip SQL, JavaScript. Ir mes ne tikrai dingo per jį. Taigi aš surūšiuoti skrydžio per jį, ir jūs negalite žinoti keletą dalykų. Tačiau netrukus, jums išmokti. Ir jis bus visas prasmės. Taip pat dar vienas dalykas - likti etikos. Kai kurių dalykų, kad jums sužinoti, jūs galėtų naudotis ne etikos būdais. Jei tai tavo, būtinai išbandyti. Aš tikrai motyvuoti jums vaikinai išbandyti savo serverius, pabandykite vyksta jų viduje. Žr jeigu jūs galite prasiskverbti juos, jei jūs galite gauti jų viduje. Bet ne kur nors. Policininkai nelabai patinka anekdotai ir sveiki, mes įdėti šią nuorodą čia. Mums buvo Messing aplink. Jie gauti tikrai piktas. Taigi per galvą į šią svetainę. Turiu ji pradėjo čia. Tai svetainė, ir ji turi pavyzdžių krūva. Kas atsitinka, kad pirmasis pavyzdys yra tarsi bus daug lengviau kaip paskutinę pavyzdžiui, tam tikra prasme kad pirmasis pavyzdys yra visiškai nesaugus. Ir naujausia yra tarsi tai, ką normalus interneto saugumo asmuo darytų. Bet jūs vis dar galite rūšiuoti iš gauti aplink, kad. Ir mes ketiname didžiausią dėmesį skiriant vieną ir du pavyzdžiai, vienas ir du. Gerai. Pradėkime nuo cross-site scripting. JavaScript paleisti kliento naršyklę. Tai programavimo kalba, kad jūs naudojate paleisti kliento naršyklėje panašiai jūs neturite atnaujinti svetainę ir grįžti į serverį. Jūs turite tai veikia. Pavyzdžiui, "Facebook", jūs neturite perkrauti naujos statuso svetainę atnaujinimai sugalvoti. Jis naudoja JavaScript generuoti visi šie dalykai. Taigi, mes galime įleisti kenksmingą JavaScript į svetaines. Ir tokiu būdu, kai mes išsiųsti nuorodą kas, galėtume tarsi siųsti jį su kai kodo, kad mes norime. Yra patvari ir nepastovus JavaScript - patvarios ir nepatvarus cross-site skriptų, turiu galvoje. Ir skirtumas yra tas, kad nuolatinis yra JavaScript, kad bus išsaugotas svetainėje. Ir nepatvarus bus Javaskriptą kad tikrai tik atsitiko vieną kartą. Taigi pažvelkime į pavyzdį nekilnojamojo greitai. Gerai. Taigi ši svetainė, paprastas, nieko neįvyksta čia. Ir mes ketiname bandyti įterpti šiek tiek "JavaScript". Taigi, kaip mes pradedame rašyti "JavaScript" yra pradėsime su pradžioje scenarijų. Ir mes jį uždaryti su scenarijų. Mes tiesiog ketina pateikti pranešimą - Aš jums parodysiu, - perspėjimas. Perspėjimas yra funkcija, kad "JavaScript" naudoja rodyti kažką. Taigi, pabandykime jį nekilnojamojo greitai. Aš ruošiuosi eiti, įspėjimo labas. Na, aš pamiršau įdėti - Gerai. Štai paprasta. Mes atliekame JavaScript svetainę, ir ji atėjo. Ir tai tarsi būna tik parodysime mūsų puslapyje, tiesa? Taigi, atrodo, kad tai ne problema, tiesa? Aš turiu galvoje, kaip tu galėjai naudoti tai piktavališkai? Taigi, taip, kad hakeriai padaryti tai yra tikrai paprasta. Jie ketina paimti jį. Jie gali siųsti šią nuorodą jums. Jei aš dabar siųsti šią nuorodą jums, ir atidarius jį, jis ketina sako, labas, sakydamas, kad mano svetainė sakau labas. Ir taip, jei aš buvo pasakyti kažką šiek tiek protingesni, jei aš atsigriebti "JavaScript" funkcija I rūšies jau rašė - bet jei jūs žiūrite į jį, aš eisiu Per jį, kol aš ją parašė. Taigi, mes ketiname nustatyti delsą. Mes ketiname laukti pora sekundžių. Tiesą sakant, mes ketiname laukti, jei Neklystu, penkių sekundžių. Tai eina per kelias milisekundes. Ir tada, ką mes ketiname padaryti, tai mes ketina įspėti, kad prisijungti Laikas baigėsi prisijungti įeiti Ir mes ketiname pakeisti vietą į kitą vietą. Taigi, jei aš siunčiu šią svetainę, kad kažkas, jie bus peržiūrintys aplink, ramus. Nieko, kas vyksta. Ir per penkias sekundes, jis ketina pasakyti, jūsų prisijungimo laikas baigėsi. Prašome prisijungti įeiti Kai jie spustelėkite Gerai, aš ruošiuosi imtis juos kitoje svetainėje. Matyt, svetainė ketina būti panašus į svetainę, kad jie buvo anksčiau. Ir jie ketina prisijungti savo įgaliojimai į mano svetainę, o ne savo interneto svetainėje. Ir kad aš galiu siųsti žmones laišką su šią nuorodą. Aš sakau, oi, čia nuoroda. Tai bankas, pavyzdžiui. Sakau, čia eiti ant šios nuorodos. Ir kai jie siunčia jį, jie bus naršyti aplink. Galiu palaukti 15 sekundžių, 20 sekundžių, ir tada pop, kad vėl užsiregistruoti pasirašyti atgal. Vaikinai galite pabandyti jį su daug daugiau dalykų. Tai sudėtinga, nes vaikinai nemačiau JavaScript, todėl jūs galite nežinau kai kurių funkcijų. Bet viskas, ką turite padaryti, tai pradėti su scenarijų, baigiasi scenarijų. Ir jūs galite įdėti ką nors viduryje. Perspėjimas yra funkcija, laukti. Langų vieta pateksite į naują vietą. Bet jūs galite padaryti daug daugiau. Ir todėl idėja yra ta, kad mes, kad ne. Jei aš einu pavyzdžiui, dvi, ir aš įdėti į tą patį kodą, jis nesiruošia dirbti. Taigi, tai spausdinant viską, nes ką ši svetainė iš pradžių ar yra, jei aš įdėti ką nors čia, jis bus atspausdinti jį čia. Taigi jis nespausdina nieko iš. Šis pavyzdys yra iš tikrųjų patikrinti pamatyti, jei scenarijus yra. Taigi, taip, eiti į priekį. Paprašykite manęs. Auditorija: Ar nesiunčia gauti arba rašyti prašymą? LUCIANO Arango: Taip. jie siunčiant get prašymą. PUBLIKA: Tai? LUCIANO Arango: Taip. Taip pat naršyklių naudoti post prašymus. Bet aš bandau parodyti GET užklausų todėl, kad mes galime pamatyti, kas yra iš tikrųjų vyksta. Ir taip, jei pažvelgsime į šio kodekso - todėl ji neveikia anymore. Ir jei mes pažvelgsime į šio kodekso išvaizdą, tai bus pavyzdyje dvi. Kas šis žmogus daro, žmogus atsakinga už šios naršyklės - atverti, gerai - keičia žodis "scenarijų. Tai yra PHP, o vaikinai galėtų mačiau šiek tiek dar. Jis tiesiog pakeičiant žodis scenarijų su pavadinimu. Taigi vis dėlto, jei aš einu į priekį ir tiesiog įdėti - jei stveriu kodą dar kartą, ir aš ruošiuosi keisti tai tik šiek tiek. Vietoj scenarijų, aš ruošiuosi keisti tai už scenarijų su kapitalo R. ir mes ketiname pamatyti, jei šis kodas veikia. Taigi nebuvo atspausdinti jį, kuris yra geras ženklas. Ir tikiuosi, dviem daugiau sekundžių, ji ketina pop-up. Jūsų prisijungimo laikas baigėsi. Gerai. Viskas gerai. Taigi tikrinant scenarijų galėtų nebūtinai dirbti. Asmuo - ji taip pat gali patikrinti scenarijaus didžiosiomis raidėmis, scenarijų mažosiomis g atvejis lyginti, įsitikinti, kad jie patys. Bet įsilaužėlis vis dar galite padaryti, tarsi kas mes padarė Vigenere kai mes persikėlė atgal pora ženklai, judėti į priekį. Ir ji gali išsiaiškinti, kaip įdėti scenarijų atgal į ten, kad ji gali švirkšti kad scenarijų. Taigi, ką jūs norite naudoti yra htmlspecialchars į apsaugoti jūsų svetainę. Ir kas tai daro tai daro įsitikinęs, kad tai, ką jūs įtraukėte į - pavyzdžiui, citatos ar tai didesnis ar mažesnis nei - pakeičiamas su kažkuo kad nebus - leiskite man padidinti čia - faktinis ampersand. Jis pakeis šių specialių HTML ženklai, kad mes pamatysime kai mes kalbame apie - oh, tai paims mane į - šie ženklai čia. Tai reiškia, kad kažkas ateina. Dėl HTML, kad nuo laikiklio pasakoja, kad kažkas HTML susijusi ateina. Ir mes norime atsikratyti, kad. Mes nenorime įdėti HTML į website.k Mes nenorime vartotojui turi būti galima įdėti kažką savo svetainėje kurie gali turėti įtakos jų svetainę, kaip scenarijų arba HTML ar kažkas panašaus. Kas svarbu yra tai, kad jums Sanitarinės vartotojo įvestį. Taigi, vartotojai gali įvesties daug dalykų. Jis gali įvesti stuff krūva pabandyti apgauti savo naršyklę į dar rodyti šį programinį kodą. Ką jūs norite daryti yra ne tik ieškoti script, bet atrodo viskas tai gali būti kenksminga. Ir htmlspecialchars darys, kad už jus, kad jūs neturite jaudintis dėl to. Bet nebandykite to daryti patys tarsi su savo kodu. Ar kiekvienas aiškiai XSS? Gerai. Vykime į SQL injekcijos. Taigi SQL injekcijos tikriausiai numeris vienas pažeidžiamumas įvairiose interneto svetainėse. Aš turiu galvoje, geras pavyzdys - Aš tik tiriant toliausiai dėl šio dalyko. Ir radau šį awesome straipsnį, kuriame Aš pamačiau, kad Harvardo buvo pažeistas, buvo įsilaužta. Ir man buvo įdomu, gerai, kaip jie tai daro? Harvardo yra labiausiai nuostabus, labiausiai užtikrinti universitetą bet kada. Teisė? Na, nepažeistų serverius, hakeriai naudoti metodas vadinamas SQL injekcijos. Taigi tai atsitinka dėl kasdien. Žmonės pamiršta, kad būtų atsižvelgta į SQL injekcijos. Harvardo nėra. Manau, kad tai sako čia, Prinstono, Stanfordo, Kornelio. Taigi, kaip mes - tai kas tai yra SQL injekcija, kuri atneša visa tai žmonės žemyn? Gerai. Taigi SQL programavimo kalba, kuri mes naudojame prieiti prie duomenų bazių. Ką mes darome, tai mes pasirinkite - Taigi, kas tai skaito dabar yra pasirinkite viskas nuo stalo. SQL jis keičia į šias duomenų bazes kad turi lenteles pilnas informacijos. Taigi pasirinkite viską iš vartotojų kur vardas yra vardas. Teisė? Pakankamai paprasta. SQL injekcijos idėja yra ta, kad mes įterpti kenkėjišką kodą, kuris būtų apgauti serverio į rodyti kažką kitoks, nei jis iš pradžių buvo paleista. Taigi, tarkim, vardu, mes įdėti ar 1 yra lygus 1. Taigi, mes įdėti ar 1 yra lygus 1. Kaip jis bus skaityti dabar bus pasirinkite iš naudotojų, viskas iš vartotojų - tai yra viskas - kur vardas yra vardas, bet username is arba 1 yra lygus 1. Taigi vardas yra nieko arba 1 yra lygus 1. 1 lygu 1 visada yra tiesa. Taigi, tai bus visada grįžti informaciją iš vartotojų. Gerai. Mums nereikia turėti teisingą vartotojo vardą. Mes galime tik nieko, kad mes norime, ir jis grįš informaciją kad mums reikia. Pažvelkime į kitą pavyzdį. Jei mes pasirinkti viską nuo vartotojo, kur pavadinimas yra DROP TABLE vartotojai - Taigi, ką jūs manote, kad tai bus daryti, jei aš įdėti į vardą kaip DROP TABLE vartotojai? Kiekvienas turi idėją? Taip. PUBLIKA: Tai ketinu pasakyti tai iškelties visas lenteles. LUCIANO Arango: Ji ketina papasakoti iškelties viską tinklalapyje viskas į duomenų bazę. Ir tai, ką žmonės naudoti šį - taip Aš ketinu parodyti jums, vaikinai. Aš neįgaliesiems nuleisti lenteles nes aš noriu, kad jūs vaikinai lašas mano lenteles. Leiskite pažvelgti į tai pažvelgti. Taigi tai tiesiog išsitraukia iki informaciją tam tikram asmeniui. Taigi, kaip mes žinome, jeigu tai yra įtakos SQL injekcijos. Mes ketiname patikrinti nekilnojamojo greitai jei mes galime įdėti kažką - leiskite man nukopijuoti šį kodą. Aš ruošiuosi eiti per jį per sekundę. Aš ruošiuosi įdėti šaknis ir 1 yra lygus 1. Tai čia, tai procento ženklas 23 - ką ji iš tikrųjų yra, jei aš atrodo čia ne - būdas HTML trunka skaičiais, jei pažvelgti, kai aš įdėti į kosmosą ieškoti čia - jei aš būčiau kosmoso kažką čia jis keičia jį procento 2. Ar jus vaikinai pamatyti tai čia kai aš įdėti į kosmosą? Kaip tai veikia tai, kad jūs galite tik siųsti ASCII vertybes HTML. Taigi jis pakeičia, pavyzdžiui, erdvė su procentais 20. Aš nežinau, jei jus vaikinai mačiau, kad prieš. Jis pakeičia hashtag su procentais 23. Mums reikia hashtag pabaigoje ar pareiškimas, kad galėtume pasakyti, duomenų bazė pamiršti komentaras iš šis paskutinis kabliataškiu pabaigoje. Mes norime, kad ji negali galvoti apie tai. Mes tiesiog norime, kad ji paleisti viską kad mes turime iš anksto ir pastebėjo, kad iš. Paimkime į jį žiūrėti. Taigi, jei aš buvo įdėti ką nors blogo - tarkim, pavyzdžiui, aš įdėti 2 lygu 1, tai nesuteikia man nieko. Kai aš įdėti 1 yra lygus 1, ir ji grįžti kažką, tai man sako, kad tai yra pažeidžiami SQL injekcijos. Dabar aš žinau, kad bet kokia Aš po to - ir, pavyzdžiui, DROP LENTELĖS ar kažkas panašaus tikrai dirbti. Žinau, kad pažeidžiami SQL injection nes žinau, kad po kapotu, tai nuomos man tai 1 lygus 1 dalykas. Gerai? Ir jei mes pažvelgti į šių kitų, numeris du ir numeris trys, tai ketina padaryti šiek tiek daugiau tikrinti po dangtis, kas tai yra. Taigi, kas leistų lašas kas dar ar bandėte? Ar jums, vaikinai, tarsi gauti SQL dar? Nes aš žinau, jūs vaikinai neturite mačiau jį dar, kad tai rūšies painioja jums vaikinai. Paimkime išvaizdą. Taigi, kas yra būdas užkirsti kelią SQLI? Gerai. Taigi tai yra tikrai svarbus, nes jums vaikinai tikrai norite, kad būtų išvengta šią nuorodą į savo interneto svetainėse. Jei ne, visi tavo draugai ketinate pasijuokti iš jūsų, kai jie meta viską Jūsų stalai. Taigi, idėja yra, kad jūs atkurti SQL tam tikru būdu, o jūs rungtynės ką vartotojas įėjimai su tikras eilutę. Taigi, kaip tai veikia, jums parengti duomenų bazę. Galite pasirinkti pavadinimą, spalvą ir kalorijų iš duomenų bazės vadinamas vaisių. Ir tada, kai kalorijų yra mažiau nei, ir mes įdėti klaustuką yra sakydamas, mes ketiname įvesti kažkas per sekundę. Ir spalvos lygios, ir mes įdėti klausimą ženklas sakydamas mes ketiname įėjimo kažkas per sekundę, taip pat. Gerai? Ir tada mes jį vykdyti, įgyvendinant į 150 ir raudona. Ir tai patikrinti, kad įsitikinęs, kad šie du dalykai - tai masyvas bus patikrinti, kad šie du yra sveikasis skaičius ir kad tai yra eilutė. Tada mes einame, ir mes paimti gale, mes jį raudonai. Tai reiškia, kad mes atnešti visiems. Tai reiškia, kad mes iš tikrųjų vykdyti SQL ataskaita ir padėkite jį atgal į raudoną. Čia mes darome tą patį, bet mes daryti tą patį ir geltona. Ir mes atnešti visiems. Ir tokiu būdu, mes galime išvengti vartotojui gražu galėtų įvesties kažką ne tai, ką mes nurodyta, styginių arba sveikasis skaičius, pvz. Aš kalbu apie anksčiau priklausomi nuo kitų žmonių. Kai vaikinai pradėti savo projektą, jūs neabejotinai ketinate naudoti bootstrap'inti ar kažkas panašaus. Ar jums, vaikinai, kada nors naudojamas WordPress? Tikriausiai jus vaikinai naudoti WordPress greičiausiai. Taigi su naudojant problema kitų žmonių dalykų - Aš tik Google nekilnojamojo greitai WordPress pažeidžiamumas. Jei aš traukti tai iki dabar - Aš tiesiog padarė du antrojo "Google". Mes matome, kad WordPress - tai data kaip '12. 26 yra atnaujinama. Numatytoji konfigūracija WordPress prieš 3,6 netrukdo tai tam tikros nuotraukos, kurios gali lengviau cross-site scripting išpuolių. Taigi greitai istorija, kai dirbome - taip man buvo, vasarą, darbo stažuotės. Ir dirbome su rūšies kaip didelis kredito kortelių bendrovei. Ir jie remiasi kažką vadinama - Aš nežinau, jei jus vaikinai kada nors grojo su produkto, pavadinto Joomla. Joomla yra produktas, kuris yra naudojamas kontrolė - tarsi panašus į WordPress, naudojamas kurti svetaines. Taigi jie turėjo savo svetainę darbo Joomla. Tai tikrai kreditinės kortelės bendrovė Kolumbijoje. Imsiu jums jų svetainė nekilnojamojo greitai. Taigi jie naudojami Joomla. Ir jie nebuvo atnaujinti Joomla į naujausią to. Ir todėl, kai mes atsižvelgiant pažvelgti jų kodas, mes galėjome iš tikrųjų vidun savo kodą ir pavogti visus kredito kortelės informaciją, kad jie turėjo, visi kredito kortelių numerius, pavadinimai, adresai. Ir tai buvo tik - ir jų kodas buvo puikiai baudą. Jie turėjo didelę kodą. Tai buvo visų saugumas. Jie patikrino visas duomenų bazes. Jie pasirūpino, cross-site scenarijus buvo gerai. Bet jie naudojo kažkas, kad nebuvo atnaujinti, kad nebuvo saugus. Ir todėl, kad paskatino juos - taip vaikinai tikrai ketinate naudoti kitas žmonių kodas, kitų žmonių sistemas sukurti savo svetainę. Įsitikinkite, kad jie saugus, nes kartais tai ne, vienas, kad suklysta. Bet kažkas suklysta, ir tada jūs griūti dėl to. Slaptažodžiai ir PCAD. Taigi slaptažodžius. Gerai. Leiskite pažvelgti slaptažodžius išvaizdą nekilnojamojo greitai. Gerai. Prašau pasakyti, kad kiekvienas naudoja saugus - Aš tikiuosi, visiems čia naudoja saugius slaptažodžius. Aš tiesiog leisti, kad ir kaip prielaida. Taigi, vaikinai tikrai ketina saugoti slaptažodžius savo interneto svetainėse. Jūs ketinate padaryti kažką panašaus Prisijunkite arba kažkas panašaus. Kas svarbu, kad ne aukštesnėje slaptažodžius paprastojo teksto. Tai labai svarbu. Nenorite saugoti slaptažodis paprastu tekstu. Ir jūs tikrai tikrai norite laikyti jį į vieną pusę maišos. Taigi, kas vieną pusę maišos yra tai, kad kai sukurti žodį, kai jūs įtraukėte tai žodis į maišos funkcija, tai bus generuoti atgal kai paslaptingas rūšiuoti pranešimas arba paslaptingas rinkinys raktus. Aš jums parodysiu pavyzdį. Aš ruošiuosi maišos jie žodį hasło1. Taigi MD5 hash ketina grįžti man kai keistai informacijos rūšiuoti. Problema ta, kad žmonės ten kad norėčiau eiti į svetaines turi jau suprato, rūšiuoti visų MD5 maišos. Kas jie yra jie susėdo ant jų kompiuteriai, ir jie maiša kas vieno įmanoma žodis ten, kol jie gavo tarsi kas tai yra. Jei aš būčiau sužinoti apie tai - Aš tiesiog įsikabinti šį maišos. Jei gaunu šį maišos - jei aš einu į svetainę, ir manau, tai maišos, nes gaunu duomenų bazių ir žiūriu jį, nors jau suprato, kad už mane. Taip. Taigi žmonės susėdo, ir kokia suma MD5 maišos, kad jūs įdėti, kad jie ketina grįžti į jus kažkas tai žodis. Jei aš maišos kitą žodį, kaip - Aš nežinau, - trees2. Nenoriu būti nuvilti mano "Google" paieškas. Yra tai yra, trees2. Taigi daug svetainių vis dar naudoja MD5 maišos. Jie sako, oi, tai saugus. Mes ne saugoti paprastu tekstu. Mes turime šį md5 hash. Ir viskas, ką turite padaryti, tai tik "Google" numerį. Aš net nereikia apskaičiuoti pats. Galiu tik google jį, ir kažkas jau tai padarė už mane. Štai jų krūva. Štai slaptažodžių krūva. Taigi tikrai nereikia naudoti md5 hash, nes viskas, ką turite padaryti, tai "Google" ji. Taigi, ką jūs norite naudoti vietoj? Gerai. Kažkas pavadino sūdymas. Taigi, kas yra sūdymas - jus vaikinai atsimenu, kai mes buvome kalbame apie atsitiktinai - Aš nesu įsitikinęs, ką pset ji - ji buvo pset ten ar keturis? Mes kalbame apie ieškant į adatą šieno kupetoje. Ir pset, jis sakė, kad galėtumėte iš tikrųjų suprasti, ką atsitiktinai generuoja, nes kažkas jau vyko atsitiktinių milijoną kartų ir tik tarsi susiformavo ką jie sukuria. Ką jūs norite daryti yra įdėti į indėlį. Štai ką sūdymas tarsi yra. Jie jau suprato, ką sūdymas grąžina kiekvienam kūriniui. Taigi, ką daro, yra sūdymas jūs įdėti druskos. Jūs įdėti į tam tikrą žodį. Ir tai bus koduoti šį žodį, priklausomai apie tai, ką jūs įtraukėte į čia. Taigi, jei aš maišos slaptažodį vieną su šiuo sakinys, jis ketina maišos kitaip, jei aš maišos hasło1 su kitu sakiniu. Tai tarsi suteikia jai kažkur pradžia maišos pradėti. Taigi, tai daug sunkiau apskaičiuoti, bet jūs dar gali apskaičiuoti, kad, ypač jei jūs naudojate blogą druskos. Žmonės jau taip pat išsiaiškino, bendras druskos ir išsiaiškino, kas tai yra. Atsitiktinė druskos yra daug geriau, bet geriausias būdas yra naudoti kažkas vadinamas kriptoje. Ir kas kripta leidžia nereikia - todėl šios funkcijos jau pastatyta už jus. Daugelis žmonių pamiršta, kad arba jie pamiršta jį naudoti. Bet jei aš ieškoti kripta PHP, kripta jau grįžta maišos eilutę man. Ir ji iš tikrųjų druskos jai daug kartų ir maišos jį daug kartų. Taigi mes neturime tai padaryti. Taigi, viskas, ką turite padaryti, tai siųsti jį į kriptoje. Ir jis bus sukurti didelę maišos be Jums net nereikės nerimauti druskos arba nieko. Nes jei jums buvo druska tai, jūs turite prisiminti ką druską naudojote nes jei ne, jūs negalite gauti savo slaptažodis atgal be druska, kurį naudojote. Gerai. O taip pat asmens identifikuoti informacija. Taigi, socialinis draudimas, kreditinės kortelės - tai gana akivaizdu. Bet kartais žmonės pamiršta, kaip ji darbai yra kiek informacijos jūs iš tikrųjų reikia rasti vieną asmenį? Kažkas padarė tyrimą apie tai kelio atgal. Ir tai buvo, pavyzdžiui, jei turite vardas, pavardė, jūs negalite rasti kažkas, kad lengvai. Bet kas, jei jūs turite pilną vardą ir jų gimimo data? Ar tai pakankamai, kad nustatyti kas konkrečiai? Ką daryti, jei jūs turite savo vardą ir gatvė, kad jie gyvena? Ar tai pakankamai, kad rasti ką nors? Ir tai, kai jie klausia: kas yra asmens identifikuojančią informaciją, ir ką reikia nerimauti ne išvilioti? Jei atiduoti asmeniniai identifikavimo informacija, kad kas nors suteikia jums, jums galėtų gauti iškelta byla. Ir mes tikrai nenorime, kad. Taigi, kai jūs įsigijote savo svetainę užduotis, ir jūs tikrai cool dizainas, tikiuosi, jūs padarėte nuostabus galutinis projektas. Bet jūs tarsi nori padėkite jį ten. Jūs norite įsitikinti, kad nepriklausomai nuo jūs vartojate nuo vartotojo, jei tai asmens identifikuojančią informaciją, jūs norite įsitikinti, kad jūs iš tikrųjų yra atsargūs su juo. "Shell injekcija. Gerai. "Shell injekcija leidžia įsibrovėlis gauti prieigą prie jūsų faktinis komandinės eilutės jūsų serverio. Ir todėl jis gali paleisti kodą kad jūs negalite kontroliuoti. Paimkime kad šis pavyzdys gražus styginių čia. Jei mes einame į svetainę dar kartą, aš ruošiuosi eiti į kodų injekcijos. Taigi, kas tai daro, yra - jis taip pat tai, ką mes žiūri anksčiau. Mes leisdami vartotojui įdėti ką jis nori, ir ji bus išspausdinti ką tik norite. Taigi, aš ruošiuosi įdėti pokalbį. Kas tai yra - jis bus pradėti concatenating. Taigi ji leis man paleisti kokia įsakau asmens veikia prieš ir mano komanda. Ir aš bėgu sisteminę komandą. Ir šie paskutiniai stygos, - prisimena ką aš kalbėjau su jumis, vaikinai, apie, o jūs turite koduoti tai į URL metodą. Jei aš paleisti tai dabar - Aš jums parodysiu, čia - pamatysite, kad aš galų gale veikia komandą. Tai iš tikrųjų yra tikrasis serverį kad mano svetainė veikia. Taigi, mes nenorime, kad nes galiu paleisti - šis serveris yra ne mano. Taigi, aš nenoriu sujaukti jo sesuo, Marcus serveris. Bet jūs galite paleisti daugiau komandų kad yra pavojingi. Ir galbūt galima ištrinti failai, pašalinti katalogus. Galiu pašalinti tam tikrą katalogą, jei Aš norėjau, bet aš nenoriu padaryti, kad Marcus. Jis gražus vaikinas. Jis leido man skolintis savo serverį. Taigi, aš ruošiuosi leisti jam off gera. Taigi, ką mes nenorime naudoti - mes ne norite naudoti eval ar sistemą. Eval ar sistema leidžia mums padaryti šiuos sistemos skambučius. Eval priemonė įvertinti. Sistema tai ką išbėgau. Tai paleisti kažką į sistemą. Tačiau mes galime uždrausti šiuos dalykus PHP, kad mes nenaudojame jų. Ir failų įkėlimo. Aš buvau ketinate daryti nuostabus dalykas su failų įkėlimo. Bet, kaip aš jus vaikinai sakė, mano failą Įkelti dalykas neveikia. Jei aš būčiau įkelti failą dabar - jei aš buvo nusiųsti failą, ir tai vaizdas - turite įkelti dalykas tai nuotrauka. Tai gerai. Nieko neįvyksta. Bet jei jūs turite įkelti failą, skirtą pavyzdys, ir vartotojo faktiškai nuotraukos PHP failo arba exe failą ar kažkas panašaus, tada jums galėtų turime problemą. Tai dirbo anksčiau. Deja, man, tai nebeveikia. Jei aš, pavyzdžiui, įkelti šį failą, aš negauna leidimo įkelti byla dėl serverio nėra mano. Taigi vaikinas tikrai protingas. Taigi, mes nenorime - Aš ketinu parodyti jums, vyručiai, - Gerai, tai yra keletas tikrai cool įrankiai. Taigi tai - eiti į - jei jus vaikinai Firefox - tikiuosi, jūs padaryti. Yra du papildinių vadinamas SQL įpurškiama Man ir cross-site Script'o mane. Jie atveria tiek mažai pusę barai pusėje. Ir jei aš turėjo eiti į CS60 pavyzdžiui - todėl tai, ką jis daro, yra atrodo už visas formas, kad - tikiuosi, aš ne gauti į bėdą už tai. Bet Gerai. Štai pin sistema. Taigi, kai aš pradėti ieškoti skylių sistema, pirmas dalykas, kurį man yra atverti šį graži įrankis pusėje. Ir aš ruošiuosi išbandyti formas su auto išpuolių. Ir kas tai daro tai lėtai atverti naršyklės krūva. Štai naršyklių krūva. Ir jis bando kiekvieną derinys iš cross-site scripting kad galbūt yra, jei matote ant šono. Ir tai duos man rezultatas tarsi ką atsakyti. Viskas praeina. Akivaizdu, kad visi jie praeiti. Aš turiu galvoje, jie tikrai protingas žmonės ten. Bet jei aš buvo paleisti - Turėjau seniau, kai aš paleisti šį dėl studentų baigiamųjų projektų. Aš tiesiog paleisti SQL įšvirkščiamas mane su visi įvairių atakų. Ir jis bando SQL švirkšti tai pin serveryje. Taigi, jei mes slinkite žemyn, nes Pavyzdžiui, jis sako - tai gerai, jei jis grįžta. Taigi išbandyti kai tam tikras vertybes. Ir serveris grąžino kodas, kuris buvo neigiamas. Pašalinti laikinai. Tai yra gerai. Jis bando visus šiuos bandymus. Taigi jums gali tiesiog paleisti - Norėčiau rasti svetainės reali greitai, kad būtų leiskite man - gal CS50 parduotuvė. Oho, tai vyksta imtis per daug ilgas. Aš tegul pirmasis bandymas nebaigė teisus. Taigi jis skundžiasi. Taigi šie trys dalykai. Šios priemonės yra nemokamos. Jūs galite atsisiųsti juos ir paleisti juos jūsų svetainė, ir ji jums pasakys, jei turite cross-site scripting, jei turite SQL, jei turite kažkas panašaus. Aš tarsi Messing. Kas svarbu - Gerai, kad niekada pasitikėti vartotoją. Nepriklausomai nuo vartotojo įėjimai jums, kad tikrai išvalyti jį, jūs jį valyti, jums patikrinti teisingus dalykus, kad ji suteikia jums tai, ką jūs noriu, kad jis duos jums. Visada turi būti atnaujinamas kas sistemos kad jūs iš tikrųjų naudoti. Jei naudojate kažką panašaus bootstrap'inti - Aš žinau, vaikinai ketinate naudoti bootstrap'inti nes jis ketina eiti per tai greitai klasėje - ir WordPress arba kažką panašaus, kad, paprastai tai gali būti nulaužė. Ir tada net nežinau. Jūs tiesiog rodyti savo svetainėje. Ir tai visiškai saugus. Ir jūs einate žemyn. Taigi, aš žvejybos tikrai anksti. Bet aš noriu padėkoti Pentest Labs. Aš ketinu parodyti jums, vaikinai, ką vadinamas Pentest Labs. Jei vaikinai yra tikrai domina kas saugumo tikrai yra, ten tinklalapį, pavadintą Pentest Labs "jei vaikinai eiti į jį dabar. O, gerai, kad ne. Aš tik ketina paleisti jį, kaip šis. "Google" man pasako atsakymą. Gerai. Ir ji moko jus panaudoti - todėl sako, sužinoti interneto skvarba išbandyti teisingą kelią. Jis moko jus - tikiuosi, jūs etikos asmuo. Bet jis moko jus, kaip jūs galite peržvelgti kaip galite patekti į vidų svetainėse. Ir jei jums sužinoti, kaip galite patekti į vidų interneto svetaines, jūs galite sužinoti, kaip apsisaugoti nuo vis viduje svetainėse. Leiskite man padidinti, nes gal vaikinai nežiūri į šią teisę. Nuo SQL injekcijos Mokėti, todėl rūšiuoti, kaip aš galiu gauti iš SQL injekcija į kriauklę. Ir jums atsisiųsti šį virtualią mašiną. Ir virtualioji mašina jau ateina su svetaine, kad jūs einu bandyti jį. Jūs atsisiųsti šį PDF. Ir jis parodys jums pagal kiekvieną eilutę, kas ką jums reikia padaryti, tai, ką patikrinti. Tai, kas užpuolikas iš tikrųjų ar patekti į vidų svetainėje. Ir kai kurie iš šių dalykų yra sudėtinga. Norėčiau eiti per daugiau dalykų, su jumis vaikinai. Bet aš nerimauti, kad vaikinai turi tikrai ne - tai ką aš per su vaikinai, interneto testai už skverbties bandymas. Ar tikrai nežino, kas SQL yra ir kas - Carl Jackson seminaras yra nuostabus taip pat. Vaikinai nežino, rūšiuoti kas tai yra. Bet jei jūs einate į šią svetainę, ir jūs atsisiųsti šias vadovėliai ir jų PDF, galite pažvelgti tarsi atrodo kas saugumo srityje tikrai ir skverbties bandymas, pamatyti, kaip jūs galite gauti viduje svetaines ir apsaugoti sau iš jo. Taigi, jei aš padaryti super greitą apžvalgą, jis bus išvengti cross-site scripting. Norite htmlspecialchars naudoti kiekvieną kartą, kai vartotojas įėjimai kažką. Išvengti SQL injection. Jei tai padarysite, jūs jau esate geriau nei Harvardo buvo kai jie gavo pažeistas. Ir įsitikinkite, kad jūsų slaptažodžiai nėra paprastas tekstas. Įsitikinkite, kad jūs ne tik vienas būdas maišos juos, bet, kad jūs naudojate kripta, PHP funkcija, kad aš parodė jums vaikinai. Tokiu būdu, jums turėtų būti gerai. Be to, jei jūsų draugai jums, paleisti SQL įšvirkščiamas mane į savo tinklalapius. Pradėti cross-site scripting jų interneto svetainėse. Ir jūs pamatysite šių svetainių aikštelė turi keletą silpnų toną. Tai neįtikėtina, kiek žmonių pamiršta iškarpyti filmą savo duomenų bazėse ar padaryti Nežinote, ką asmens duomenis įvedusiam nėra programinį kodą. Gerai. Aš tarsi baigėsi tikrai anksti. Bet jei kas nors turi kokių nors klausimų kas galite šaudyti man klausimą. Taip. Eiti, eiti. PUBLIKA: Aš tiesiog noriu paklausti, galite paaiškinti, kaip failas įkelti tiksliai darbus. LUCIANO Arango: Taip. Taigi, leiskite man parodyti jums failą įkelti nekilnojamojo greitai. Taigi failų įkėlimo - problema wit failų įkėlimo dabar yra tai, kad - Aš ruošiuosi atidaryti kodą, todėl jūs vaikinai pamatyti kodą užkulisiuose. Ir tai yra įkelti. Štai dėl failo Uploader kodas. Mes bandome eiti į šį katalogas čia. Ir mes bandome, kai mes įvesti failas, isset failą - todėl, kai yra failą į bylos, kad vaizdas, tada mes stengiamės perkelti jį čia. Mes patraukti failą čia. Metodas POST, tipas, vaizdas, byla. Ir mes siunčiame šį failą. Ir tada, kai mes jį gauti, todėl, kai byla turi įvaizdį, mes stengiamės jį išsiųsti į šį aplanką. Problema ta, kad svetainė nėra leisti man eiti į šį aplanką, , nes jis nenori man eiti atgal. Ji nenori man eiti - Turiu eiti - Taigi čia įkelti. Štai vaizdai. Turiu eiti visą kelią atgal į pradeda ir įdėti jį į ten ir ten eiti ir įdėti jį į katalogą. Taigi, jei aš paleisti terminalo langą, ir aš norėjau perkelti failą - [Nesigirdi] gali jį peržiūrėti. Jei aš norėjau perkelti failą, turiu įdėti į failo pavadinimą, tada pilnas kelias Noriu siųsti jį. Ir tada serveris nėra pranešėte man grįžti. Ir todėl tai nėra nuomos man gauti tą failą. Bet paprastai - todėl nėra už kodas įkelti failą. Taigi paprastai, kas bus atsitikti taip, kad asmuo ne taip, patikrinti, jei mano byla baigiasi. jpeg, todėl aš norėtų patikrinti. Leiskite man pradėti pavyzdys per nekilnojamojo greitai. Gerai. Šis asmuo teisė - taigi pavyzdys du tikrina jei preg_match - čia jis yra čia - įsitikinti, kad baigiasi PHP, kuris yra geras. Tai yra gerai. Bet yra realus didelis problema su tai. Tai yra gerai. Bet jei aš būčiau įdėti failą pavadinimu myfavoritepicture.php.jpeg, galėčiau vis tiek gali atsikratyti JPEG ir paleisti it.k kad PHP pavojinga. Jūs nenorite, kad asmuo galės paleisti kodą į savo svetainę. Bet tada. Jpeg leidžia jam tekėti. Idėja yra tai, ką tikrai norite daryti nėra priimti failus, A. Bet, gerai, ką jūs tikrai norite padaryti, tai įsitikinkite, kad skaityti visame pasaulyje. Ir nieko. Php joje. Nėra. PHP Visas failo vardas. Auditorija: Bet tu gali įdėti. jpeg ant pabaigos. Serveriai dar paleisti kodą. LUCIANO Arango: Ne, tai nebus paleisti pradžioje. Jūs turite eiti į priekį ir išbandyti pamatyti, jei galite - PUBLIKA: Taigi mes turime - Gerai, tik dar vienas rinkinys, kuris apima - LUCIANO Arango: Taip. PUBLIKA: Gerai. LUCIANO Arango: Taip. Gerai. Visi kiti klausimai? Gerai. Aš ruošiuosi palikti tai padaryti ir rūšiavimas iš pabandyti pamatyti, jei jus vaikinai gali - kitos jų yra šiek tiek daugiau sudėtinga, nes jie reikalauja daug daugiau žinių apie SQL ne tik pradedant žinios web SQL yra ir kas JavaScript. Bet aš pasistengsiu, kad tai padaryti, ir, tikiuosi jus vaikinai išmoks apie tai ir bandyti imtis žvilgtelėti ką galite padaryti ir kiek pavyzdžiai jūs galite gauti per. Kiekvienas turi bet kuri kita klausimai apie tai? Eiti į priekį. Taip, šaudyti, šaudyti. Taip, eiti į priekį. Eiti į priekį. PUBLIKA: Gerai. Taigi, aš girdėjau apie tai, kaip magija kotiruotės nėra pakankamai saugūs. LUCIANO Arango: Kas - Magic Quotes? PUBLIKA: Taip. Taigi, ji priduria, - todėl kai tik galite įvesti kažkas, tai visada prideda kabučių. LUCIANO Arango: Taip. Taip. Gerai. PUBLIKA: Ir tada aš, nors, kad dirbo, bet tada aš ieškojau jį. Ir jis sakė, kad tai nėra gerai. Bet aš nesu tikras, kodėl. LUCIANO Arango: Taip. PUBLIKA: Nenaudokite Magic Quotes, , nes tai nėra saugus. LUCIANO Arango: Gerai. Taigi Magic kotiruotės, kai įdedate SQL ir tai jau prideda jums citata. PUBLIKA: Jis visada prideda citatos apie ką jūs įtraukėte in LUCIANO Arango: Taip. Taigi su ta problema yra tai, kad - Aš pažvelgti - PUBLIKA: Kaip ji įgyja SQL? Arba aš manau, kad jis gali būti kaip citata pasirinkti. LUCIANO Arango: Taip, jums reikia geras kabučių SQL. PUBLIKA: Ne, bet serveris daro tai už jus. LUCIANO Arango: Šie maži citatos čia, šių mažai kabučių? PUBLIKA: Taip. LUCIANO Arango: Taip. Problema ta, kad jūs galite komentaras iš paskutinis - Gerai, kad tai, ką aš galiu padaryti, tai galiu pakomentuoti iš - todėl galime pažvelgti - leiskite man atidaryti teksto redagavimo failą. Leiskite man tiesiog redaguoti šį čia tiesiogiai. Gerai. Ar jus vaikinai matyti, kad aiškiai? Ką aš galiu padaryti, tai galiu pakomentuoti iš paskutinio vieną. Tai komentaras iš naujausia. Ir tada aš įdėti vieną čia įdėti visos kenksmingos medžiagos čia. Taigi vartotojas iš tikrųjų įvedimo, ar ne? Vartotojo nėra įvedusi dalykai, tiesa? Tai, ką aš ruošiuosi žaliava, asmuo bando patekti į vidų. Aš ruošiuosi įdėti - kad vienas kabutės. Tai tiesiog deformuoti per klaidą. Ir kas tada kodas Ar ketinate daryti - atsiprašau, aš ruošiuosi į tai dėmesį. Kas kodas ketina padaryti, tai ji ketina įtraukti pirmas Kabutės čia. Ir tai vyksta pridėti paskutinis kabutės, taip pat. Ir jis taip pat ketina įtraukti paskutinis, kabutės. Bet aš komentuodamas šias citata žymi, ir todėl jie negali paleisti. Ir aš apdaila šią citatą pažymėti čia. Ar jūs suprantate? Ar jums neteko? Galiu pakomentuoti paskutinę citatą ženklas, ir rūpintis Pirmasis kabutės. PUBLIKA: Ir tik apdaila pirmasis. LUCIANO Arango: Taip. Ir tik užbaigti pirmąjį. Taip, tai tiesa. Štai ką aš galiu padaryti. Taip. Visi kiti klausimai, pavyzdžiui, kad? Tai puikus klausimas. Ne, taip, gal. Tikimės, kad vaikinai bus tarsi padaryti daugiau prasmės, kai jums mokytis SQL ir dalykų, pavyzdžiui, kad. Tačiau įsitikinkite, kad jūs - išlaikyti šias priemones laikrodį. Atsiprašome, šios priemonės per čia. Šie įrankiai yra puikus. Jei kas nors turi kokių nors klausimų, taip pat galite rašyti man. Tai mano normali el. Ir tai yra mano darbas elektroniniame laiške, kuriame kai dirbu SEAS. Gerai, ačiū. Ačiū, vaikinai. Jūs gerai eiti. Jūs neturite likti čia. Negalima triperis. Tai keista. Gerai, ačiū, vaikinai.