>> LUCIANO Arango: OK, srácok.
A nevem Luciano Arango.
Vagyok másodéves Adams House.
És fogunk beszélni web biztonság aktív védelem.
Szóval dolgozom az Információs Hivatal Biztonság a tengeren.
És a nyár, azt internálták SeguraTec, ami egy információs
biztonsági cég, amely arra szolgált A Bank of Columbia.
Ez az, főleg, amikor megtudtam amit tanultam eddig.
>> És így az anyag egy része, hogy mi vagyunk megyek át ma, mi nem
tényleg beszélt az osztályban.
De hamarosan.
Ez olyan lesz, mint az SQL, a JavaScript.
És akkor még nem igazán ment rajta.
Szóval lehet rendezni a repülés át, és lehet, hogy nem tudja, néhány dolgot.
De hamarosan, akkor tanulni.
És ez lesz minden értelme.
Még egy dolog -
maradj etikus.
Néhány dolog, amit tanulni, akkor jönne a nem etikus módon.
>> Ha ez a tiéd, feltétlenül próbáld.
Határozottan motivál titeket kipróbálni a saját szerverek, próbálja
majd bennük.
Nézd meg, hogy képes behatolni őket, ha lehet kapni bennük.
De bárki másé.
A zsaruk nem igazán szeretem a vicceket és a Az egész, tesszük ezt itt.
Voltunk szórakozni.
Kapnak igazán dühös.
>> Tehát feje fölött ezen a weboldalon.
Megvan nyitott itt.
Ez egy olyan honlap, és van egy csomó példát.
Mi történik az, hogy az első példa a fajta lesz sokkal könnyebb
mint a legutóbbi példa bizonyos értelemben hogy az első példa
teljesen bizonytalan.
És az utolsó a fajta, amit a normál webes biztonsági ember tenne.
De akkor is sort A kap körül, hogy.
És fogunk összpontosítva egy és két, egy és két példát.
>> OK.
Kezdjük a cross-site scripting.
A JavaScript nem fut az ügyfél böngészőt.
Ez egy programozási nyelv, amit használ hogy fut a kliens böngészőjének,
nem kell frissíteni a honlapon és menj vissza a szerver.
Van ez futás.
Így például a Facebook, akkor nem kell hogy újra a honlapon új állapot
frissítések, hogy jöjjön fel.
Ez JavaScript segítségével generál ezeket a dolgokat.
Így tudjuk beadni a rosszindulatú JavaScript a weboldalak.
És így, ha küldünk egy linket valaki, mi is egyfajta küldje el
Néhány a kód, amit akarunk.
>> Van tartós és nem tartós JavaScript -
tartós és nem tartós cross-site scripting, úgy értem.
És azzal a különbséggel, hogy a tartós a JavaScript, hogy lesz
mentett a honlapon.
És nem állandó lesz JavaScript hogy valójában csak egyszer történik.
Tehát nézzük meg egy példát gyorsan.
>> OK.
Tehát ezen a honlapon, az egyszerű, semmi sem történik itt.
És meg fogjuk próbálni, hogy beszúrni egy JavaScript.
Így, ahogy mi elkezdjük írni JavaScript A kezdjük az elején script.
És mi zárja be a script.
Mi csak megy, hogy egy üzenet -
Megmutatom -
éber.
Alert egy olyan funkció, hogy a JavaScript megjelenítéséhez használ valamit.
Így próbáljuk meg gyorsan.
Én megyek, éber helló.
Nos, elfelejtettem, hogy -
OK.
Szóval ez egyszerű.
>> Azt hogy a JavaScript a honlapon, és ez jött ki.
És ez a fajta csak akkor történik honlapunkon, igaz?
Így úgy tűnik, mintha ez nem a probléma, nem igaz?
Úgy értem, hogyan is használja ezt rosszindulatúan?
Így az is, hogy a hackerek csinálni Ez nagyon egyszerű.
Mennek, hogy fogd meg.
Tudják ezt a linket küldd Önnek.
Ha küldöm ezt a linket, hogy most, és nyisd ki, ez lesz a
azt mondják, hello, mondván, hogy a honlapomon azt mondja, helló.
>> És ha én valamit mondani a kicsit okosabb, ha húzza fel a
JavaScript függvényt Valahogy már írtam -
de ha megnézzük, én megyek rajta, mielőtt írtam.
Így megyünk be a timeout.
Fogunk várni pár másodpercig.
Sőt, mi fogunk várni, ha Nem tévedek, öt másodperc.
Ez megy ezredmásodperc.
És akkor mit fogunk csinálni is vagyunk majd figyelmezteti, hogy a bejelentkezési
időtúllépés bejelentkezni újra be
És meg fogjuk változtatni a helyét egy másik helyre.
>> Tehát ha küldök ezen a honlapon, hogy valakinek, ők lesznek
nézelődni, nyugodt.
Nem történik semmi.
És öt másodpercig, hogy megy mondani, hogy a bejelentkezési időtúllépés.
Kérjük jelentkezzen be, vissza!
Miután az OK gombra, megyek vigye egy másik weboldalon.
Feltételezhető, hogy a honlap fog hasonló a honlapon, hogy
voltak korábban.
És ők fognak bejelentkezni a hitelesítő az én honlapján, hanem
a honlapjukon.
>> És így tudok küldeni az embereket egy e-mailben ezt a linket.
Azt mondom, jaj, itt egy link.
Ez egy bank, például.
Azt mondom, itt, menj erre a linkre.
És ha egyszer küldik el, ők fog nézelődni.
Tudok várni 15 másodperc, 20 másodperc, majd a pop, hogy jelentkezzen be újra
jel vissza.
Ti is próbáld ki sokkal több dolgot.
Bonyolult, mert ti még nem láttam JavaScript, ezért előfordulhat,
Nem tudom, bizonyos funkciókat.
De mindössze annyit kell tennie, hogy a Start A script, végén script.
És akkor tesz semmit a közepén.
>> Alert egy olyan funkció, várjon.
Window helyre viszi egy új helyre.
De meg tudod csinálni sokkal több.
És így az ötlet, hogy vesszük, hogy le.
Ha elmegyek például kettő, és én ebbe a kódot, ez
nem fog működni.
Szóval ez a nyomtatás mindent, mert mi ezen a honlapon eredetileg
tesz, ha tettem valamit itt, akkor az nyomtassa ki itt.
Szóval ez nem nyomtat ki semmit.
Ez a példa valójában ellenőrzi hogy ha script van.
Szóval igen, gyerünk.
Kérdezd meg.
>> Közönség: nem küld GET vagy POST kérés?
>> LUCIANO Arango: Igen. ők küld egy GET kérést.
>> Közönség: Ez?
>> LUCIANO Arango: Igen.
Szintén böngésző a POST kérések.
De próbálom megmutatni GET kéréseket hogy tudjuk, hogy mi az,
valójában.
És ha megnézzük ezt a kódot - így nem működik többé.
És ha veszünk egy pillantást a kódot, ez lesz a példa kettő.
Mi ez az ember csinál, az a személy felelős a böngésző -
nyit, OK -
váltja a szó script.
Ez a PHP, ami nektek talán láttam egy kicsit még.
>> Ő csak cseréje szó script nevét.
Így viszont, ha jól megy előre és csak fel -
ha megragad a kódot újra, és megyek módosítani, csak egy kicsit.
Ahelyett, hogy script, én meg fog változni azt script tőke R.
fogjuk, hogy ha ezt a kódot működik.
Tehát nem nyomtassa ki, ami jó jel.
És remélhetőleg a két másodperc, ez fog megjelenni.
>> A bejelentkezési időtúllépés.
OK.
Semmi probléma.
Így ellenőrzése script esetleg nem feltétlenül működik.
Az a személy -
azt is ellenőrizni script nagybetűs, script kisbetűs, str esetben
összehasonlítani, győződjön meg róla, hogy ugyanaz.
De a hacker is csinálni valami, amit tettük Vigenère amikor elköltöztünk
vissza pár karakter, előrelépni.
És tudja kitalálni, hogyan rakja script vissza, úgy, hogy az injekciós
hogy a forgatókönyvet.
>> Szóval, mit akarsz használni az htmlspecialchars a
megvédeni a honlapon.
És ez nem az, ez teszi arról, hogy mit tesz -
például az árfolyamok, illetve ez a nagyobb vagy kisebb, mint -
helyébe valami , hogy nem lesz -
hadd nagyítás itt -
a tényleges jelet.
Ez fogja felváltani a különleges HTML karakter, hogy majd meglátjuk, ha vagyunk
beszél -
ó, ez lesz, hogy vigyen vissza -
ezeket a karaktereket itt.
>> Ezek jelzik, hogy valami jön.
A HTML, hogy a kezdő konzol azt mondja, hogy valami
HTML kapcsolódó jön.
És szeretnénk megszabadulni, hogy.
Nem akarjuk, hogy a HTML egy website.k Mi nem akarjuk, hogy a felhasználó számára, hogy
képes tenni valamit a saját honlapján amely hatással lehet a honlapon, mint a
script, vagy HTML, vagy valami ilyesmi.
Mi a fontos az, hogy fertőtlenítse a felhasználói.
>> Így a felhasználók input sok mindent.
Ő beírhatja egy csomó dolog, hogy próbálja fogás a böngésző is
fut ez a script kódot.
Mit akarsz csinálni, nem csak nézni A script, de nézd mindent
hogy lehet rosszindulatú.
És htmlspecialchars fog tenni, hogy az Ön számára, így nem kell
aggódni.
De ne próbálja meg egyedül egyfajta saját kódját.
Mindenki tisztában XSS?
>> OK.
Menjünk az SQL injekció.
Tehát SQL injection valószínűleg a számú sebezhetőség
a különböző honlapokon.
Úgy értem, egy jó példa -
Csak kutatása legtávolabbi ezt a dolgot.
És találtam ezt a fantasztikus cikket, ahol a Láttam, hogy a Harvard megsértett,
volt, csapkodott.
És azt gondoltam, nos, hogyan csinálják?
Harvard az a legfélelmetesebb, a legtöbb biztonságos egyetem valaha.
Nem igaz?
Nos, hogy megszegi a szerver, A hackerek használt
nevezett technikával SQL injekció.
>> Tehát ez történik egy napi rendszerességgel.
Az emberek elfelejtik, hogy figyelembe vegyék SQL injekció.
Harvard csinál.
Azt hiszem, itt az áll, Princeton, Stanford, Cornell.
Szóval hogyan -, így mi is ezt az SQL injekció, hozza ezeket a
az emberek le?
OK.
Tehát SQL programozási nyelv, amely használjuk az Access adatbázis.
Mit teszünk mi válasszuk -
Szóval mi ez olvas most is válassza mindent az asztalról.
>> SQL, úgy változik az adatbázisok amelyek asztalok tele információt.
Tehát válasszon ki mindent a felhasználók ahol a neve felhasználónév.
Nem igaz?
Elég egyszerű.
A gondolat, az SQL injekciós hogy mi beszúrni egy rosszindulatú kódot, amely
trükk a kiszolgálót futtató valami más, mint amit az
eredetileg fut.
Tehát mondjuk a felhasználóneveddel, teszünk vagy 1 értéke 1.
Így teszünk vagy 1 értéke 1.
Ez úgy fogja olvasni most már lesz select a felhasználók, mindent
a felhasználók - ez minden -
ahol a neve a felhasználóneveddel, de felhasználónév vagy 1 értéke 1.
>> Tehát név semmi vagy 1 értéke 1.
1 értéke 1 mindig igaz.
Tehát ez mindig visszatér információk a felhasználók számára.
OK.
Nem kell, hogy a helyes nevet.
Mi is csak bármit, amit akarunk, és visszatér információ
, amire szükségünk van.
Nézzünk egy másik példát.
>> Ha már válassza mindent felhasználó, ahol a név DROP TABLE felhasználók -
Szóval, mit gondolsz ez az akarat csinálni, ha tettem a felhasználónév
mint DROP TABLE felhasználók?
Bárki, aki egy ötlet?
Igen.
>> Közönség: Meg fog mondani azt kiírási összes asztal.
>> LUCIANO Arango: Meg fog mondani dump mindent a honlapon,
mindent az adatbázisban.
És milyen ember használja ezt -, így Meg fogom mutatni nektek.
Én tiltva csökken a táblák mert nem szeretném, ha
srácok, hogy csökken a táblákat.
Vessünk egy pillantást erre.
Tehát ez egyszerűen húzza fel az információkat egy bizonyos személy.
Szóval hogyan tudom, hogy ez befolyásolja SQL injekció.
Mi lesz, hogy ellenőrizze igazi gyors ha nem tud valamit -
hadd másolja ezt a kódot.
Én megyek át, hogy egy másodperc alatt.
Azt fogom tenni gyökér és 1 értéke 1.
>> Ez itt, ez a százalék jel 23 -
mi is valójában, ha néz ki jól itt -
ahogy a HTML vesz számok, ha vessünk egy pillantást, amikor feltettem a térben
Itt - ha én is helyet valamit itt, megváltoztatja azt a százalékban 2.
Srácok látni ezt itt amikor feltettem a térben?
Ez úgy működik, hogy csak küldeni ASCII értékek a HTML.
Így helyettesíti, például a tér százalékkal 20.
Nem tudom, ha ti láttam ilyet.
>> Ez helyettesíti a hashtag a százalék 23.
Meg kell egy hashtag végén vagy állítás tehát, hogy meg tudjuk mondani az
adatbázis felejtsük el, hogy megjegyzésbe ez utóbbi a végén pontosvesszővel.
Azt akarjuk, hogy ne gondolj rá.
Csak azt akarjuk, hogy fut minden hogy mi van előtte, és
elmondták, hogy ki.
Vessünk egy pillantást rá.
>> Tehát, ha én, hogy valami baj van - mondjuk például, tettem 2 egyenlő
1, nem ad nekem semmit.
Amikor feltettem 1 értéke 1, és ez vissza valamit, ez azt mondja, hogy
ez ki van téve a SQL injekció.
Most már tudom, hogy amit Tettem ezt követően -
, és például, csepp TÁBLÁZATOK vagy valami ilyesmi
biztosan működik.
Tudom, hogy érzékeny a SQL injekció mert tudom, hogy
a motorháztető alatt, ez hagyta rám a 1 értéke 1 dolog.
OK?
>> És ha megnézzük ezeket a többi közül, kettes és hármas számú, ez
fog tenni egy kicsit Az ellenőrzés alatt a
motorháztető, hogy mi az.
Tehát bárki, hogy a csökkenés már valamit, vagy próbálta?
Srácok valami kap SQL még?
Mert tudom, hogy a srácok nem láttam még, így ez a fajta
zavaró a srácok.
Vessünk egy pillantást.
Szóval mi a módja, hogy megakadályozzák SQLI?
OK.
Tehát ez nagyon fontos, mert srácok mindenképpen szeretné akadályozni
ezt a weboldalak.
>> Ha nem, minden a barátok fognak gúnyolódni meg, amikor minden csepp
A táblákat.
Tehát az ötlet az, hogy javítsa az SQL egy bizonyos módon, míg egyezik
, amit a felhasználó bemenet e egy bizonyos karaktersorozatot.
Tehát az Így működik akkor előkészíti az adatbázist.
Kiválasztod név, szín, és a kalória egy adatbázisból nevű gyümölcsöt.
És akkor hol kalóriát kevesebb, és mi tesz egy kérdőjel van
mondván, megyünk be valamit a második.
>> És a színe megegyezik, és tesszük a kérdés jel azt fogjuk
input valamit egy másik is.
OK?
És akkor végre azt, amivel 150 és piros.
Ez ellenőrzi, hogy a arról, hogy ez a két -
ez a tömb ellenőrzi, hogy ezek a kettő egész szám, és
hogy ez egy karakterlánc.
Aztán menj, és hozd Minden, rakjuk piros.
Ez azt jelenti, hogy letölti az összes.
Ez azt jelenti, hogy valójában hajtja végre az SQL nyilatkozatot, és tegye vissza a piros.
Itt ugyanezt, de ugyanezt a sárga.
És leszedi az összes.
>> És ezen a módon, a felhasználó előzzük attól, hogy képes valamit bemeneti
ez nem az, amit megadott, egy sor vagy egész szám, pl.
Beszéltem korábban a támaszkodva mások.
Amikor a srácok elindítja a projektet, akkor egészen biztosan fog használni
bootstrap, vagy valami hasonló.
Előfordult srácok valaha Wordpress?
Valószínűleg srácok használnak Wordpress legvalószínűbb.
Tehát a probléma a mások a dolgokat -
Én csak megy a Google nagyon gyorsan Wordpress biztonsági rést.
>> Ha meghúzom ezt fel most -
Szó volt a két másik Google.
Láthatjuk, hogy a Wordpress -
ez kelt, mint '12.
26. frissül.
Az alapértelmezett beállítás a Wordpress előtt 3.6 nem akadályozza ezeket a
Bizonyos feltöltések, ami megkönnyíti az
cross-site scripting támadásokat.
Tehát egy gyors történet, miután dolgoztunk A - így voltam, nyáron, munka egy
gyakorlat.
És mi dolgozunk a fajta mint egy nagy hitelkártya-társaság.
>> És támaszkodnak úgynevezett -
Nem tudom, ha ti valaha is játszottam a termék hívott Joomla.
Joomla egy termék, amely használható ellenőrzés - egyfajta hasonlóan
Wordpress, használt weblapok.
Így voltak a honlapon dolgozik Joomla.
Ez tulajdonképpen egy hitelkártya cég Kolumbiában.
Elviszlek, hogy a honlap gyorsan.
>> Így használják Joomla.
És még nem frissített Joomla a legújabb.
És amikor mi voltunk egy pillantást a kódot, tudtuk, hogy ténylegesen
menj be a kódot, és ellopják az összes hitelkártya-információk, hogy volt,
a hitelkártya számok, a neveket, a címeket.
És ez csak -
és kód tökéletesen rendben van.
Nem volt nagy kódot.
Ez volt minden, a biztonság.
Ellenőrizték az összes adatbázist.
Gondoskodott arról, cross-site scripting rendben volt.
>> De használt valamit, ami nem volt frissített, ez nem biztos.
És így vezette őket, hogy - így a srácok határozottan fog használni más
emberek kódját, mások keretek hogy létrejöjjön a honlapján.
Győződjön meg arról, hogy ők biztos, mert néha ez nem te vagy, az egyik, hogy
hibázik.
De valaki hibát követ el, és akkor esik le emiatt.
>> Jelszavak és PII.
Tehát jelszavakat.
OK.
Vessünk egy pillantást a jelszavakat gyorsan.
OK.
Kérem, mondja meg, hogy mindenki használ biztonságos -
Remélem, itt mindenki használ biztonságos jelszavakat.
Én csak hagyom, hogy ben, mint egy feltételezés.
Szóval srácok biztosan fog tárolja a jelszavakat a weboldalak.
Fogsz tenni valamit, mint a login, vagy valami ilyesmi.
Ami fontos, hogy ne tárolja jelszavakat szöveges formában.
Ez rendkívül fontos.
Nem akarsz tárolni a jelszó egyszerű szövegként.
>> És akkor biztosan nem igazán akar tárolni, egy egyirányú hash.
Tehát mi egy egyirányú hash, hogy ha létrehoz egy szót, ha fel ezt
szó egy hash függvényt, hogy lesz generálni vissza valamilyen rejtélyes
üzenetet, vagy rejtélyes kulcscsomót.
Mutatok egy példát.
Megyek hash ők szót password1.
Tehát MD5 fog visszatérni hozzám valamilyen furcsa információ.
>> A probléma az, hogy az emberek ott hogy szeretnék bemenni weboldalak
Már kitaláltam sort az összes md5 hash-eket.
Amit tett, leültek a számítógépen, és kivonatolt minden
egyetlen lehetséges szó ki ott, amíg hogy van valami, hogy mi ez.
Ha én volt nézni ezt fel -
Én csak megragadta ezt a hash.
Ha kapok ezt a hash-tól -
ha elmegyek egy honlap, és nem találok ez a hash, mert kapok a
adatbázisok, és nézek fel, hogy valaki már rájött, hogy ki számomra.
>> Igen.
Tehát az emberek leültek, és bármit md5 hash, amit hozott, ők fognak
visszatér valamit ez a szó.
Ha hash egy szó, mint -
Nem tudom -
trees2.
Én nem akarom, hogy csalódott az én Google keresések.
Ott van, trees2.
Szóval egy csomó honlapok továbbra is használhatja md5 hash.
Azt mondják, ó, ez biztos.
Mi nem tárolja szöveges formában.
Van ez az md5 hash.
És minden, amit meg kell tennie, hogy csak Google-be a számot.
>> Nem is kell, hogy számolja magam.
Én csak a Google, és valaki Már csinálta.
Itt van egy csomó őket.
Itt van egy csomó jelszavakat.
Tehát egyáltalán nem használ md5 hash, mert csak annyit kell
tennie, hogy a Google is.
Szóval, mit akarsz használni helyette?
OK.
Valami úgynevezett sózás.
Tehát mi sózás is -
srácok emlékszem, amikor mi voltunk beszél véletlenszerűen -
Nem vagyok biztos benne, mi Pset volt -
volt Pset ott, vagy négy?
>> Beszélgettünk a megállapítás a tűt a szénakazalban.
És a Pset, azt mondta, hogy lehetett valóban rájönni, hogy mi véletlenszerű
generál, mert valaki már futott Véletlen egy millió alkalommal, és csak
fajta alakult, amit generál.
Mit akarsz csinálni a hozott egy bemenet.
Szóval, ez az, amit sózás fajta is.
Már kitaláltam, mi sózás visszatér minden munkát.
>> Tehát mi sózás tesz, teszel a sót.
Ön tesz egy bizonyos szót.
És ez hash ezt a szót attól mit tesz itt.
Tehát, ha én hash jelszót egyet ezzel a mondat, ez lesz a hash
másképp, ha hash password1 egy másik mondat.
Ez a fajta adja valahol indítsa el a hasító kezdeni.
Tehát ez egy sokkal nehezebb kiszámítani, de még kiszámítania, különösen
ha egy rossz sót.
>> Az emberek már azt is kitalálta, közös sók és rájöttek
, hogy mi az.
Véletlen sók sokkal jobb, de a legjobb módja az, hogy
úgynevezett kriptában.
És mi kriptában lehetővé teszi, hogy ezt - így ezek a funkciók
Már épül az Ön számára.
Sokan elfelejtik, hogy vagy elfelejtik használni.
De ha felnézek kripta PHP, kripta Már vissza hash karakterláncot nekem.
És ez valóban sók sokszor és hash-ek sokszor.
>> Tehát nem kell ezt.
Szóval, csak annyit kell tennie, hogy küldje el a kriptában.
És ez létre fog hozni egy nagy hash nélkül meg, hogy aggódnia a só
, vagy ilyesmi.
Mert ha úgy döntesz, hogy a só, akkor van emlékezni, milyen sót használnak
, mert ha nem, akkor nem kap jelszó vissza anélkül, hogy a
só, amit használt.
OK.
>> És azt is személyes azonosításra információt.
Így a társadalombiztosítási, hitelkártya - ez elég nyilvánvaló.
De néha az emberek elfelejteni, ahogy azt működik az, hogy mennyi információt ugye
valóban kell találni egy ember?
Valaki volt egy tanulmány ezt vissza.
És ez olyan volt, mint, ha van a teljes név, nem találja
valaki, hogy könnyen.
De mi van, ha van egy teljes neve és a születési dátum?
Ez elég ahhoz, hogy azonosítani valakit konkrétan?
>> Mi van, ha a nevüket és a utcát, hogy élnek?
Ez elég ahhoz, hogy talál valakit?
És mikor kérdésre, hogy mi személyes azonosításra alkalmas információkat, és
mit kell aggódnia nem adja el?
Ha adsz el a személyes azonosításra információ, hogy valaki ad,
akkor esetleg kap perelhető.
És biztosan nem akarom.
>> Tehát, ha teszed a honlapon ki, és van egy nagyon jó
design, remélhetőleg készült egy fantasztikus projekt végső.
Minden meg a fajta akar tedd odakint.
Azt szeretnénk, hogy győződjön meg arról, hogy bármilyen szedi a felhasználó, ha ez
személyes azonosításra alkalmas adatokat, akkor szeretnénk, hogy győződjön meg róla, hogy nagyon
óvatos vele.
>> Shell injekciót.
OK.
Shell injekció segítségével a behatoló jut, hogy a tényleges parancssori
a szerver.
És ő tudja, hogy kódot futtathat hogy nem tudja ellenőrizni.
Nézzünk egy példát erre szép szöveg itt.
Ha bemegy a honlapon újra, én vagyok fog menni kódot injekciót.
Szóval, mit is csinál ez a -
ez is mi volt nézett előtt.
Mi, hogy a felhasználó fel bármilyen akar, és kiírja
amit akarsz.
>> Így fogok tenni a hívást.
Mi ez -
el fog kezdeni az összefűző.
Így lesz engedik bármilyen parancs a személy fut
előtt, és az én parancsot.
És Futok rendszer parancsot.
És ezek az utolsó húrok - emlékszik mit beszéltem nektek arról,
mivel az meg kell kódolni azt egy URL-módszer.
Ha futok ezt most -
Megmutatom itt -
látni fogja, hogy én végül fel fut a parancs.
>> Ez tulajdonképpen a kiszolgáló tényleges hogy a honlap fut.
Tehát nem akarjuk, hogy a mert tudok futni -
ez a szerver nem az enyém.
Szóval nem akarom elrontani a testvére, Marcus szerver.
De lehet futtatni több parancsot , amelyek veszélyesek.
És esetleg, akkor törölje fájlokat, távolítsa el a könyvtárakat.
Én lehet eltávolítani egy bizonyos könyvtár, ha Akartam, de nem akarom
erre a Marcus.
Ő egy kedves fickó.
Hagyta, hogy kölcsön a szerveren.
Így fogok hadd ki a jó.
>> Tehát mi nem akarunk használni - mi nem szeretné használni eval vagy a rendszer.
Eval vagy a rendszer lehetővé teszi, hogy ezeket a rendszer a hívásokat.
Eval eszközök értékelésére.
A rendszer azt jelenti, amit én futottam.
Ez fut valami a rendszerben.
De lehet törvényen kívül ezeket a dolgokat PHP, hogy mi nem használjuk őket.
És fájlt feltölteni.
Úgy volt, hogy csinál egy félelmetes dolog a feltöltés.
De mint mondtam nektek, a fájl feltöltés a dolog nem működik.
Ha én feltölteni egy fájlt most -
ha én feltölteni egy fájlt, és ez a kép -
van egy feltöltési dolog ez a kép.
Ez rendben van.
Semmi nem történik.
>> De ha van egy fájl feltöltése, a példa, és a felhasználó valóban feltöltések
PHP fájl vagy exe fájl vagy valami ilyen, akkor potenciálisan
van egy probléma.
Ezt dolgozott korábban.
Sajnos nekem ez nem működik többé.
Ha, például, töltsd fel a fájlt, én vagyok nem kap engedélyt feltölteni
miatt a fájlt a szerverre hogy nem az enyém.
Tehát a srác nagyon okos.
>> Tehát nem akar -
Meg fogom mutatni nektek -
OK, ezek közül néhány igazán cool eszközöket.
Tehát ezek -
bemegy - ha a srácok Firefox - Remélhetőleg igen.
Van két kiegészítő úgynevezett SQL Inject Én és Cross-Site Script Me.
Nyitnak mindössze oldalon bár az oldalon.
És ha én menni CS60 például -
Tehát mi csinál ez úgy néz ki, minden formáját, amely -
remélem, nem fogok bajba ezt.
>> De az OK gombra.
Itt a csap rendszert.
Tehát, amikor elkezdi keres lyukak A rendszer, az első dolog, amit tehetünk,
nyissa meg ezt a szép kis eszköz az oldalán.
És én fogom tesztelni formák automatikus támadások.
És így, hogy ez mire is lesz lassan nyit egy csomó böngészők.
Itt van egy csomó böngészők.
És megpróbál minden egyes kombináció A cross-site scripting
hogy esetleg ott van, ha látod az oldalon.
>> És ez ad nekem egy eredmény fajta, amit a válasz.
Minden elmúlik.
Nyilvánvaló, hogy minden elmúlik.
Úgy értem, ők nagyon okos az emberek ott.
De ha én futni -
Elegem van idő előtt, amikor én vezetem ezt a tanulók végső projekteket.
Egyszerűen fuss SQL Adja be Me-vel minden más támadásokat.
És próbál SQL injekciót ezt a PIN-kiszolgáló.
Tehát, ha görgessen lefelé, a Például, azt mondja -
ez jó, ha visszatér.
>> Így tesztelték néhány bizonyos értékeket.
És a szerver vissza a kód, amely negatív volt.
Vegye le ideiglenesen.
Ez jó.
Megpróbálja ezeket a vizsgálatokat.
Szóval egyszerűen futni -
Bárcsak találni a honlapon igazi gyors, ami hadd -
Lehet, hogy a CS50 boltban.
>> Wow, ez lesz a tart túl sokáig.
Majd az első teszt nem fejeződik be a jobb.
Szóval ez panaszkodik.
Tehát ezek három dolgot.
Ezek az eszközök ingyenesek.
Letöltheti őket, és fuss őket a honlapján, és azt mondani, ha
Ön cross-site scripting, ha az SQL, ha van
valami hasonló.
Én egyfajta Messiás.
>> Ami fontos -
OK, így soha ne bízz a felhasználó.
Bármi is legyen a felhasználó által bevitt neked, hogy Biztos, hogy fertőtlenítse, akkor tisztítsa meg,
ellenőrizze a helyes dolgokat, , hogy ez így, mit
akarom adni neked.
Mindig frissíteni kell, hogy milyen keretek között hogy te tényleg használ.
Ha valami hasonló bootstrap -
Tudom, hogy ti fog használni bootstrap mert ő fog menni
mint ilyen hamar osztály -
és a Wordpress vagy valami ilyesmi, Normális esetben ez lehet csapkodott.
>> És akkor nem is tudom.
Te csak fut a honlapon.
És ez teljesen biztos.
És megy le.
Szóval halászat nagyon korán.
De szeretnék köszönetet mondani Pentest Labs.
Meg fogom mutatni nektek valamit úgynevezett Pentest Labs.
Ha a srácok tényleg érdekel a milyen biztonsági valójában, van egy
website hívott Pentest Labs, ha mentek, hogy most azonnal.
Hát, ez nem az.
Én csak fog futni, mint ez.
A Google azt mondja, a választ.
>> OK.
És megtanít téged használni - így azt mondja, tanulni web penetráció
tesztelése a helyes utat.
Azt tanítja, -
Remélhetőleg te etikai ember.
De arra tanít, hogyan lehet nézni hogyan lehet bejutni weboldalak.
És ha megtanulják, hogyan lehet bejutni weboldalak, meg lehet tanulni, hogyan kell
megvédje magát a szerzés belső weboldalak.
Hadd nagyítás, mert lehet, hogy a srácok nem néztem ezt a jogot.
>> A SQL injection shell, így Valahogy úgy, hogyan tudok SQL
injekciót a héj.
És akkor töltse le ezt a virtuális gépet.
És a virtuális gép már most a honlap, hogy te
fogja próbálni.
Akkor töltse le ezt a PDF.
És ez megmutatja, soronként mit meg kell csinálni, amit ellenőrizni.
Ez az, amit a támadó valójában nem bejutni a honlapon.
>> És néhány dolgot bonyolult.
Bárcsak menjen át több dolgokat veletek.
De attól tartok, hogy a srácok Nem igazán -
ez az, amit én átmentem a srácok, web tesztek
A penetrációs tesztelés.
Nem igazán tudom, mi SQL, és mi -
Carl Jackson szeminárium félelmetes is.
Ti nem tudod sort Az, hogy mi ez.
De ha ezen a honlapon, és le ezeket útmutatók és ezek
PDF-ek, akkor vessen egy pillantást egyfajta mi a biztonság valóban
A behatolás tesztelés, nézze meg, hogyan lehet belsejébe honlapok és védelme
magát tőle.
>> Tehát, ha egy szuper gyors áttekintést, ez lesz megakadályozni cross-site scripting.
A használni kívánt htmlspecialchars minden amikor a felhasználó bemenet valamit.
Akadályozza SQL injekció.
Ha ezt teszed, akkor már jobb, mint a Harvard volt
amikor kapott sérül.
És győződjön meg róla, hogy a jelszavak nem szöveges formában.
Győződjön meg róla, hogy nem csak egy módja hash őket, de hogy használja kripta, a PHP
funkció, amely azt mutatta, srácok.
Így, akkor legyen jó.
>> Továbbá, ha a barátok segítségével, futni SQL fecskendezze Én a saját honlapjukon.
Fuss cross-site scripting a saját honlapjukon.
És akkor megjelenik egy csomó ilyen honlapok Van egy csomó biztonsági réseket.
Hihetetlen, hogy milyen sok ember elfelejti sanitize az adatbázisok, vagy, hogy
arról, hogy mi az adott személy bevitele nem script kódot.
OK.
Valahogy végül nagyon korán.
De ha valakinek van bármilyen kérdése van semmit, akkor lőni nekem egy kérdést.
Igen.
Menj, menj.
>> Közönség: Én csak azt szeretném megkérdezni, meg tudja magyarázni, hogy a fájl
feltölteni pontosan működik.
>> LUCIANO Arango: Igen.
Hadd mutassam meg a fájlt töltsd fel gyorsan.
Tehát a feltöltés -
A probléma esze a feltöltés most, hogy -
Megyek, hogy nyissa meg a kódot, így a srácok lásd a kódot a színfalak mögött.
És ez feltölt.
Itt egy kódot a fájl feltöltő.
>> Megpróbáljuk, hogy menjen ebbe könyvtár ide.
És mi próbálunk, ha egyszer be a fájl isset fájl - tehát, ha van egy
fájlt FILES, hogy a képet, majd próbáljuk mozgatni itt.
Mi megragad a fájl itt.
A módszer POST, típusa, a kép, a fájl.
És mi küldjük ezt a fájlt.
És akkor, ha megkapjuk azt, így ha a fájl van egy kép, próbálunk elküldeni
ebbe a könyvtárba.
>> A probléma az, hogy a honlap nem megengedte, hogy megy ez a könyvtár,
mert nem akarja, hogy menjek vissza.
Nem akarod, hogy menjek -
Mennem kell - Tehát itt van feltölteni.
Itt képeket.
El kell menni egészen vissza a elején, és tegye ott és akkor
menj és tedd be a könyvtárba.
Tehát, ha én fut egy terminál ablak, és szerettem volna áthelyezni a file -
[Nem hallható]
láthatja.
Ha akartam mozgatni egy fájlt, én , hogy a fájl nevét, majd a
teljes elérési utat akarom, hogy küldje el.
>> És akkor a szerver nem engedte vissza.
És ez így nem hagyja nekem, hogy a fájlt.
De általában -
így van egy kód feltölteni egy fájlt.
Így általában, mi fog történni, hogy a személy nem ellenőrzi, ha a fájlt
végződik. jpeg, így szeretne ellenőrizni.
Hadd nyissam egy példát is gyorsan.
>> OK.
Ez a személy van -
így például két ellenőrzi ha preg_match -
itt van itt -
annak biztosítása, hogy végződik PHP, ami jó.
Ez jó.
De van egy igazi nagy probléma ezzel.
Ez jó.
De ha én, hogy egy fájlt úgynevezett myfavoritepicture.php.jpeg, tudtam
Még mindig lehetséges, hogy megszabaduljon a jpeg és fuss it.k, hogy a PHP veszélyes.
Nem akarjuk, hogy a személy képes futtatni kódot a weboldalán.
>> De aztán. Jpeg lehetővé teszi, hogy elmúlik.
Az ötlet az, amit igazán akarok nem veszi fájlokat, A. De, OK, mi
szeretné tennie, hogy arról, hogy olvassa el az egész világon.
És nincs semmi. Php benne.
Nincs. Php a teljes fájl nevét.
>> Közönség: de lehet tedd. jpeg a végén.
A szerverek még mindig fut a kódot.
>> LUCIANO Arango: Nem, nem fog fut az elején.
Meg kell, hogy menjen vissza, és próbálja hogy ha lehet -
>> Közönség: Tehát meg kell -
OK, csak egy másik, amely magában foglalja -
>> LUCIANO Arango: Igen.
>> Közönség: OK.
>> LUCIANO Arango: Igen.
OK.
Van még kérdés?
OK.
Fogom hagyni ezt fel, és rendezni az próbálja meg, hátha ti is -
a többit egy kicsit bonyolult, mert kell sok
több ismerete SQL, mint a elején ismerete webes SQL, és
mi JavaScript.
De én megpróbálom tartani ezt fel, és remélhetőleg srácok tanulni fog
erről, és próbálja meg, hogy egy kandikál mit lehet csinálni, és hány példát
lehet átjutni.
>> Bárki, aki bármilyen más kérdések róla?
Rajta.
Ja, lőni, lőni.
Persze, nyugodtan.
Rajta.
>> Közönség: OK.
Hallottam arról, hogy a Magic Quotes nem elég biztonságos.
>> LUCIANO Arango Mi -
Mágikus idézetek?
>> Közönség: Igen.
Így hozzá -, így amikor be valamit, mindig hozzáteszi idézi.
>> LUCIANO Arango: Igen.
Igen.
OK.
>> Közönség: És akkor azt gondoltam, hogy dolgozott, de aztán kerestem fel.
És azt mondta, hogy ez nem jó.
De nem vagyok benne biztos, hogy miért.
>> LUCIANO Arango: Igen.
>> Közönség: Ne használjon a Magic Quotes, mert nem biztonságos.
>> LUCIANO Arango: OK.
Tehát Mágikus Idézetek, amikor behelyezi SQL és már hozzá az idézet az Ön számára.
>> Közönség: Mindig hozzáteszi idézetek körül bármit teszel be
>> LUCIANO Arango: Igen.
Szóval a probléma azzal van, hogy -
Elviszem egy pillantást -
>> Közönség: Milyen szert Az SQL utasítás?
Vagy talán lehet mint idézet válasszon.
>> LUCIANO Arango: Igen, szükség van jó idézi az SQL.
>> Közönség: Nem, de a szerver nem az Ön számára.
>> LUCIANO Arango: Ezek a kis idézetek Itt, ezek a kis idézetek?
>> Közönség: Igen.
>> LUCIANO Arango: Igen.
A probléma az, hogy van-e megjegyzésbe az utolsó -
OK, akkor mit tehetek, hogy én comment ki - így vessünk egy pillantást - hadd
Nyisson meg egy szöveges fájlt szerkeszteni.
Hadd módosítsa ezt Itt közvetlenül.
OK.
Nem tudnátok látni, hogy tisztán?
Mit tehetek, hogy én comment ki az utolsó.
Ez a megjegyzésbe az utolsó.
És akkor én meg az egyik itt van, tegye az összes rosszindulatú dolog itt.
>> Így a felhasználó valójában bevitele, ugye?
A felhasználó nem bevitele a dolgokat, ugye?
Ez az, amit én fogok bemenet a személy próbál bejutni.
Fogom tenni -
ez az egyik idézőjel.
Ez csak kacskaringós véletlenül.
És akkor mi a kód fog tenni -
Sajnálom, fogom ezt ki.
Mi a kód fog tenni a ez meg fog adni az első
idézőjel itt.
És ez meg fog adni az utolsó idézőjelet is.
>> És ez is fog hozzá a Végül, az utolsó idézőjel.
De én kommentálja ezeket az idézet jelöl ki, így nem futnak.
És én befejező ezt az idézetet jelölje ide.
Érted?
Ön elveszett?
Én meg véleményét a legutóbbi idézet jelet, és vigyázni a
első idézőjel.
>> Közönség: És csak kivitelben az elsőt.
>> LUCIANO Arango: Igen.
És csak befejezni az első.
Igen, ez így van.
Ez az, amit tehetek.
Igen.
Minden más kérdés, mint ez?
Ez egy jó kérdés.
No, igen, talán.
Remélhetőleg, srácok valami, hogy több értelme, ha tanulni SQL és
ilyesmi.
De győződj meg róla, hogy -
tartani ezeket az eszközöket nézni.
Sajnos, ezek az eszközök itt.
Ezek az eszközök nagy.
Ha valakinek van bármilyen kérdése, akkor is e-mailt nekem.
Ez a normális e-mailt.
És ez az én munkahelyi e-mail, amely amikor dolgozom a tengereken.
>> OK, köszönöm.
Köszi, srácok.
Te jó menni.
Nem kell itt maradni.
Ne tapsolni.
Ez furcsa.
OK, köszönöm, srácok.