>> LUCIANO ARANGO: OK, nois.
El meu nom és Luciano Arango.
Sóc un estudiant de segon any a la Casa d'Adams.
I estarem parlant d' defensa activa seguretat web.
Així que jo treball per a l'Oficina d'Informació Seguretat en SEAS.
I durant l'estiu, em van internar en SeguraTec, que era una informació
empresa de seguretat que va servir per al Banc de Columbia.
Això és sobretot on vaig aprendre el que he après fins ara.
>> I així, alguns dels materials que estem anirà avui, no tenim
realment es parla a classe.
Però ho farem aviat.
Serà com SQL, JavaScript.
I en realitat no hem repassat.
Així que pot ordenar de vol a través d'ell, i vostè pot no saber algunes coses.
Però aviat, vostè aprendrà ell.
I tot tindrà sentit.
També una altra cosa -
romandre ètic.
Algunes de les coses que aprens, et podria utilitzar en formes no ètiques.
>> Si és teu, sens dubte prova.
Definitivament em motiu a vostès per tractar els seus propis servidors, intenti
anar dins d'ells.
A veure si pots penetrar en ells, si vostè pot aconseguir en el seu interior.
Però no de qualsevol altre.
Els policies no els agrada realment els acudits i general, ens va posar això aquí.
Estàvem tontejant.
Aconsegueixen realment enutjat.
>> Així que dirigeix-te a aquest lloc web.
Ho tinc obert aquí.
Es tracta d'un lloc web, i té un munt d'exemples.
El que passa és que el primer exemple és una espècie de serà molt més fàcil
que l'anterior exemple, en un sentit que el primer exemple
és completament insegur.
I l'últim és una espècie del que és un persona normal de seguretat web faria.
Però encara es pot ordenar d'aconseguir al voltant d'això.
I anem a centrar en un i dos, l'un i dos exemples.
>> D'acord.
Anem a començar amb cross-site scripting.
El JavaScript s'executa en el navegador del client.
És un llenguatge de programació que s'utilitza per executar en el navegador del client per
vostè no ha de actualitzar el lloc web i anar de nou al servidor.
Vostè ha de córrer.
Per exemple, Facebook, vostè no té tornar a carregar la pàgina web per al nou estat
canvis a pujar.
Es tracta d'utilitzar JavaScript per generar totes aquestes coses.
Així que podem injectar codi JavaScript maliciós en els llocs web.
I d'aquesta manera, quan enviem un enllaç a algú, podríem espècie d'enviar amb
una part del codi que volem.
>> Hi persistent i no persistent JavaScript -
cross-site persistent i no persistent scripting, vull dir.
I la diferència que persistent és JavaScript que serà
guardat en el lloc web.
I no persistent serà JavaScript que serà en realitat només passarà una vegada.
Així que donem una ullada a un exemple molt ràpid.
>> D'acord.
Així que aquest lloc web, simple, aquí no passa res.
I anem a tractar de inserir una mica de JavaScript.
Així que la manera de començar a escriure JavaScript és que vam començar amb la seqüència de comandaments d'inici.
I tanquem amb l'escriptura.
Estem simplement va a posar un missatge -
Et vaig a mostrar -
d'alerta.
Alerta és una funció que JavaScript s'utilitza per mostrar alguna cosa.
Així que anem a intentar realment ràpid.
Jo aniré, hola alerta.
Bé, es va oblidar posar -
D'acord.
Així que això és simple.
>> Posem JavaScript en un lloc web, i s'ha produït.
I quin tipus de només passa al nostre lloc web, no?
Així que sembla que no és un problema, oi?
Vull dir, com pot vostè utilitzar aquesta forma maliciosa?
Així que la forma en què ho facin els hackers això és realment simple.
Ells van a agafar.
Poden enviar aquest enllaç a vostè.
Si vaig a enviar aquest enllaç a vostè en aquest moment, i obrir-lo, es va a
dir hola, dir que el meu lloc web li està dient hola.
>> I així, si jo fos a dir alguna cosa una poc més intel · ligent, si em llevo 01:00
Funció de JavaScript que tipus que ja va escriure -
però si vostè ho mira, vaig a anar sobre ell abans que jo vaig escriure.
Així que anem a establir un temps d'espera.
Anem a esperar que un parell de segons.
De fet, anem a esperar que, si No m'equivoco, a cinc segons.
Això va en mil · lisegons.
I llavors el que farem és que estem va a alertar que l'inici de sessió
el temps d'espera per tornar a iniciar sessió
I anem a canviar la ubicació a un lloc diferent.
>> Així que si li envio aquesta pàgina web a una altra, que seran
navegar al voltant, calma.
No passa res.
I en cinc segons, es va dir, el temps d'espera de connexió.
Si us plau, torneu a iniciar sessió polz
Quan feu clic a OK, vaig a portar-los a un altre lloc web.
Presumiblement, el lloc va a ser similar a la pàgina web que
en què estaven abans.
I van a iniciar la seva credencials al meu lloc web en lloc de
seva pàgina web.
>> I perquè pugui enviar a la gent una un correu electrònic amb l'enllaç.
Jo dic, oh, aquí hi ha un enllaç.
Es tracta d'un banc, per exemple.
Dic, aquí, vaig en aquest enllaç.
I una vegada que l'envien, són va a navegar al voltant.
Puc esperar durant 15 segons, 20 segons, i després pop que si us plau torni a entrar
signar de nou.
Vostès poden tractar amb moltes més coses.
És complicat perquè vostès no han vist JavaScript, de manera que podria
No sé algunes funcions.
Però tot el que has de fer és començar amb l'escriptura, acabar amb guió.
I es pot posar qualsevol cosa en el medi.
>> Alerta és una funció, esperi.
Ubicació de la finestra et porta a una nova ubicació.
Però es pot fer molt més.
I així, la idea és que prenem això.
Si vaig a l'exemple 2, i jo va posar en aquest mateix codi, és
no funcionarà.
Així que ha d'imprimir tot el que fos perquè el que aquest lloc web originalment
fa és si poso res aquí, que voleu imprimir cap a fora aquí.
Així que no és gens fora d'impressió.
Aquest exemple és en realitat la comprovació per veure si l'script hi és.
Així que sí, endavant.
Demana-m'ho.
>> AUDIÈNCIA: no envia una petició GET o POST?
>> LUCIANO ARANGO: Si. són enviant una sol · licitud GET.
>> AUDIÈNCIA: Ho és?
>> LUCIANO ARANGO: Si.
També navegadors utilitzen les peticions POST.
Però estic tractant de mostrar les sol · licituds get perquè puguem veure el que hi
realment està passant.
I així, si ens fixem en el codi - pel que no funciona més.
I si fem una ullada a aquest codi, que serà en l'exemple 2.
El que aquesta persona està fent, la persona a càrrec d'aquest navegador -
obrir, OK -
està substituint el guió paraula.
Aquesta és PHP, que vostès podrien han vist una mica el moment.
>> Ell només la substitució de la escriptura de paraules amb el nom.
Així que, però, si vaig per davant i només cal posar en -
si jo agafo el meu codi de nou, i vaig modificar una mica.
En lloc de l'escriptura, jo canviaré per escriptura amb majúscula R. I
anem a veure si el codi funciona.
Per tant, no s'ha imprès a terme, la qual és un bon senyal.
I espero que en dos segons més, que apareixerà.
>> El seu nom d'usuari el temps d'espera.
D'acord.
Tot està bé.
Així que la comprovació de seqüència de comandaments podria no necessàriament funcionarà.
La persona -
també pot comprovar si hi ha majúscules guió, minúscula escriptura, cas str
comparar, assegureu-vos que són el mateix.
Però el hacker encara pot fer més o menys el ho vam fer en Vigenère quan ens mudem
personatges de nou una parella, seguir endavant.
I es pot trobar la manera de posar l'escriptura tornar aquí perquè pugui injectar
aquest guió.
>> Així que el que vol utilitzar és htmlspecialchars a
protegir al seu lloc web.
I el que això fa és que fa Assegureu-vos que el que poses en -
per exemple, les cotitzacions o els aquesta més gran que o més petit que -
se substitueix amb alguna cosa això no serà -
m'ho dius a mi el zoom aquí -
el signe real.
Substituirà els especials HTML personatges que veurem quan estiguem
parlant -
oh, això va a portar de tornada a -
aquests personatges aquí.
>> Aquests signifiquen que alguna cosa que ve.
Per HTML, aquesta franja que comença ens diu que alguna cosa
HTML relacionada està arribant.
I volem desfer-nos d'això.
No volem posar HTML en un website.k No volem que l'usuari sigui
capaç de posar alguna cosa a la seva pàgina web que poden afectar a la seva pàgina web, igual que
script o HTML, o alguna cosa així.
El que és important és que vostè desinfectar la entrada de l'usuari.
>> Així els usuaris poden d'entrada de moltes coses.
Es pot introduir un munt de coses per intentar enganyar al seu navegador en encara
l'execució d'aquest codi de script.
El que vull fer és que no n'hi ha prou amb veure per la seqüència de comandaments, però mira per tot
això podria ser perjudicial.
I htmlspecialchars faran que per vostè, pel que no té
de preocupar per això.
Però no tracti de fer per tu mateix espècie de amb el seu propi codi.
És clar en XSS tot el món?
>> D'acord.
Anirem a la injecció de SQL.
Així que la injecció de SQL és probablement la el número u de la vulnerabilitat
en diferents llocs web.
És a dir, un bon exemple -
Estava investigant més lluny per això.
I em vaig trobar amb aquest article impressionant, on Vaig veure que Harvard va ser violada,
va ser hacker.
I em preguntava, bé, Com anaven a fer-ho?
Harvard és la més impressionant, més assegurar universitat mai.
Cert?
Bé, a la violació dels servidors, els pirates informàtics utilitzen un
tècnica anomenada injecció SQL.
>> Així que això passa en el dia a dia.
La gent s'oblida de tenir en compte per a la injecció SQL.
Harvard fa.
Crec que diu aquí, Princeton, Stanford, Cornell.
Llavors, com - i què és això SQL injecció que està portant tot això
gent sota?
D'acord.
Així SQL és un llenguatge de programació que podem accedir a bases de dades.
El que fem és seleccionar -
així que el que això es llegeix en aquest moment és de selecció tot, des de la taula.
>> SQL, es transforma en aquestes bases de dades que tenen taules plenes d'informació.
Així que seleccioneu tot, des dels usuaris on el nom és nom d'usuari.
Cert?
Bastant simple.
La idea d'injecció SQL és que inserir algun codi maliciós que faria
enganyar al servidor perquè executi alguna cosa diferent del que
originalment s'executa.
Així que diguem que el nom d'usuari, posem en o 1 és igual a 1.
Per això, vam posar en o 1 és igual a 1.
La forma en què es va a llegir ara serà select dels usuaris, de tot, des
usuaris - això és tot -
on nom és nom d'usuari, però nom d'usuari és o 1 és igual a 1.
>> Així que el nom no és gens o 1 és igual a 1.
1 és igual a 1 és sempre cert.
Així que això sempre retornarà informació dels usuaris.
D'acord.
No cal tenir la nom d'usuari correcte.
Només podem tenir el que volem, i ha de retornar la informació
el que necessitem.
Vegem un altre exemple.
>> Si hem seleccionar tot d'usuari, on nom és usuaris DROP TABLE -
així que què creu vostè que aquesta voluntat fer si poso el nom d'usuari
com a usuaris DROP TABLE?
Algú té una idea?
Sí
>> AUDIÈNCIA: L'hi diré a bolcar totes les taules.
>> LUCIANO ARANGO: Va a dir-nos per bolcar sobretot en la pàgina web,
tot a la base de dades.
I el que la gent fa servir això per - si més Vaig a mostrar.
He desactivat eliminar les taules perquè jo no et vull
nois a deixar anar els meus taules.
Fem una ullada a això.
Així que això simplement s'aixeca la informació per a una persona determinada.
Així que, com sabem si això és afectada per la injecció de SQL.
Anem a revisar molt ràpid si podem posar una mica -
m'ho dius a mi copiar aquest codi.
Jo vaig a anar-hi en un segon.
Em vaig a posar l'arrel i 1 és igual a 1.
>> Aquest dret aquí, això signe de percentatge 23 -
el que realment és, si jo buscar aquí mateix, a -
la forma en què HTML té en nombre, si fer una ullada a quan vaig posar en un espai
aquí - si jo fos l'espai alguna cosa aquí, canvia a un 2 per cent.
Vostès veuen això aquí quan vaig posar en un espai?
La forma en que funciona és que només es pot enviar valors ASCII a través d'HTML.
De manera que substitueix, per exemple, un espai amb 20 per cent.
No sé si vostès han vist això abans.
>> Substitueix un hashtag amb 23 per cent.
Necessitem un hashtag al final o declaració perquè puguem dir-li al
base de dades que t'oblidis de comentar aquest últim punt i coma al final.
Volem que no pensa en això.
Només volem que s'executi tot que tenim per endavant i
comentar això.
Anem a fer una ullada.
>> Així que si jo fos a posar alguna cosa malament - diguem, per exemple, em poso 2 iguals
1, no em dóna res.
Quan em vaig posar en 1 és igual a 1, i ho fa tornar alguna cosa, això em diu que
aquest és vulnerable a una injecció SQL.
Jo sé ara que tot el que Vaig posar després d'això -
i, per exemple, eliminar taules o alguna cosa per l'estil
sens dubte treballar.
Sé que és vulnerable a injecció SQL perquè sé que
sota de la capella, que està deixant em faig l'1 és igual a 1 cosa.
¿D'acord?
>> I si ens fixem en les altres, número dos i número tres, és
farem una mica més de comprovar sota de la
capó del que és.
Així que qualsevol habilitar la gota res ni jutjat?
Vostès sort d'aconseguir SQL encara?
Perquè jo sé que vostès no han vist encara, així que és una espècie de
confús per a vostès.
Anem a fer una ullada.
Quina és la manera de prevenir SQLI?
D'acord.
Així que això és realment important, ja que nois definitivament volen evitar
això en els seus llocs web.
>> Si no és així, tots els seus amics van a es burlen de vostè quan se'ls cau tot
les seves taules.
Així que la idea és que reparar el SQL en certa manera, mentre que coincideixen
el que les entrades de l'usuari amb una cadena determinada.
Així que la forma en que funciona és que preparar la base de dades.
Seleccioneu el nom, el color i calories a partir d'una base de dades anomenada fruita.
I llavors, on calories és menor que, i posem un signe d'interrogació no
dient que anem a l'entrada alguna cosa en un segon.
>> I el color és igual, i ens fa una pregunta marca dient que anem a
introdueixi dades en un segon també.
¿D'acord?
I després l'executem, posant en 150 i vermell.
I això va a comprovar per assegurar Assegureu-vos que aquests dos -
aquesta matriu es comprovi que aquestes dos són un nombre enter i
que això és una cadena.
Després anem i busquem tot, ho posem en vermell.
Això vol dir que busquem a tots.
Això vol dir que en realitat executa l'SQL declaració i posar de nou en vermell.
Aquí fem el mateix, però nosaltres fer el mateix per al groc.
I busquem a tots.
>> I d'aquesta manera, evitem que l'usuari de ser capaç d'introduir alguna cosa
això no és el que hem especificat, una cadena o un nombre enter, per exemple.
Jo estava parlant abans sobre dependre d'altres.
Quan vostès el seu projecte, vostè és definitivament va a utilitzar
arrencar o alguna cosa semblant.
Han utilitzat alguna vegada Wordpress?
Probablement vostès han utilitzat Wordpress més probable.
Així que el problema amb l'ús coses dels altres -
Jo només vaig a béns ràpida de Google Vulnerabilitat Wordpress.
>> Si tir d'això ara mateix -
Jo, literalment, vaig fer un dos segons Google.
Podem veure que Wordpress -
aquest té data al setembre '12.
26 s'actualitza.
La configuració per defecte de Wordpress abans 3.6 no impedeix aquests
certs arxius, el que podria fer que sigui més fàcil per als
atacs cross-site scripting.
Així que una història ràpida, un cop estaven treballant - Així estava jo, a l'estiu, un treball
de pràctiques.
I estàvem treballant amb una mena de com una gran companyia de targeta de crèdit.
>> I es basen en alguna cosa que es diu -
No sé si vostès alguna vegada van jugar amb un producte anomenat Joomla.
Joomla és un producte que s'utilitza per de control - tipus de similar
Wordpress, usat per construir llocs web.
Així que van tenir la seva pàgina web treballant en Joomla.
Això és en realitat una targeta de crèdit empresa a Colòmbia.
Et portaré a la seva lloc molt ràpid.
>> Així que ells fan servir Joomla.
I no havien actualitzat Joomla a l'última incorporació.
I així, quan ens estàvem prenent una ullada a el seu codi, vam poder realment
entrar el seu codi i robar tot el informació de la targeta de crèdit que tenien,
tots els números de targetes de crèdit, els noms, les adreces.
I això va ser només -
i el seu codi era perfectament bé.
Tenien un gran codi.
Era tota la seguretat.
Revisar totes les bases de dades.
Es van assegurar de cross-site scripting estava bé.
>> Però van usar una cosa que no era actualitzada, que no era segur.
I perquè els va portar a - així que vostès definitivament es va a utilitzar una altra
codi, els marcs de la gent de la gent per construir el seu lloc web.
Assegureu-vos que són segures perquè de vegades no ets tu, el que
comet un error.
Però algú comet un error, i llavors caus per això.
>> Contrasenyes i PII.
Així contrasenyes.
D'acord.
Fem una ullada a les contrasenyes molt ràpid.
D'acord.
Si us plau, digues-me que tothom utilitza segur -
Espero que tothom aquí utilitza contrasenyes segures.
Jo només vaig a deixar que com una suposició.
Així que vostès són sens dubte va a emmagatzemar les contrasenyes dels teus llocs web.
Vas a fer alguna cosa com un inici de sessió, o alguna cosa així.
L'important és no emmagatzemar contrasenyes en text pla.
Això és extremadament important.
Vostè no desitja emmagatzemar un contrasenya en text pla.
>> I definitivament no vol realment per emmagatzemar-lo en un hash d'una manera.
Així que el que és un hash d'un sentit és que quan es generar una paraula, quan es posa aquesta
paraula en una funció hash, ho farà generar de nou algun tipus de críptic
missatge o conjunt críptica de claus.
Et vaig a mostrar un exemple.
Vaig hash que contraseña1 paraula.
Hash md5 Així em tornarà algun tipus d'informació estranya.
>> El problema és que la gent per aquí que els agrada anar als llocs web tenen
ja descobert espècie de tots els hashes MD5.
El que van fer és que es van asseure en el seu ordinadors, i hash cada
sola paraula possible per aquí fins que van aconseguir una espècie del que és això.
Si jo anés a veure això -
Vaig agafar aquest hash.
Si aconsegueixo aquest hash de -
si entro en un lloc web, i em trobo amb aquest hash perquè em permet la
bases de dades, i miro cap amunt, algú ja descobert per mi.
>> Sí
Així que la gent es va asseure, i qualsevol que sigui md5 hash que vostè posa en, van a
tornar a alguna cosa és a dir una paraula.
Si Haixix altra paraula, com -
No sé -
trees2.
No vull que es decebi per les meves cerques de Google.
Aquí està, trees2.
Així que un munt de llocs web seguir utilitzant hash MD5.
Ells diuen, oh, és segur.
No anem a emmagatzemar en text pla.
Tenim aquest hash md5.
I tot el que he de fer és Google el nombre.
>> Ni tan sols he de calcular a mi mateix.
Jo només puc buscar a Google, i algú Ja ho va fer per mi.
Aquí hi ha un munt d'ells.
Aquí hi ha un munt de contrasenyes.
Així que, definitivament, no ha d'emprar hash md5, perquè tot el que ha de
fer és Google ell.
Així que què és el que voleu utilitzar en el seu lloc?
D'acord.
Cosa anomenada salaó.
Llavors, quin és el salat -
és el que vostès recordin quan érem parlant d'atzar en -
No estic segur de quin conjunt de processadors que era -
L'hi PSET allà o quatre?
>> Estàvem parlant de la recerca l'agulla al paller.
I en el conjunt de processadors, es va dir que es podia realment esbrinar el aleatori
genera perquè algú ja està corrent l'atzar un milió de vegades i només
sort de formar el que ells generen.
El que vull fer és posar en una entrada.
Així que això és el que la salaó tipus de és.
Ja adonar del salat torna per a cada obra.
>> Així que el que fa és salat es posa en una sal.
Es posa en una determinada paraula.
I serà hash d'aquesta paraula en funció en el que es posa aquí.
Així que si jo hash de la contrasenya un amb aquest frase, va per discutir
diferent si Haixix contraseña1 amb una frase diferent.
D'alguna manera se li dóna un lloc per començar pel hash per començar.
Així que és molt més difícil de calcular, però encara pot calcular-la, especialment
si utilitza una mala sal.
>> La gent ja ha també descobert sals comunes i descobert
el que és.
Sales d'atzar són molt millors, però la millor manera és fer servir
cosa que es diu cripta.
I què cripta li permet no - de manera que aquestes funcions són
ja construït per a vostè.
Molta gent s'oblida que, o s'obliden d'utilitzar.
Però si miro cap amunt cripta PHP, cripta Ja retorna una cadena hash per a mi.
I el que realment sals moltes vegades i hashes moltes vegades.
>> Així que no hem de fer això.
L'únic que has de fer és enviar-lo a la cripta.
I crearà un gran picada sense haver de preocupar sobre la sal
ni res.
Perquè si anés a la sal, tens recordar el que la sal que va utilitzar
perquè si no, no pots aconseguir la seva contrasenya de nou sense el
sal que utilitza.
D'acord.
>> I també identificable personal informació.
Així que la seguretat social, la targeta de crèdit - això és bastant obvi.
Però de vegades la gent s'oblida de la manera que obres és, la quantitat d'informació fa que
en realitat la necessitat de trobar alguna persona?
Algú va fer un estudi sobre aquest un camí de tornada.
I va ser com, si vostè té el nom complet, no es pot trobar
algú tan fàcilment.
Però el que si vostè té un nom complet i la data de naixement?
És això suficient per identificar algú en concret?
>> Què passa si vostè té el seu nom i la direcció del carrer que viuen?
És això suficient per trobar algú?
I va ser llavors quan es pregunten, quin és informació d'identificació personal, i
Què s'ha de preocupar per no regalar?
Si vostè regala identificable personal informació que algú et dóna,
vostè pot ser demandat.
I definitivament no volem això.
>> Així que quan vostè està posant el seu lloc web , I vostè té una molt cool
disseny, és d'esperar que vostè va fer un projecte final impressionant.
Qualsevol espècie que desitges el va posar aquí.
Vostè vol assegurar-se que tot el que vostè està prenent per part de l'usuari, si és
informació d'identificació personal, voldrà assegurar-se que vostè està sent realment
compte amb ell.
>> Injecció de Shell.
D'acord.
Injecció de carcassa permet que l'intrús accedir a la línia d'ordres real
en el seu servidor.
I així que ell és capaç d'executar codi que no es pot controlar.
Vegem un exemple d'això bella cadena aquí.
Si entrem a la pàgina web de nou, estic entrarà en la injecció de codi.
Així que el que això fa és -
que és també el que vam ser mirant abans.
Estem deixant a l'usuari posar en qualsevol que vol, i el que imprimirà
el que vulguis.
>> Així que em vaig a posar una trucada.
El que això fa és -
s'iniciarà mitjançant la concatenació.
Així que em permet executar qualsevol comandament de fórmula de la persona
abans i el meu comandament.
I m'estic quedant una ordre del sistema.
I aquestes últimes cadenes són - recorda el que vaig parlar amb vostès sobre,
mentre que vostè ha de codificar en un mètode d'URL.
Si em quedo això ara -
Et vaig a mostrar aquí -
veuràs que vaig acabar fins a l'execució d'un comandament.
>> Això és en realitat el servidor real que el meu lloc web s'està executant.
Així que nosaltres no volem això, perquè puc córrer -
aquest servidor no és meu.
Així que no vull fer malbé la seva germana, servidor de Marcus.
Però es pot executar més ordres que són perillosos.
I potencialment, podria eliminar arxius, eliminar directoris.
Puc eliminar un directori determinat si Jo volia, però jo no vull
fer-li això a Marcus.
Ell és un bon tipus.
Ell em va prestar el seu servidor.
Així que vaig a deixar-ho de descompte en la bona.
>> Així que el que no volen fer servir - no ho fem vulgui utilitzar eval o sistema.
Aval o el sistema ens permet fer aquestes crides al sistema.
Mitjans d'avaluació avaluen.
Sistema significa el que em vaig trobar.
Està dirigit alguna cosa en el sistema.
Però podem prohibir aquestes coses en PHP perquè no els fem servir.
I la càrrega d'arxius.
Jo anava a fer una impressionant cosa amb la càrrega d'arxius.
Però com et vaig dir nois, el meu arxiu El càrrega no està funcionant.
Si hagués de carregar un arxiu en aquest moment -
si hagués de carregar un arxiu, i és una imatge -
vostè té alguna cosa de càrrega això és una foto.
Això està bé.
No passa res.
>> Però si vostè té un arxiu de càrrega, per exemple, i l'usuari realment arxius
un arxiu PHP o un arxiu exe o alguna cosa així, llavors vostè podria potencialment
tenir un problema.
Això funcionava abans.
Per desgràcia per a mi, és no treballar mai més.
Si jo, per exemple, pujar l'arxiu, estic no obtenir permís per pujar
l'arxiu perquè el servidor no sent meva.
Així que el noi és molt intel · ligent.
>> Així que no volem -
Vaig a mostrar que vostès -
Bé, aquestes són algunes eines molt interessants.
Així que aquests -
entrar - si vostès tenen Firefox - espero que si.
Hi ha dos agregacions trucades SQL Inject Jo i Cross-Site Guió Me.
Obren tan poc de costat bars al costat.
I si hagués d'anar a CS60, per exemple -
així que el que fa és el que sembla per a totes les formes que -
amb sort, no vaig a entrar en problemes per això.
>> Però a D'acord.
Aquí hi ha el sistema de pin.
Així que quan em poso a buscar forats en el sistema, el primer que faig és
obrir aquesta petita i bonica eina al costat.
I jo vaig a provar formes amb atacs automàtics.
I així, el que això fa és que a poc a poc obrir un munt de navegadors.
Aquí hi ha un munt de navegadors.
I està tractant cada combinació única de cross-site scripting
que possiblement és a dir, si que es veu al costat.
>> I que em donarà un resultat espècie de quina és la resposta.
Tots passar.
Òbviament, tots ells passen.
Vull dir, ells són molt intel · ligents la gent d'allà dalt.
Però si jo fos a córrer -
He tingut moments abans, quan executo això sobre els projectes finals dels alumnes.
Jo simplement executar SQL Inject Em amb tots els diferents atacs.
I està tractant d'injectar SQL aquest servidor pin.
Així que si ens desplacem cap avall, per exemple, es diu -
això és bo si torna.
>> Així que va provar alguns certs valors.
I el servidor ha retornat un codi que va ser negatiu.
Traieu temporalment.
Això és bo.
Tracta totes aquestes proves.
Així que vostè pot simplement executar -
M'agradaria poder trobar un lloc web de béns ràpida que em van deixar -
potser la botiga CS50.
>> Wow, això va a prendre massa temps.
Vaig a deixar que la primera prova No va acabar bé.
Per tant, es queixa.
Així que aquestes són tres coses.
Aquestes eines són gratuïts.
Pots descarregar-los i executar-los en seu lloc web, i li dirà si
vostè té cross-site scripting, si té SQL, si vostè té
alguna cosa per l'estil.
Jo sóc una mena de fer malbé.
>> El que és important -
OK, així que mai confiar en l'usuari.
Qualsevol que sigui l'usuari introdueix per a tu, enviem Segur que desinfectar, el netegeu,
comprovar per les coses correctes, que li està donant el que
volia que se li donen.
Estigui sempre al dia del marcs que en realitat estàs fent servir.
Si utilitzeu alguna cosa com bootstrap -
Jo sé que vostès van a utilitzar arrencar perquè ell va a anar
sobre això aviat a la classe -
i Wordpress o alguna cosa per l'estil, Normalment això podria ser hacker.
>> I llavors vostè ni tan sols coneix.
No ets més que el funcionament del seu lloc web.
I és totalment segur.
I vostè va avall.
Així que em vaig a pescar molt d'hora.
Però vull agrair Pentest laboratoris.
Vaig a mostrar que vostès alguna cosa anomenat Pentest laboratoris.
Si vostès són realment interessat en el que la seguretat és en realitat, hi ha una
lloc web anomenat Pentest laboratoris si vostès van a ell en aquests moments.
Oh, bé, això no és tot.
Jo només vaig a córrer així.
Google em diu la resposta.
>> D'acord.
I t'ensenya l'ús - pel que diu, aprendre penetració web
les proves de la manera correcta.
T'ensenya -
amb sort, vostè és una persona ètica.
Però li ensenya com es pot veure en com es pot aconseguir dins de llocs web.
I si s'assabenta de com es pot aconseguir dins llocs web, vostè pot aprendre a
protegir un contra llocs web en el seu interior.
Déjame el zoom en perquè potser vostès no estan mirant a aquest dret.
>> D'injecció de SQL a la closca, de manera que espècie de com puc obtenir de SQL
injecció de shell.
I vostè descàrrega aquesta màquina virtual.
I la màquina virtual ja ve amb el lloc web que vostè està
va a provar.
Vostè descarrega el PDF.
I us mostrarà línia per línia el que el que has de fer, el que comprova.
Això és el que un atacant en realitat Com arribar dins d'una pàgina web.
>> I algunes d'aquestes coses és complicat.
M'agradaria poder anar més coses amb vostès.
Però em preocupa que vostès no té en realitat -
això és el que em vaig apropar amb vostès, proves web
per a les proves de penetració.
Realment no sé el que SQL és i el que -
El seminari de Carl Jackson és increïble.
Vostès no saben ordenar del que es tracta.
Però si vas a aquest lloc web, i vostè descarregar aquests tutorials i aquests
PDF, vostè pot fer una ullada a una espècie de el que l'àrea de la seguretat que realment fa
en proves de penetració, veure com es pot aconseguir llocs web dins i protegir
a si mateix d'ella.
>> Així que si faig un resum molt ràpid, Serà prevenir cross-site scripting.
Vols utilitzar htmlspecialchars cada moment en què l'usuari introdueix alguna cosa.
Evitar la injecció SQL.
Si vostè fa això, vostè ja està millor que Harvard estava
quan van ser violades.
I assegureu-vos que les seves contrasenyes no estan en text pla.
Assegureu-vos de fer no només una forma de hash ells, sinó que s'utilitza cripta, el PHP
funció que els vaig mostrar nois.
D'aquesta manera, ha de ser bo.
>> A més, si els seus amics li permeten, executa SQL Inject Em en els seus llocs web.
Executar seqüències d'ordres en llocs creuats en els seus llocs web.
I veuràs que molts d'aquests llocs web tenir un munt de vulnerabilitats.
És increïble com s'obliden de molta gent per desinfectar les seves bases de dades o per fer
segur del d'introducció de la persona no és de codi script.
D'acord.
En certa manera em vaig acabar molt d'hora.
Però si algú té alguna pregunta sobre qualsevol cosa, vostè pot disparar-una pregunta.
Sí
Vaja, vaja.
>> AUDIÈNCIA: Només vull preguntar, Pot explicar com l'arxiu
pujar exactament obres.
>> LUCIANO ARANGO: Si.
Així que permetin-me que et ensenyi l'arxiu pujar molt ràpid.
Així que la càrrega d'arxius -
el problema enginy la càrrega d'arxius ara mateix és que -
Vaig a obrir el codi perquè vostès veure el codi darrere de les escenes.
I es puja.
Aquí hi ha un codi per al carregador d'arxius.
>> Estem tractant d'entrar en aquesta directori per aquí.
I estem tractant de, una vegada que l'entrada de arxiu, arxiu isset - així que quan hi ha una
presentar en ARXIUS, aquesta imatge, a continuació, tractem de moure aquí.
Agafem l'arxiu aquí.
El mètode és POST, tipus, imatge, arxiu.
I estem enviant aquest fitxer.
I una vegada que ho fem, així que un cop l'arxiu té una imatge, que estem tractant d'enviar
a aquest directori.
>> El problema és que el lloc web no és deixar-me anar a aquest directori,
ja que no vol que torni.
No vol que em vagi -
Em he d'anar - així que aquí està la carregar.
Heus aquí les imatges.
He d'anar tot el camí de tornada a la començant i el va posar en en l'acte
anar i posar-lo al directori.
Així que si jo estava corrent una finestra de terminal, i volia moure un arxiu -
[Inaudible]
pot veure-ho.
Si volgués moure un arxiu, tinc per posar el nom de l'arxiu i després el
camí complet Vull enviar el missatge.
>> I a continuació, el servidor no està deixar-me anar cap enrere.
I el que no està deixant a arribar a aquest arxiu.
Però normalment -
així que hi ha un codi per pujar un arxiu.
Així que normalment el que succeirà és que el persona no està comprovant si el meu arxiu
acaba amb. jpeg, així que que vulgueu comprovar.
Permetin-me obrir un exemple massa ràpid.
>> D'acord.
Aquesta persona adequada -
així exemple dues és la comprovació si preg_match -
aquí és aquí -
per assegurar-se que acaba amb PHP, la qual cosa és bo.
Això és bo.
Però hi ha una gran reals problema amb això.
Això és bo.
Però si hagués de posar un arxiu anomenat myfavoritepicture.php.jpeg, vaig poder
sent potencialment desfer-se del jpeg i executar PHP it.k Això és perillós.
No vol que la persona sigui capaç per a executar codi al seu lloc web.
>> Però llavors. Jpeg el deixa passar.
La idea és el que realment vols fer No és prendre els arxius, A. Però, bé, el que
que realment vull fer és assegurar-se que es llegeix a tot el món.
I no hi ha res. Php-hi.
No n'hi ha. Php a l' nom de l'arxiu sencer.
>> AUDIÈNCIA: Però podries posar. jpeg a l'extrem.
Els servidors segueixen corrent el codi.
>> LUCIANO ARANGO: No, no ho farà córrer pel principi.
Has de tornar i provar per veure si pots -
>> AUDIÈNCIA: Així que hem de -
Bé, només un altre conjunt que implica -
>> LUCIANO ARANGO: Si.
>> AUDIÈNCIA: OK.
>> LUCIANO ARANGO: Si.
D'acord.
Alguna altra pregunta?
D'acord.
Vaig a deixar això i ordenar de tractar de veure si vostès poden -
els altres són una mica més complicat perquè requereixen molt
més coneixements de SQL que només la a partir del coneixement de la web és SQL i
el que JavaScript està.
Però vaig a tractar de seguir amb això, i és d'esperar que els nois s'aprengui
sobre això i tractar de fer una ullada a el que pot fer i quants exemples
vostè pot aconseguir a través.
>> Algú té alguna altra preguntes al respecte?
Endavant.
Sí, disparar, disparar.
Sí, endavant.
Endavant.
>> AUDIÈNCIA: OK.
Així vaig saber com Cotitzacions Màgia no estan prou segur.
>> LUCIANO ARANGO: Què -
Cotitzacions màgia?
>> AUDIÈNCIA: Si.
Per tant, afegeix - així que sempre que l'entrada alguna cosa, que sempre afegeix cometes.
>> LUCIANO ARANGO: Si.
Sí
D'acord.
>> AUDIÈNCIA: I llavors vaig pensar que vaig treballar, però després vaig buscar a dalt.
I va dir que no és bo.
Però no estic segur de per què.
>> LUCIANO ARANGO: Si.
>> AUDIÈNCIA: No utilitzeu Comillas Màgiques, perquè no és segur.
>> LUCIANO ARANGO: OK.
Així Comillas Màgiques és en inserir SQL i ja suma l'oferta per a vostè.
>> AUDIÈNCIA: Sempre afegeix cometes tot el que vostè posa endins
>> LUCIANO ARANGO: Si.
Així que el problema amb això és que -
Vaig a fer una ullada a -
>> AUDIÈNCIA: Com s'adquireixen la sentència de SQL?
O suposo que podria ser com diu la cita seleccionar.
>> LUCIANO ARANGO: Sí, vostè necessita bones cites per al SQL.
>> AUDIÈNCIA: No, però el servidor ho fa per vostè.
>> LUCIANO ARANGO: Aquests petits cotitzacions aquí, aquestes petites frases?
>> AUDIÈNCIA: Si.
>> LUCIANO ARANGO: Si.
El problema és que es pot comenti l'última -
OK, així que el que puc fer és el que puc comentar - Així que anem a fer una ullada a - dejame
obrir un arxiu de text d'edició.
Permetin-me editar aquest aquí directament.
D'acord.
Poden vostès veure que clarament?
El que puc fer és que puc comentar fos l'últim.
Això li comenti l'última.
I després vaig a posar un aquí, ja totes les coses maliciós aquí.
>> Així que l'usuari és en realitat introduir, oi?
L'usuari no està introduint les coses, no?
Això és el que vaig a l'entrada com la persona que intenta entrar.
Em vaig a posar en -
aquesta és una cometa.
És només serpentejant per error.
I llavors el que el codi farà -
ho sento, em vaig a prendre això.
El que el codi va a fer és que va a afegir el primer
cometes aquí.
I es va a afegir a l'última cometa també.
>> I també va a afegir el última, última cometa.
Però jo estic comentant aquests cita marca a terme, pel que no s'executen.
I estic acabant aquesta cita marqui aquí.
Entens?
T'has perdut?
Jo puc comentar l'última cotització marca, i tenir cura de la
primera cometa.
>> AUDIÈNCIA: I acabat just el primer.
>> LUCIANO ARANGO: Si.
I així acabar la primera.
Sí, això és correcte.
Això és el que puc fer.
Sí
Alguna altra pregunta com aquesta?
Aquesta és una gran pregunta.
No, sí, potser.
Amb sort, vostès van a fer una mena de més sentit quan s'estudia SQL i
coses així.
Però assegureu-vos que -
mantenir aquestes eines en el rellotge.
Ho sentim, aquestes eines més aquí.
Aquestes eines són molt bons.
Si algú té alguna pregunta, vostè també pot enviar-me un email.
Aquest és el meu correu electrònic normal.
I aquest és el meu correu electrònic de la feina, que és quan jo treball en SEAS.
>> Bé, gràcies.
Gràcies, nois.
Ets bo per anar.
No ha de quedar-se aquí.
No aplaudeixi.
Això és estrany.
Bé, gràcies, nois.