Spring GDS 25è Aniversari
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
El cross-site scripting és una vulnerabilitat web en què un atacant injecta codi maliciós en una pàgina que altres persones carreguen després al seu navegador. El navegador confia en la pàgina, així que executa l'script com si l'hagués escrit el mateix lloc. A partir d'aquí, un atacant pot robar cookies de sessió, llegir el que l'usuari tecleja o actuar com aquest usuari. El XSS ataca qui visita un lloc, i això és el que el separa d'un atac del costat del servidor.
Hi ha tres formes comunes. El XSS emmagatzemat viu a la base de dades, plantat a través d'una cosa com un camp de comentaris, i es dispara per a cada visitant que el carrega. El XSS reflectit rebota al servidor mitjançant un enllaç manipulat, sovint en un resultat de cerca que retorna l'entrada tal qual. El XSS basat en DOM passa del tot al navegador, quan el codi del costat del client gestiona dades no fiables de manera insegura. Un exemple clàssic és una caixa de comentaris que desa etiquetes <script> i les reprodueix davant de cada lector. La causa arrel gairebé sempre és la mateixa. Una entrada no fiable acaba a la pàgina sense escapar-se ni sanejar-se.
Les defenses es coneixen bé. Escapa la sortida segons on aterri, valida l'entrada en entrar i aplica una Content Security Policy que bloquegi l'execució de scripts on no han de córrer. Els frameworks moderns escapen per defecte, cosa que ajuda, però qualsevol punt que injecti HTML en brut pot reobrir la porta.
Tractem cada valor que ve d'un usuari com a hostil fins que es demostri el contrari. La sortida s'escapa per defecte, la injecció d'HTML en brut es revisa línia per línia i les capçaleres de Content Security Policy s'envien com a part del build, no com un afegit d'última hora. Els frameworks en què treballem escapen de manera automàtica, i som curosos amb les poques vies d'escapament que se salten aquesta protecció.
Això forma part de com abordem l'estratègia i el QA governance en el desenvolupament web i les aplicacions web a mida. Els controls de seguretat viuen dins del procés de revisió, no en una fase a part que es retalla quan estrenyen els terminis. Hem construït productes de cara al públic per a marques on un únic script injectat arribaria ràpid a una gran audiència, i aquesta realitat manté la disciplina ferma des del primer commit.
Construeixes alguna cosa pública que gestiona entrades d'usuari? Assegurem-nos que no es pugui tornar contra els teus visitants.
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
Convertir una marca en un negoci que funciona.
Mig milió de persones. Una app. Zero caos.















