Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Quando la sicurezza é un optional

Quando la sicurezza è lasciata del tutto al caso!
Quando la sicurezza è lasciata del tutto al caso!
Link copiato negli appunti

Uno degli aspetti fondamentali quando si sviluppa un applicativo web è senz'altro la sicurezza.

Quando poi si interagisce con un database per creare piattaforme più o meno complesse ecco che garantire una stabilità  all'applicazione non è più un accessorio ma un'esigenza.

Così, quando mi trovo davanti a situazioni come quella appena capitata non posso che rimanere allibito!

Scena: Un mio collega mi passa l'URL di un sito di un nostro cliente per pianificare la strategia SEO. Su messenger accompagna l'URL con un commento del tipo: questa non te la puoi proprio perdere! Apro messenger, carico l'URL e cosa vedo? Il CMS del cliente presenta un URL del tipo

/lista_prodotti.asp?strSQL=Select+%2A+From+PRODOTTI+Where+visibile+%3D+1

Gulp! L'intera SQL passata via querystring in bella mostra. Non ho provato ad usare uno statement DELETE o UPDATE, peggio ancora DROP, ho paura delle conseguenze.

Giusto per curiosità  provo a cambiare un valore numerico con una stringa, con lo scopo di generare un innocuo errore.

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]
Il nome di colonna 'xyz' non è valido.

Eh sì, chiedere un controllo sull'integrità  dei campi era troppo.

Si tratterà  di un caso sporadico mi dico. Accedo al sito della web agency e scopro che si tratta nientemeno di un CMS! Inutile dirvi che una semplice query su Google per allinurl:strSQL=SELECT (Nb. la query è fittizia per preservare la "sicurezza" del cliente) restituisce una lista completa di tutti i clienti della web agency che attualmente usano il CMS "esplosivo".

A questo punto, sconfortato dal vedere così tanta incapacità  di programmazione e sviluppo in un colpo solo, mi viene in mente una cosa: ma saranno gli unici?
Proprio no.

Ancora una volta mi lancio su Google e cerco di individuare una semplice sintassi che mi restituisca una possibile lista di pagine con SQL passato via querystring: allinurl:sql select from where

Vi lascio immaginare, senza neppure necessità  di troppa fantasia, quali danni potrebbe causare un utente un po' più smaliziato...

Ebbene sì, la sicurezza non è un optional!

Ti consigliamo anche