Gli "Ospiti" della Sala Macchine |
Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register
"Hanno bucato il sito di $Cliente_Importantissimo!!!"
Ok, seratina al pub saltata... mi fiondo a casa, mi collego al sito in questione e ci trovo una bella home page di un fantomatico gruppo di hacker brasiliani.
Inizio a chiedermi che diamine è successo, mi collego al server, dò un'occhiatina ai log di IIS e scopro che il sofisticato trucco con cui i terribili hacker hanno violato la sicurezza è stato... una query HTTP di tipo PUT.
Sì, esatto.
Apro IIS, controllo i permessi, e scopro che effettivamente è abilitato l'accesso in scrittura al sito. Al che, improvvisamente, ricordo ciò che avevo voluto rimuovere, spinto da istinto di sopravvivenza.
Digressione: la mia socità ha come punta di diamante un "fantastico" sistema di content management per siti web, che chiameremo $CMS. Tale arnese è in realtà un'orribile accozzaglia di pagine ASP buttate lì alla meno peggio, che già una volta si è reso responsabile di atroci figuracce con gli sfigati di turno a cui l'abbiamo venduto.
Quando ho iniziato a lavorare per il branco di pazzi in questione, alla mia domanda allo sviluppatore dell'aggeggio "di quali permessi ha bisogno questo coso?", la risposta è stata del tipo "non lo so, tu lascia aperto tutto, poi quando va in esercizio vediamo cosa chiudere".
Ovviamente, quando il sito è andato in esercizio nessuo si è preso la briga di chiudere alcunché...
Improvvisamente comprendo la portata del dramma, e ringrazio divinità varie che il sito sia stato colpito da un ragazzino brasiliano che ha solo sovrascritto l'home page, piuttosto che da un hacker vero. Dopodiché, asporto istantaneamente i permessi incriminati, e rimetto in piedi la baracca.
Oggi presento al capo una relazione sull'accaduto, che sostanzialmente dice "se il team di sviluppo di $CMS avesse saputo come funzionava il suo prodotto, avremmo evitato questo casino". Il capo, ovviamente, mi dice di inventare qualche balla perché la verità non può essere detta al cliente... e inizia l'odissea.
"È un buco di IIS" non va bene, potrebbero dirci di cambiare webserver
(e poi chi la riscrive l'applicazione da capo?).
"È un buco di Windows, abbiamo messo la patch" non va bene, potrebbero
rispondere "perché non l'avevate messa prima?".
"È un errore di configurazione" non va bene, ci facciamo la figura da
imbecilli (anche se, in effetti, sarebbe meritata...).
"È colpa del programmatore" non va bene, lavora per noi anche lui
(purtroppo).
"È colpa del sistemista"... no, piuttosto che prendermi la colpa di una
simile idiozia faccio una strage.
All'improvviso, idea geniale del capo: "qui dobbiamo fare la supercazzola" (chi non riconosce la situazione, si vada a rivedere "Amici miei"). Segue la stesura di un documento ampiamente farcito di termini tecnici incomprensibili, a base di WebDAV e HTTP, che domani finirà in mano al cliente.
Speriamo bene...
Per chi non fosse al corrente, diremo che l'aggeggio in questione è una vera chiavica, un'accozzaglia di pagine ASP scritte da un perfetto idiota, con soluzioni tecniche degne degne di Windows 1.0.
Ovviamente, tale arnese non prevede un'installazione di base e una successiva customizzazione. No, ogni volta che c'è da rivenderlo ad un nuovo malcapitato cliente, viene preso il contenuto dell'ultimo sito, copiato nella directory di quello nuovo e personalizzato a manina.
Qualche tempo fa, doveva andare in produzione il sito di $Cliente_Importantissimo, al che si è preso $CMS, che l'ultima volta era stato usato per il sito di $Altro_Grosso_Cliente, e si è svolta la solita routine... con l'eccezione che, nel frattempo, il programmatore responsabile dello sviluppo originale del terribile ordigno ha pensato bene di cambiare lavoro. Il capo, assiduo sostenitore della teoria secondo la quale i programmatori sono assolutamente intercambiabili tra loro, ha preso un nuovo malcapitato e l'ha messo a lavorare sul progetto... ma, ovviamente, la vittima designata non poteva in alcun modo sapere che il suo illustre predecessore non aveva la minima idea di cosa significassero le parole "costante" e "variabile" dato che in ASP non esistono le costanti posso capirlo....
Tradotto: dentro *ogni singola pagina* di un sito basato su $CMS c'è scritto il nome del sito di cui fa parte.
Incredibilmente, tutto è andato quasi bene... fin quando, un giorno, si è deciso di utilizzare anche il modulo di $CMS che gestisce le mailing list. Qui, purtroppo, la capicatà di search&replace del nuovo programmatore è venuta meno, cosicché sono rimaste in giro alcune pagine con dentro il nome del vecchio sito.
Risultato: un bel giorno, a qualche centinaio di utenti del sito di $Cliente_Importantissimo è arrivata una mail che diceva "Benvenuti nella mailing list di $Altro_Grosso_Cliente".
Al che, qualcuno si è incazzato.
Molto.
Ma ovviamente l'autore originale di quel meraviglioso prodotto che è $CMS era già sparito da un pezzo...
Massimo
03 Agosto 2004
08/03/2004 00:00
le storie degli ospiti sono in ordine sparso, quindi 'precedente' e 'successiva' possono portare su storie di altri autori
Comments are added when and if I (or the story's author) has the time to check them and after removing junk, phishing and so on. So don't hold your breath. Besides, if your comment doesn't get posted, don't write me about it. Evidently it wasn't worth it.
Luca V. By Luca V. posted 25/06/2008 20:01
Giepi By Giepi posted 24/08/2008 13:35
This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.
This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.
This site isn't optimized for vision with any specific browser, nor
it requires special fonts or resolution.
You're free to see it as you wish.