Tales from the Machine Room |
Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register
Bart - ...e quindi domani mattina andiamo ad installare il firewall.
DB - Ok. Bene. Ah, (guardando me) ho un bel lavoretto da farti fare.
IO - Ah si?
DB - Si'. Ci sono quelli di $noiguardiamoivostriinteressi che vogliono mettere
su un nuovo sito internet, hanno trovato un qualche scalzacani che glielo ha fatto
a costo quasi zero. Solo che hanno qualche dubbio relativo alla sicurezza del
sito, dato che vogliono usarlo per presentare informazioni legale e roba cosi'
vorrebbero da noi un controllo sulla "hackabilita" del sito.
IO - Oh che bello.
DB - Il sito e' questo (mi molla il foglio), il server pero' e' un
server di produzione che ospita altra roba, quindi non possiamo sfasciarglielo,
fai quello che ti pare ma lascialo in piedi.
IO - Hummm... sono le 5 di sera...
DB - Vabbe', lo fai domani.
Il giorno dopo prima vengo impegolato nel fare altre cose, poi, finalmente, verso mezzogiorno mi metto a guardare questo sito. Un merdaviglioso sito fatto in ASP. OK. Allora, tutti i link portano allo stesso script con un diverso 'id'... interessante. Ah, c'e' anche una funzione di login. Ok, registro e faccio login. Ah, bello, adesso posso aggiungere il mio "profilo". HUmmmm.
Salvo su disco la form di "modifica profilo" e la guardo.
C'e' un bellissimo campo nascosto che si chiama "idpagina", un altro campo nascosto che si chiama "tipopagina" ed un ennesimo campo nascosto che si chiama "idutente".
E poi c'e' un mastodontico Javascript che fa il "controllo" dei dati immessi. E guarda caso ci sono dei controlli che si riferiscono a campi che non sono qui.
Interessante. Ok, vediamo un po' come posso romperlo. Allora, dato che la voce "profilo" e' la prima voce nel menu' in alto, e, guarda caso, il "tipopagina" e' uno, io provo a fare una stupida paginetta html da tenere sul mio pc, con la stessa form, che punta allo stesso script, ma che mi permette di cambiare tutti i parametri e senza il bellissimo Javascript di controllo.
Ed indovina un po'. Posso aggiungere tutti i record che voglio in tutte le 'categorie' che voglio. Anche le categorie che io non potrei aggiungere. Tipo le "news" del sito o i "commenti" del webmastro.
E peggio ancora, lo posso fare anche se non sono loggato sul loro sito.
Stupendo.
Non e' che magari sta gente fa un controllo su cosa scrivo nel sito no?
Provo ad aggiungere un record sotto la categoria "annunci" (che non si potrebbe modificare, almeno secondo l'interfaccia "normale" del sito), contenente un bello scriptino che ridirige verso Playboy.
Oh che bello, adesso quando clicco su "annunci" vado direttamente su playboy! Il che tradotto significa niente controllo su quello che inserisce l'utente e niente ricontrollo manuale prima di pubblicarlo. Come diceva quello spettacolo everything goes.
Hummm.... allora, se "1" sono i profili e "2" sono gli annunci e ... allora "9" dovrebbero essere gli account utente...
E sono riuscito a cambiare la password di un altro utente. Ed a farmela mandare via mail sul mio indirizzo di posta.
Ok, in... hummm... un ora scarsa sono riuscito a piratargli mezzo sito, aggiungere immondizia in ogni angolo possibile immaginabile, catturare un account non mio, cambiare la password di un altro account... e tutto solo guardando un paio di pagine html. Non mi metto nemmeno a provare qualche cosa di piu' sofisticato.
Preparo una bella maillina di spiegazioni e suggerimenti, ovviemente il mio commento che "spesso si ottiene quello che si paga" non verra' recepito temo. Pero' mi piacerebbe tanto vedere la faccia del sedicente ASPirante programmatore quando si vedra' reindirizzato verso playboy...
Davide
03/07/2009 20:31
Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.
subject By Savoldi Claudio posted 02/03/2009 08:10
Rodorodorodorodorodo
"solo" Playboy? Che gentile sei stato ...
Hola!
-- Savoldi Claudio
wow! By Simone posted 02/03/2009 08:17
-- - Simone
Com'e' umano... By maxxfi posted 02/03/2009 08:40
>DB - Vabbe', lo fai domani.
Mi sarei aspettato da DB una risposta del tipo "Vabbe', domattina puoi venire in ufficio 1 ora piu' tardi"
Scherzi a parte, Davide quanto tempo ti e' servito completare per tutta la hackerata?
Complimenti per il "lavoretto"
-- maxxfi
-AT- maxxfi By Davide Bianchi posted 02/03/2009 09:06
Meno di un'ora, e la parte tragica e' che l'unica cosa che ho usato e' stato un browser ed un editor.
-- Davide Bianchi
"chi più spende meno spende" By Eugenio Dorigati posted 02/03/2009 08:51
Sbaglio o adesso che sei a $networkgestapo l'intelligenza media dei cl/clienti si è (almeno un po) alzata?
-- "Unix IS user friendly. It's just selective about who its friend are"
-AT- Eugenio Dorigati By Davide Inglima posted 02/03/2009 12:03
Quale parte di "é deployato su un server di produzione" non ti é chiara ;D
Scherzi a parte, per fare prove di affidabilità di un software prima di mandarlo su una macchina di produzione dovrebbe essere al massimo su un server "sfasciabile" sulla intranet. Sono stati fortunati che solo il nostro DB ci avesse messo le mani sopra, altrimenti si sarebbero ritrovati con un nuovo swerver smtp, ftp ed hosting di materiale di provenienza non meglio specficata.
-- http://limacat.blogspot.com
wannabe By lucac81 posted 02/03/2009 09:04
-- lucac81
-AT- lucac81 By Davide Bianchi posted 02/03/2009 09:06
A farlo, poco, ad hackarlo, di meno!
-- Davide Bianchi
Curiosità By Mauro Pietrobelli posted 02/03/2009 09:07
Ciao D e buona settimana.
-- Mamo
clickety-clickety-clickety By Mick Zio Zero posted 02/03/2009 09:11
poi ti meravigli se ricevi "proposte di acquisto" del tuo sito/dominio... non è che per caso hai fatto lo stesso giochino con altri sprovveduti in giro per la rete?
Ciao
-- Ciao,
Michele
Che cattiveria By Diego posted 02/03/2009 09:14
Non potevi redirigerlo sul sito dei loro concorrenti?
-- Diego
Questo mi ricorda... By Daniele C. posted 02/03/2009 09:20
Tempo 2 secondi:
Username: admin
Password: admin
Sorvoliamo sulle password in chiaro nel db, ovviamente, la cosa che più mi fece capire il problema era che l'autenticazione era tramite Cookie, non Session, e TUTTI i dati dell'utente venivano inseriti nel cookie, compresi quelli per l'autenticazione...
Come dite? Una cagata paurosa?
-- I can only please one person per day. Today is not your day. Tomorrow is not looking good either.
---
D.
Argh.... By Edenroz posted 02/03/2009 09:31
Non è che sei tu quell' acher che ruba le password di msn?
(ps: cosi mi han scritto una volta, aiuto un acher mi ha rubato la pass di msn)
-- Edenroz
subject By Tommaso posted 02/03/2009 09:43
Dì un po' bigD, ma quanto ci hanno messo a firmare un contrattone per rifare il sito da capo?
-- Il saggio coltiva Linux...
Tanto Windows si pianta da solo.
-AT- Tommaso By Davide Bianchi posted 02/03/2009 09:55
Stay tuned for more exciting episodes...
-- Davide Bianchi
rabbrividiamo... By Nik posted 02/03/2009 09:57
-AT- Daniele C.
non parlarmi di password idiote!! io combatto da anni la lotta per le password sicure, ma far capire che una password sicura è migliore di una facilmente memorizzabile (admin; data di nascita; nome oppure cognome; ecc...) è spesso difficile, come ben saprai
-- certe volte reindirizzerei tutti a /dev/null
-AT- Nik By Daniele C. posted 02/03/2009 10:22
> non parlarmi di password idiote!! io combatto da anni la lotta per le password sicure, ma far capire che una password sicura è migliore di una facilmente memorizzabile (admin; data di nascita; nome oppure cognome; ecc...) è spesso difficile, come ben saprai
> --
> certe volte reindirizzerei tutti a /dev/null
Ah, non ti invidio la lotta contro gli utonti delle password insicure, ma ho il mio bel da fare contro i peggior WebDesigner dell'universo (per dirti, come 'azzo fai a fare un file .asp di 1300, MILLETRECENTO, righe che gestisce l'inserimento e la visione di dati di una tabella MySQL?!?!), ma anche con il peggior LuserAdmin dell'universo, il BHFH!!
La sua ultima: dato che il suo tentativo di installare un server di posta non ha avuto esiti molto positivi ('somma aveva creato un relay pubblico), ha imposto l'autenticazione per l'invio (buona cosa), e l'obbligo di spedire via SMTP solo sulla porta 2525 (non sono un esperto di security quindi non so se è bene o non cambia nulla, D, rispondimi tu!). Peccato che il modulo ASP per l'invio di Mail che ha installato non permetta di impostare la porta SMTP da usare.
La sua soluzione, dato che, per sua stessa ammissione, non ha la più pallida idea di come impostare un account che possa inviare sulla porta 25, è stato installare un altro server virtuale, il cui unico compito è fare da relay verso il mail server buono, direttamente dalla porta 25.
Per dire, abbiamo proprio risorse da buttare via...
-- I can only please one person per day. Today is not your day. Tomorrow is not looking good either.
---
D.
-AT- Daniele C. By Davide Bianchi posted 02/03/2009 10:27
> imposto l'autenticazione per l'invio (buona cosa), e l'obbligo di spedire via SMTP solo sulla porta 2525 (non sono un esperto di security quindi non so se è bene o non cambia nulla, D, rispondimi tu!).
Cambia quasi nulla, elimini, in molti casi, i rompiballe piu' terra-terra, ma non e' che sia una cosa tanto anormale la porta 2525. Tipicamente la si usa quando il provider blocca la "normale" porta 25.
-- Davide Bianchi
Hacker By Kesty posted 02/03/2009 10:09
-- Kesty
-AT- Kesty By Daniele C. posted 02/03/2009 10:31
> --
> Kesty
Beh, JS può essere comodo per certi versi, metti di avere una form con 10 campi obbligatori, con JS eviti che l'utonto schissi submit prima di aver compilato i campi obbligatori e debba attendere la comunicazione col server per sapere se la richiesta è stata eseguita. Anche il fatto di criptare i dati prima di inviarli al server può essere un'ottima cosa (non per l'autenticazione, dato che inviare la password in chiaro o criptata non cambia molto se la action del login la accetta...), per evitare che dati personali vengano intercettati, ma per quello esiste da sempre SSL, no?
-- I can only please one person per day. Today is not your day. Tomorrow is not looking good either.
---
D.
-AT- Daniele C. By Davide Bianchi posted 02/03/2009 10:40
JS puo' essere comod _per certi versi_, ma usare solo quello e' un suicidio.
-- Davide Bianchi
-AT- Daniele C. By CinghialeMannaro posted 02/03/2009 15:32
Uhm, il javascript è comodo per avere un feeling piu' immediato se l'utente preme qualcosa di sbagliato o dimentica tutti i campi, ma l'esperienza insegna che la validazione delle form sta nella logica applicativa, NON in uno script di interfaccia utente, altrimenti basta che qualcuno forgi le cose come fa davide e addio pitena.
Certo davide che l33t h4x0r 5k1llz che hai!
-- CinghialeMannaro
Password insicure... By Kurgan posted 02/03/2009 11:04
Dopo che sono passato io, non e` piu` cosi.
Da un altro cliente, tutte le password di "amministrazione" erano uguali fra loro, e il router adsl era un cesso noto per avere una vulnerabilita` grossa come una casa (Scoperta da me un paio di anni prima e segnalata, ma questa e` un'altra storia) per cui gli si poteva CHIEDERE la password con un pacchetto UDP, da REMOTO. Morale: chiesta la password al router, frugato nella LAN con la stessa password, accesso completo alla rete in meno di mezz'ora. Purtroppo non ho visto la loro faccia quando hanno letto il report.
-- Il massimo danno con il minimo sforzo
-AT- Kurgan By maxxfi posted 02/03/2009 15:24
> Dopo che sono passato io, non e` piu` cosi.
>
E gli utenti che hanno detto?
1) Ben fatto. Ora i nostri account sono piu' sicuri
o
2) Uff... ma basta con queste paranoie sulla sicurezza
P.S. si, lo so che quando ci sono responsabilita' sulla sicurezza dei dati
quello che gli utenti dicono passa in secondo piano.
-- maxxfi
subject By FDG posted 02/03/2009 11:31
-- FDG
Umm... By Davide Inglima posted 02/03/2009 12:04
-- http://limacat.blogspot.com
Capita fin troppo spesso! By Stéphane posted 02/03/2009 12:13
-- Sté-Phane
subject By kache posted 02/03/2009 12:55
-- Poor little student...
-AT- kache By Davide Bianchi posted 02/03/2009 13:08
Scrivere siti web hackabili o hackarli?
-- Davide Bianchi
-AT- Davide Bianchi By Daniele C. posted 02/03/2009 15:16
>
> Scrivere siti web hackabili o hackarli?
> --
> Davide Bianchi
Scrivere siti Web Hackabili, farli pagare $big_bucks, addurre n-mila scuse infarcite di paroloni ultratecnici quando ti chiedono ragione di cracking vari e far fallire il cliente a forza di soldi spesi in assistenza (sempre fornita da te, ovviamente).
-- I can only please one person per day. Today is not your day. Tomorrow is not looking good either.
---
D.
-AT- Davide Bianchi By kache posted 04/03/2009 00:20
>
> Scrivere siti web hackabili o hackarli?
> --
> Davide Bianchi
Hackarli, ovvio...
Senti, parlando di fusione borg, proposta qualche notizia fa da qualcuno, cosa ne penseresti?
-- Poor little student...
-AT- kache By Davide Bianchi posted 04/03/2009 08:28
Huh?
-- Davide Bianchi
subject By Axel DominatoR posted 02/03/2009 14:36
-- Axel DominatoR ^^^ HC
-AT- Axel DominatoR By Andrea Ballarati posted 02/03/2009 19:24
Si corre verso una involuzione del genere umano...
-- Andrea Ballarati
-AT- Axel DominatoR By Massy posted 03/03/2009 04:46
Allora non sono il solo. Io ho visto nel codice html {!-- password per debug sadkjk12321[21 --//}
-- <b>Massy</b>
-AT- Massy By Riccardo C. [Gibbo] posted 03/03/2009 09:21
>
> Allora non sono il solo. Io ho visto nel codice html {!-- password per debug sadkjk12321[21 --//}
> --
> <b>Massy</b>
In modo diverso ma ci sono passato anche io...
Applicativo amministrativo, in pratica accozzaglia di maschere Access, protette da password di login...
Shift + Enter, si apre l'elenco di maschere / tabelle / query, bellissima tabella "login" con nomi utente e password in chiaro
-- Riccardo C.
sigh! By Simone posted 02/03/2009 15:35
-- - Simone
-AT- Simone By EnricoC posted 02/03/2009 23:50
> --
> - Simone
passi quello.... io ho fisto un post-it con la combinazione della cassaforte attaccato a fianco della stessa
-- EnricoC
subject By Marco Colombo posted 02/03/2009 15:52
É una questione di mentalità: se un'impresa costruisce una casa che viene giù al primo temporale, finisce nei guai, anche se il temporale lo crea l'"hacker" di turno con il tubo dell'acqua del giardino. Questo lo capisce chiunque.
Qui non si tratta di un bug, di un'abile operazione di cracking cercando nelle pieghe qualche vulnerabilità: questi hanno montato il tetto della casa al contrario, perché non sono capaci a fare case. Punto. D. ha fatto solo vedere che succede quando piove. Ma difficilmente chi ha comprato la casa lo capirà (e se lo capirà, lo ammetterà!)
-- Marco Colombo
Deja vu' parziale By Gama posted 02/03/2009 19:01
Dopo aver smantellato la ciofeca, registrati tutti gli errori e dopo aver scritto il tutto in una relazione sono stato chiamato a testimoniare di persona da $viceBoss e $direttoreGenerale (il controllo era stato richiesto da lui). Mi hanno chiesto di ri-spiegare quali erano i problemi in maniera piu' semplice possibile, hanno chiesto a coloro che avrebbero dovuto usare l'immondizia per lavorare un consulto, hanno appurato che si trattava di una patacca... Oggi quel coso e' entrato in produzione.
E' bello essere ascoltati soprattutto in concomitanza del fatto che il tuo stipendio viene ridotto di 30€ per via del fatto che la rimozione dell'ICI sulla prima casa ha richiesto atti di vampirismo economico su altre fonti...
Gama
-- Tutti abbiamo bisogno di credere in qualcosa... Io credo che mi faro' un'altra birra!
-AT- Gama By Francexi posted 02/03/2009 20:49
-- Francexi
-AT- Francexi By Massy posted 03/03/2009 04:45
Non è il linguaggio ma ciò che sta tra monitor e sgabello
-- <b>Massy</b>
un grande.... By EnricoC posted 02/03/2009 23:49
Traducimi "Scalzacani" che son curioso davvero!
-- EnricoC
-AT- EnricoC By Davide Bianchi posted 03/03/2009 08:35
>
> Traducimi "Scalzacani" che son curioso davvero!
knijper
-- Davide Bianchi
-AT- EnricoC By Nik posted 03/03/2009 09:50
>
> Traducimi "Scalzacani" che son curioso davvero!
> --
> EnricoC
Persona poco esperta nel proprio lavoro. ~ incapace, schiappa.
Comunque questa storia ha avuto effetti magici: un cliente mi ha chiesto di fargli l'aggiornamento del sito perché lui... ha perso la propria STUPIDISSIMA password-non-sicura-ma-memorizzabile!!
Felice come una pasqua, ho aggiornato, e gli ho cambiato la password con una decente.
-- certe volte reindirizzerei tutti a /dev/null
-AT- Nik By Daniele C. posted 03/03/2009 11:19
> Comunque questa storia ha avuto effetti magici: un cliente mi ha chiesto di fargli l'aggiornamento del sito perché lui... ha perso la propria STUPIDISSIMA password-non-sicura-ma-memorizzabile!!
> Felice come una pasqua, ho aggiornato, e gli ho cambiato la password con una decente.
Quindi ora ti aspetta una lunga e noiosa telefonata di lui che si lamenta della nuova password troppo complicata, perché è così stressante quando usi password difficile, ed è invece così pratico mettere la stessa password a posta, login, accessi speciali ad un sito, accesso normale ad un altro, etc, etc. Perché non si può avere una password sola e poi, perché le password, tanto chi mi va a guardare quello che faccio, mica ci metto la carta di credito, e poi ora e sicuro, blablablablabla
Al che tu, dopo un'ora, esaurito, gli rimetterai la stessa password, imparando la Regola N° 14 dell'Ordine di Dilbert:
Never argue with an idiot. They drag you down to their level, then beat you with experience.
-- I can only please one person per day. Today is not your day. Tomorrow is not looking good either.
---
D.
-AT- Daniele C. By Nik posted 04/03/2009 00:15
-- certe volte reindirizzerei tutti a /dev/null
tra l'altro... By Daniele C. posted 03/03/2009 11:14
Cioè, è come una fabbrica di serrature a combinazione che, dopo un intervento tecnico, cambiano la combinazione della cassaforte e poi la comunicano al cliente con una cartolina.
É sempre la solita situazione: pensare prima di fare. Ma, ovviamente, è troppo difficile...
-- I can only please one person per day. Today is not your day. Tomorrow is not looking good either.
---
D.
-AT- Daniele C. By Nik posted 04/03/2009 00:19
verissimo, in effetti! si potrebbe mettere i dati sensibili in un file zip protetto da password.... ma poi ci sarebbe lo stesso problema!!
alternative? caricare il file in un ftp dedicato ai clienti, oppure inviare la password via sms.
-- certe volte reindirizzerei tutti a /dev/null
-AT- Nik By Davide Bianchi posted 04/03/2009 08:28
> alternative?
PGP questo sconosciuto...
-- Davide Bianchi
-AT- Davide Bianchi By Nik posted 05/03/2009 11:44
> PGP questo sconosciuto...
>
> --
> Davide Bianchi
ooops che vergogna!! lapsus freudiano? e pensare che giusto l'altro giorno stavo lamentandomi dello scarso uso del PGP... ho bisogno di ferie
-- certe volte reindirizzerei tutti a /dev/null
-AT- Nik By Nik posted 05/03/2009 17:30
> ooops che vergogna!! lapsus freudiano? e pensare che giusto l'altro giorno stavo lamentandomi dello scarso uso del PGP... ho bisogno di ferie
> --
però dovrei insegnare agli utonti come si usa!!!! no no, non mi reggerebbero i nervi
-- certe volte reindirizzerei tutti a /dev/null
Sicurezza siti web By Kaspa posted 04/03/2009 17:40
-- Kaspa
Suggerimento. By Cthulhu posted 04/03/2009 22:06
http://www.youtube.com/watch?hl=it&v=qNNEJb1F_og&gl=IT
applicatamente,
Cthulhu
-- Cthulhu
ma i miei commenti??? By WM posted 06/03/2009 20:55
-- WM
-AT- WM By Davide Bianchi posted 06/03/2009 22:52
quali commenti?
-- Davide Bianchi
-AT- Davide Bianchi By WM posted 07/03/2009 15:12
stavo dicendo che non racconti piu' dei tuoi incubi. se e' perche' non ne fai piu' allora le cose ti vanno cosi' bene che ti stai rilassando! (qui la toccatina e' d' obbligo)
-- WM
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.