<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>DiGiTaL RiOt</title>
	<atom:link href="http://fatmatt.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fatmatt.wordpress.com</link>
	<description>Hacking, Sicurezza, Programmazione e Crittografia by fatmatt</description>
	<lastBuildDate>Mon, 16 Nov 2009 11:59:59 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='fatmatt.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/7f1fa06c6c810b0f726501900243c4b2?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>DiGiTaL RiOt</title>
		<link>http://fatmatt.wordpress.com</link>
	</image>
			<item>
		<title>Session Storage: sicurezza delle applicazioni php ed insicurezze degli hosting condivisi</title>
		<link>http://fatmatt.wordpress.com/2009/11/09/session-storage-sicurezza-delle-applicazioni-php-ed-insicurezze-degli-hosting-condivisi/</link>
		<comments>http://fatmatt.wordpress.com/2009/11/09/session-storage-sicurezza-delle-applicazioni-php-ed-insicurezze-degli-hosting-condivisi/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 12:27:10 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[Sessioni]]></category>
		<category><![CDATA[Sicurezza]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[session storage]]></category>
		<category><![CDATA[sessioni]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=212</guid>
		<description><![CDATA[Php salva i dati relativi alle sessioni tramite la serializzazione, ovvero l&#8217;array $_SESSION viene linearizzato e salvato in un supporto come un file o un record di un database.

Il comportamento di questa caratteristica di php può essere controllato da due variabili di configurazione di php:
Session.save_handler: indica a php come viene salvata la sessione e in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=212&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } -->Php salva i dati relativi alle sessioni tramite la serializzazione, ovvero l&#8217;array <span style="color:#800000;">$_SESSION</span> viene linearizzato e salvato in un supporto come un file o un record di un database.</p>
<p><a href="http://fatmatt.files.wordpress.com/2009/11/funny-pictures-chipmunk-has-storage.jpg" title="session storage"><img class="alignleft size-medium wp-image-217" title="session storage" alt="session storage" src="http://fatmatt.files.wordpress.com/2009/11/funny-pictures-chipmunk-has-storage.jpg?w=300&#038;h=240" width="300" height="240" /></a></p>
<p>Il comportamento di questa caratteristica di php può essere controllato da due variabili di configurazione di php:</p>
<p><strong>Session.save_handler</strong>: indica a php come viene salvata la sessione e in quale supporto, il valore di default è file (quindi php out of the box scrive i dati di sessione su un file) mentre gli altri valori possibili son user, mm e sqlite.</p>
<p><strong>Session.save_path</strong>: indica la directory in cui le sessioni saranno salvate e mantenute. Il valore di default è /tmp (la mia installazione di xampp ad esempio salva in C:\xampp\tmp).</p>
<p>Al giorno d&#8217;oggi la maggior parte dei servizi di hosting forniscono un servizio di hosting condiviso, molto gettonato perchè abbassa di molto i costi sia per la gestione che per l&#8217;utente finale. Un setup del genere però, in cui diverse web application girano sullo stesso server in cui tutte le sessioni vengono salvate nella <strong>stessa directory</strong> porta degli enormi problemi di sicurezza, vediamo un esempio:</p>
<p>Un cliente del servizio di hosting ha due applicazioni web che girano sullo stesso server. Entrambe fanno uso di sessioni ma sono destinate ad utilizzi diversi; entrambe fanno uso di form per inserire dati nel sito ma la prima delle due applicazioni salva nella sessione anche l&#8217;input utente non filtrato, mentre la seconda mantiene in sessione soltanto dati filtrati.</p>
<p>Poiché le due applicazioni condividono lo spazio in cui vengono salvate le sessioni un possibile attacco consiste nel:</p>
<ol>
<li>Popolare la sessione della prima applicazione (che non filtra 	l&#8217;input) con dati creati ad hoc</li>
<li>Modificare il cookie della sessione relativa all&#8217;applicazione 	2 inserendo il session id dell&#8217;applicazione 1 (questa sessione 	contiene dati non filtrati)</li>
<li>L&#8217;attaccante utilizza i dati non filtrati dell&#8217;applicazione 	1 per danneggiare l&#8217;applicazione 2.</li>
</ol>
<p>Altro scenario ancora più pericoloso riguarda la condivisione di spazio di salvataggio delle sessioni e dell&#8217;<strong>implementazione</strong> dell&#8217;applicazione: capita spesso che i servizi di hosting php mettano a disposizione alcuni CMS per facilitare l&#8217;avvio di un sito web, ecco quali sono i rischi:</p>
<ol>
<li>L&#8217;attaccante è un utente dell&#8217;applicazione 1 con certi 	privilegi, magari è un editor o un moderatore. In particolare 	l&#8217;applicazione 1 si apoggia su un CMS.</li>
<li>L&#8217;applicazione 2 condivide la directory di salvataggio delle 	sessioni (sempre lo stesso servizio di web hosting un pò farlocco) 	ma in più si appoggia allo stesso CMS dell&#8217;applicazione 1.</li>
<li>L&#8217;attaccante logga nella applicazione 2 come utente senza 	privilegi, copia il session id dell&#8217;applicazione 1 nel cookie 	dell&#8217;applicazione 2 e si ritrova loggato con gli stessi privilegi 	che aveva nell&#8217;applicazione 1 (perchè le due applicazioni fanno uso 	dello stesso sistema di gestione dei ruoli).</li>
</ol>
<p>Vediamo quindi che potenzialmente, se un servzio di hosting, ospitante un sito non protetto, non si occupasse di dividere le directory dedicate alle sessioni, i problemi di sicurezza del sito non protetto potrebbero ripercuotersi anche sugli altri.</p>
<p>Ne consegue che la precauzione necessaria al fine di evitare queste falle di sicurezza è la divisione delle directory di salvataggio delle sessioni in applicazioni, così che ogni applicazione avrà la propria directory, ad esempio:</p>
<p>/tmp/applicazione1</p>
<p>/tmp/applicazione2 ecc..</p>
<p>Se il servizio di hosting in cui ci appoggiamo non ha già pensato a modificare la variabile del php.ini possiamo provare ad aggiungere la seguente riga di codice nella nostra applicazione:</p>
<p><span style="color:#001644;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>ini_set(‘session.save_path‘, ‘/tmp/nostra_app‘);</strong></span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Incrociando le dita e sperando che la funzione ini_set non sia inibita dal servizio di hosting.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Un&#8217;altra soluzione è quella di aggiungere una variabile all&#8217;interno della nostra sessione che identifichi univocamente la nostra applicazione, ad esempio:</span></span></span></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --><span style="color:#001644;"><span style="font-family:Microsoft YaHei,sans-serif;"><span style="font-size:small;"><span style="color:#2323dc;">session_start</span>();</span></span></span></p>
<p><span style="color:#001644;"><span style="font-family:Microsoft YaHei,sans-serif;"><span style="font-size:small;"><strong>if</strong> (!<span style="color:#2323dc;">isset</span>(<span style="color:#dc2300;">$_SESSION</span>[<span style="color:#5c8526;">'application'</span>]) <strong>||</strong> ((string)<span style="color:#dc2300;">$_SESSION</span>[<span style="color:#5c8526;">'application'</span>] !== <span style="color:#5c8526;">&#8216;application_1&#8242;</span>)) {</span></span></span></p>
<p><span style="color:#001644;"><span style="font-family:Microsoft YaHei,sans-serif;"><span style="font-size:small;"><span style="color:#2323dc;">session_regenerate_id</span>();</span></span></span></p>
<p><span style="color:#001644;"><span style="font-family:Microsoft YaHei,sans-serif;"><span style="font-size:small;"><span style="color:#dc2300;">$_SESSION</span> =<span style="color:#2323dc;"> array</span>(<span style="color:#5c8526;">&#8216;application&#8217; </span>=&gt; &#8216;<span style="color:#5c8526;">application_1&#8242;</span>);</span></span></span></p>
<p><span style="color:#001644;"><span style="font-family:Microsoft YaHei,sans-serif;"><span style="font-size:small;">}</span></span></span></p>
<p>In questo modo il cookie modificato dall&#8217;attaccante sarà diverso dai cookie della nostra applicazione e l&#8217;id di sessione viene rigenerato.</p>
<p>Un metodo forse ancora più efficiente per gestire il mantenimento delle sessioni nel web server consiste nell&#8217;<strong>implementazione manuale</strong> delle funzioni di session storaging tramite la funzione <span style="color:#0000ff;">set_session_save_handler</span>(): essa permette di definire quali funzioni si occupano delle diverse operazioni di gestione delle sessioni.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/212/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=212&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/11/09/session-storage-sicurezza-delle-applicazioni-php-ed-insicurezze-degli-hosting-condivisi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/11/funny-pictures-chipmunk-has-storage.jpg?w=300" medium="image">
			<media:title type="html">session storage</media:title>
		</media:content>
	</item>
		<item>
		<title>Netlog vulnerabile a CSRF</title>
		<link>http://fatmatt.wordpress.com/2009/10/18/netlog-vulnerabile-a-csrf-2/</link>
		<comments>http://fatmatt.wordpress.com/2009/10/18/netlog-vulnerabile-a-csrf-2/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 19:19:38 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[Advisory]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Sicurezza]]></category>
		<category><![CDATA[netlog]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=202</guid>
		<description><![CDATA[Premetto che non mi assumo nessuna responsabilità per eventuali danni causati sul sito in questione.
In un mio precedente articolo, risalente a qualche mese fa, riportavo la suddetta vulnerabilità di questa (abbastanza) famosa piattaforma di social networking.
Ho inviato delle mail al support italiano, sono stato rimandato a quello europeo dai quali non ho mai più ricevuto [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=202&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Premetto che <strong>non mi assumo nessuna responsabilità per eventuali danni causati sul sito in questione</strong>.</p>
<p>In un mio <a href="http://fatmatt.wordpress.com/2009/07/11/netlog-vulnerabile-a-csrf/">precedente articolo</a>, risalente a qualche mese fa, riportavo la suddetta vulnerabilità di questa (abbastanza) famosa piattaforma di social networking.<br />
Ho inviato delle mail al support italiano, sono stato rimandato a quello europeo dai quali non ho mai più ricevuto alcuna risposta&#8230;. evidentemente non lo ritengono una minaccia.</p>
<p>Data Contatto: 11/07/2009 (senza ottenere risposta)<br />
Pubblicazione:18/10/09<br />
Tipologia:Cross Site Request Forgeries<br />
Indirizzo: it.netlog.com</p>
<p><a href="http://fatmatt.files.wordpress.com/2009/07/netlog.jpg"><img class="alignleft size-full wp-image-152" title="netlog" src="http://fatmatt.files.wordpress.com/2009/07/netlog.jpg?w=250&#038;h=125" alt="netlog" width="250" height="125" /></a>Eseguendo  nel browser la pagina creata ad hoc (ecco un <a href="http://www.mediafire.com/?sharekey=68395ad6c66659b15a3d773badf21430e04e75f6e8ebb871">esempio</a>) mentre è attiva una sessione in netlog,  la vittima si ritroverà tra i post del suo blog un nuovo articolo, <strong>il quale contenuto sarà a completa discrezione di chi esegue l&#8217;attacco</strong>. Non ho avuto tempo di provare ad inserire vettori XSS ma probabilmente ci sarà modo ,visto che non fixano il form nemmeno sotto segnalazione.</p>
<p>Questa vulnerabilità permette la <strong>auto-distribuzione dell&#8217; attacco</strong>, poichè se il post forgiato  contenesse un link alla pagina di partenza da cui il post stesso è stato creato e se un altro utente vi cliccasse, esso si replicherebbe istantaneamente nel profilo di chi ha visitato la pagina infetta . La capacità di autodiffondersi unita ad una falla XSS rappresenterebbe una minaccia per gli utenti di Netlog.</p>
<p>Il file di prova che ho inserito in questo articolo è puramente a scopo informativo, scoraggio chiunque nell&#8217;effettuare un attacco verso il sito internet indicato.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/202/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=202&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/10/18/netlog-vulnerabile-a-csrf-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/07/netlog.jpg" medium="image">
			<media:title type="html">netlog</media:title>
		</media:content>
	</item>
		<item>
		<title>Vulnerabilità modulo News v1.63 per Xoops</title>
		<link>http://fatmatt.wordpress.com/2009/07/27/vulnerabilita-modulo-news-v1-63-per-xoops/</link>
		<comments>http://fatmatt.wordpress.com/2009/07/27/vulnerabilita-modulo-news-v1-63-per-xoops/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 12:56:20 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[Advisory]]></category>
		<category><![CDATA[Vulnerabilità]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[xoops]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=189</guid>
		<description><![CDATA[Vulnerabilità Modulo News per Xoops
Il modulo news (La versione più aggiornata è la 1.63) per la gestione dei contenuti in Xoops è vulnerabile a XSS e CSRF.
Il modulo news, mette a disposizione un form per l&#8217;invio di nuovi post e di nuovi topic di sezione; sono entrambi vulnerabili a CSRF in quanto non protetti da [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=189&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h1>Vulnerabilità Modulo News per Xoops</h1>
<div class="wp-caption aligncenter" style="width: 270px"><img title="Vulnerabilità Xoops modulo news" src="http://www.xoops.org/themes/zetagenesis/img/header-logo_big.png" alt="" width="260" height="117" /><p class="wp-caption-text">Vulnerabilità Xoops modulo news</p></div>
<p>Il modulo news (La versione più aggiornata è la 1.63) per la gestione dei contenuti in Xoops è vulnerabile a XSS e CSRF.</p>
<p>Il modulo news, mette a disposizione un form per l&#8217;invio di nuovi post e di nuovi topic di sezione; sono entrambi vulnerabili a CSRF in quanto non protetti da alcun token di sessione.</p>
<p>Inoltre, il modulo news non effettua nessun escaping con l&#8217;editor DHTML ed è possibile inserire tag html, compreso &lt;script&gt;, &lt;link&gt; ecc.., quindi è possibile fare in modo che venga postato del codice javascript ad insaputa dell&#8217;autore e questo ha miliardi di applicazioni. Impostare un editor diverso da DHTML non servirebbe a molto in quanto è possibile modificare il tipo di editor con una semplce richiesta cross site.</p>
<h3><span style="font-size:small;">PoC</span></h3>
<p><span style="font-size:small;">Scaricate ed installate l&#8217;ultima versione di Xoops e del suddetto modulo News</span></p>
<ul>
<li>Modulo News: 	<a href="http://www.xoops.org/modules/repository/viewcat.php?cid=48">http://www.xoops.org/modules/repository/viewcat.php?cid=48</a></li>
<li>Xoops 2.3 <a href="http://www.xoops.org/">http://www.xoops.org/</a></li>
</ul>
<p><a href="http://localhost/xoops-2.3.3/htdocs/modules/news/admin/index.php?op=newarticle">http://localhost/xoops-2.3.3/htdocs/modules/news/admin/index.php?op=newarticle</a> è l&#8217;url che vi fa raggiungere direttamente il form in questione, vi basta copiare l&#8217;html del form e correggere il tag &lt;textarea&gt; che viene espresso come &lt;textarea /&gt;, questo comporta che il restante codice html che includerete sarà interpretato come testo della &lt;textarea&gt;, mentre utilizzando &lt;textarea&gt;&lt;/textarea&gt;  ciò non accade. Salvate il form che avete copiato , oppure prendete il <a href="http://fatmatt.files.wordpress.com/2009/07/xoopsnewsexpl.odt">mio</a> e apritelo con il browser.</p>
<p>Sarete persino in grado di fare l&#8217;upload di un file che volete voi (sempre che sia tra i tipi MIME accettati dal server e da xoops).</p>
<p>Per metterci una pezza, installate il modulo protector, che trovate anche nel sito di xoops e magari provate qualche altro modulo per la gestione dei contenuti (se proprio non potete fare a meno di utilizzare xoops, che dopotutto è un buon cms)</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/189/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=189&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/07/27/vulnerabilita-modulo-news-v1-63-per-xoops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://www.xoops.org/themes/zetagenesis/img/header-logo_big.png" medium="image">
			<media:title type="html">Vulnerabilità Xoops modulo news</media:title>
		</media:content>
	</item>
		<item>
		<title>Google, il caldo ed i video che tanto video non sono</title>
		<link>http://fatmatt.wordpress.com/2009/07/25/google-il-caldo-ed-i-video-che-tanto-video-non-sono/</link>
		<comments>http://fatmatt.wordpress.com/2009/07/25/google-il-caldo-ed-i-video-che-tanto-video-non-sono/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 09:59:03 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Story]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=183</guid>
		<description><![CDATA[Sarà il caldo, ma ultimamente google tende ad interpretare alcuni dei miei articoli su CSRF come se fossero dei video&#8230; strano perchè non ho inserito nessun filmato tantomeno tag diversi da img. Ma come potete vedere dall&#8217;immagine sottostante, Google è proprio convinto che i miei articoli siano dei video.


Sarà il nuovo bug amico dei  SEO [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=183&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Sarà il caldo, ma ultimamente google tende ad interpretare alcuni dei miei articoli su CSRF come se fossero dei video&#8230; strano perchè non ho inserito nessun filmato tantomeno tag diversi da img. Ma come potete vedere dall&#8217;immagine sottostante, Google è proprio convinto che i miei articoli siano dei video.</p>
<p><img class="aligncenter size-full wp-image-184" title="madgoogle1" src="http://fatmatt.files.wordpress.com/2009/07/madgoogle1.jpg?w=500&#038;h=333" alt="madgoogle1" width="500" height="333" /></p>
<p><img class="aligncenter size-full wp-image-185" title="googlemad2" src="http://fatmatt.files.wordpress.com/2009/07/googlemad2.jpg?w=500&#038;h=301" alt="googlemad2" width="500" height="301" /></p>
<p>Sarà il nuovo bug amico dei  <a href="http://it.wikipedia.org/wiki/Ottimizzazione_%28motori_di_ricerca%29">SEO</a> ? Chi vivrà vedrà.</p>
<p>Ecco il <a href="http://fatmatt.wordpress.com/2009/07/11/netlog-vulnerabile-a-csrf/">link</a> al mio video, ops scusate, al mio articolo.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/183/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/183/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/183/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=183&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/07/25/google-il-caldo-ed-i-video-che-tanto-video-non-sono/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/07/madgoogle1.jpg" medium="image">
			<media:title type="html">madgoogle1</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/07/googlemad2.jpg" medium="image">
			<media:title type="html">googlemad2</media:title>
		</media:content>
	</item>
		<item>
		<title>Css History Hack: discussione e prevenzione</title>
		<link>http://fatmatt.wordpress.com/2009/07/22/css-history-hack/</link>
		<comments>http://fatmatt.wordpress.com/2009/07/22/css-history-hack/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 19:40:56 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[Exploit]]></category>
		<category><![CDATA[Sicurezza]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=171</guid>
		<description><![CDATA[La settimana scorsa è spuntato un post nel forum sla.ckers.org che ha attirato subito la mia attenzione. Vista l&#8217;impossibilità di accedere all&#8217;oggetto history per navigare tra i vari elementi della cronologia, si è pensato ad un metodo alternativo ma molto efficace per accedere ad essa.
Il funzionamento di base è molto semplice e si appoggia su [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=171&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignleft size-full wp-image-177" title="hist" src="http://fatmatt.files.wordpress.com/2009/07/hist.png?w=297&#038;h=350" alt="hist" width="297" height="350" />La settimana scorsa è spuntato un <a href="http://sla.ckers.org/forum/read.php?4,29358">post</a> nel forum <a href="http://sla.ckers.org/forum/">sla.ckers.org</a> che ha attirato subito la mia attenzione. Vista l&#8217;impossibilità di accedere all&#8217;oggetto history per navigare tra i vari elementi della cronologia, si è pensato ad un metodo alternativo ma molto efficace per accedere ad essa.</p>
<p>Il funzionamento di base è molto semplice e si appoggia su di una funzionalità messa a disposizione dai browser di oggi attraverso i CSS: la specifica <em>a:visited</em>. Cerchiamo di capire meglio con un esempio:</p>
<p><!-- 		@page { margin: 2cm } 		TD P { margin-bottom: 0cm } 		P { margin-bottom: 0.21cm } --></p>
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<col width="256"></col>
<tbody>
<tr>
<td width="100%" valign="top" bgcolor="#e6e6ff">&lt;!DOCTYPE HTML PUBLIC &#8220;-//W3C//DTD HTML 4.0 Transitional//EN&#8221;&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Css history&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
var knownurls = [<br />
'http://www.google.it', 'http://www.myspace.com',<br />
'http://www.yahoo.com', 'http://www.google.com',<br />
'http://www.twitter.com', 'http://it.netlog.com',<br />
'http://ha.ckers.org', 'http://seoblackhat.com',<br />
'http://www.cgisecurity.com',  , 'http://www.facebook.com/home.php'<br />
];<br />
document.write( &#8216;&lt;style type=&#8221;text/css&#8221;&gt;a:link{color:#fff;}&#8217; );<br />
document.write( &#8216;a:visited{height:1px;width:1px;display:block;overflow:hidden;margin:1px;}&#8217; );<br />
document.write( &#8216;{font-size:1px;overflow:hidden;height:1px;margin:0;padding:0;}&lt;/style&gt;&#8217; );<br />
var output = &#8216;&lt;h1&gt;Urls riconosciuti&lt;/h1&gt;&lt;ul&gt;&#8217;;<br />
var c = document.createElement(&#8216;div&#8217;);<br />
document.body.appendChild(c)<br />
for(i in knownurls){<br />
var anchor=document.createElement(&#8216;a&#8217;);<br />
anchor.href=knownurls[i];<br />
anchor.innerHTML=knownurls[i];<br />
c.appendChild(anchor)<br />
if(anchor.offsetHeight==1){<br />
output+=&#8217;&lt;li&gt;&#8217;+knownurls[i]+&#8217;&lt;/li&gt;&#8217;;<br />
}<br />
}<br />
document.write(output+&#8217;&lt;/ul&gt;&#8217;);<br />
&lt;/script&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</td>
</tr>
</tbody>
</table>
<p style="margin-bottom:0;">Questa porzione di codice funziona più o meno in questo modo: ho una lista di url, li stampo in una pagina html e sfrutto il selettore visited. Se l&#8217;url è stato visitato dalla vittima, la specifica visited fa si che a quello specifico url vengano assegnate delle caratteristiche (via CSS) che lo rendano riconoscibile ed infine lo inserisce nel testo della pagina html. In questo modo aprendo questa pagina con il browser vedremo una lista di url contenente soltanto indirizzi già visitati .</p>
<p style="margin-bottom:0;">Naturalmente, per ottenere una lista cospicua di siti visitati è bene aggiungere molti elementi all&#8217;array knownurls, ad esempio cercando tra  i siti più visitati dagli utenti di alcuni social bookmarking come delicious e digg.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Il codice javascript che riconosce questi url può essere facilmente nascosto ed utilizzato per lanciare automaticamente attacchi di tipo CSRF, poichè c&#8217;è una buona probabilità che l&#8217;utente abbia una sessione attiva in uno dei siti precedentemente visitati.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Altro pericoloso utilizzo di questa tecnica permette all&#8217;attaccante di ottenere un token di sessione propagato via url (una tecnica di protezione piuttosto ambigua che discuterò in un prossimo articolo) .</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Alcuni sviluppatori inseriscono un token di conferma per ogni richiesta nell&#8217;url, così da rifiutare ogni richiesta non attendibile. Questo implica una diminuzione del traffico indesiderato e delle richieste non autorizzate, ma d&#8217;altra parte espone il token di sessione che potrebbe essere salvato dalla cronologia. Quest&#8217;ultima, come abbiamo visto, risulta essere vulnerabile quindi ci ritroveremmo con i nostri token di sessione esposti a favore dell&#8217;attaccante.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Quest&#8217;ultimo, una volta compreso il formato del token, potrebbe  con un semplice script javascript generare migliaia di token in pochi secondi, con una buona probabilità di ottenere il nostro token di sessione e quindi  accedere a dati sensibili.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Ci tengo a ribadire il concetto che session id e tokens sono strumenti di sicurezza, ma anche essi vanno protetti adeguatamente. Perciò vi consiglio di <strong>NON</strong> propagare il token di sessione via url ma di farlo attraverso campi nascosti di un form e di rigenerarlo il più possibile.</p>
<p style="margin-bottom:0;">Se siamo utenti, possiamo ricorrere all&#8217;estensione per firefox <a href="http://www.safehistory.com/">SafeHistory</a> che ci protegge dal tipo di attacco oggetto di questo articolo.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/171/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=171&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/07/22/css-history-hack/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/07/hist.png" medium="image">
			<media:title type="html">hist</media:title>
		</media:content>
	</item>
		<item>
		<title>Capire la Session Fixation</title>
		<link>http://fatmatt.wordpress.com/2009/07/17/capire-la-session-fixation/</link>
		<comments>http://fatmatt.wordpress.com/2009/07/17/capire-la-session-fixation/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 17:03:47 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[Sicurezza]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[session fixation]]></category>
		<category><![CDATA[sessioni]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=158</guid>
		<description><![CDATA[Proprio in questi giorni mi sto occupando della stesura di un testo abbastanza lungo su &#8220;Come proteggere le sessioni&#8221; in php, per la precisione, 2 minuti fa mi stavo dedicando proprio a quel testo, ma nel frattempo mi è arrivata un&#8217;ispirazione ed intendo seguirla scrivendo questo articolo.
In breve, ogni sessione che inizializiamo nelle applicazioni web [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=158&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Proprio in questi giorni mi sto occupando della stesura di un testo abbastanza lungo su &#8220;Come proteggere le sessioni&#8221; in php, per la precisione, 2 minuti fa mi stavo dedicando proprio a quel testo, ma nel frattempo mi è arrivata un&#8217;ispirazione ed intendo seguirla scrivendo questo articolo.</p>
<p>In breve, ogni sessione che inizializiamo nelle applicazioni web viene riconosciuta tramite il <strong>session id</strong>: una stringa che ci lega univocamente ai dati della nostra attuale sessione nel server web. Solitamente questo session id viene propagato di comunicazione in comunicazione (browser/server) in 2 modi:</p>
<ul>
<li>via URL</li>
<li>via COOKIE</li>
</ul>
<p>Il primo dei due approcci è, secondo me, veramente <strong>sconsigliabile</strong>, in quanto espone al massimo il vostro id di sessione e potrebbe addirittura finire in qualche segnalibro o in qualche social network (la mia crociata è iniziata).Questo tipo di approccio può essere evitato impostando nel file php.ini, la variabile  <strong>session.use_trans_sid</strong> a 0. Il secondo non garantisce l&#8217;assoluta sicurezza, ma contribuisce ad aumentare la complessità della nostra identità online.</p>
<p>Il nostro Session Id potrebbe essere scovato in diversi modi:</p>
<ul>
<li>potrebbe semplicemente essere individuato indovinando l&#8217;id giusto, magari dopo averne generati e provati parecchi</li>
<li>si potrebbe sfruttare una vulnerabilità del browser della vittima per inviarsi i suoi cookie</li>
<li>attraverso la cosiddetta Session Fixation</li>
</ul>
<p>La session fixation consiste nel forzare la vittima ad utilizzare un id di sessione già noto, così da evitare di doverselo procurare. Un semplice esempio di session fixation può essere fatto utilizzando la esposizione di cui vi parlavo del session id via url:</p>
<p>La vittima riceve un link malevolo del tipo www.applicazioneNota.org?PHPSESSID=rr2339g9929f922nenoq123v9uu   così che la vittima sia forzata ad effettuare il login con quell&#8217;id di sessione associato.</p>
<p>Una volta loggata, la vittima inizializzerà i suoi dati di sessione , la quale è totalmente accessibile per l&#8217;attaccante che può così accedere ai dati sensibili della vittima. Ecco un esempio che non fa uso del SID via url, ma sfrutta la conoscenza del cookie giusto contenente il PHPSESSID</p>
<p><!-- 		@page { margin: 2cm } 		TD P { margin-bottom: 0cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --></p>
<table border="1" cellspacing="0" cellpadding="4" width="100%">
<col width="256"></col>
<tbody>
<tr>
<td width="100%" valign="top" bgcolor="#e6e6e6">&lt;?phpsession_name(&#8220;_crfl&#8221;);</p>
<p>session_start();</p>
<p>if (isset($_POST["mySecret"]))</p>
<p>$_SESSION["mySecret"] =   $_POST["mySecret"];</p>
<p>if (isset($_SESSION["mySecret"]))</p>
<p>echo &#8220;&lt;p&gt;Il tuo &lt;b&gt;segreto&lt;/b&gt; è: 			&#8220;.$_SESSION["mySecret"].&#8221;&lt;/p&gt;&#8221;;</p>
<p>else</p>
<p>echo &#8220;&lt;p&gt;Tu non hai alcun segreto con me&lt;/p&gt;&#8221;;</p>
<p>echo &#8220;informazione di servizio:&#8221;.session_id();</p>
<p>?&gt;</p>
<p>&lt;form action=&#8221;" method=&#8221;post&#8221;&gt;</p>
<p>&lt;input type=&#8221;text&#8221; name=&#8221;mySecret&#8221; /&gt;</p>
<p>&lt;input type=&#8221;submit&#8221;&gt;</p>
<p>&lt;/form&gt;</td>
</tr>
</tbody>
</table>
<p style="margin-bottom:0;">Ora munitevi di un plugin per firefox che vi mostri e vi permetta di modificare i cookie per poter testare a fondo questo metodo, ad esempio io utilizzo l&#8217;ottima estensione <a href="https://addons.mozilla.org/it/firefox/addon/60">Web Developer</a></p>
<p style="margin-bottom:0;">Salvate il listato sovrastante come fixation.php nel vostro server web e raggiungetelo con un browser (ad esempio firefox con l&#8217;estensione che vi ho linkato). Al primo accesso troverete il messaggio &#8220;tu non hai alcun segreto con me&#8221; e il vostro id di sessione</p>
<p style="margin-bottom:0;">Ora aprite la stessa pagina con un diverso browser oppure da un altro pc (se possibile), alla prima visita con il diverso browser otterrete la stessa scritta, ma se proviamo a digitare qualcosa nel browser e inviamo il form, otterremo la scritta: Il tuo segreto è: &lt;SEGRETO_SESSIONE2&gt; con annesso il vostro id di sessione, diverso dal primo ottenuto con l&#8217;altro browser, copiate questo id.</p>
<p style="margin-bottom:0;">Riprendete firefox e nel menu cookie, cliccate su visualizza cookie, una volta individuato il cookie che contiene l&#8217;id di sessione (nel nostro caso si chiama _clrf)  cliccate su modifica, come nell&#8217;immagine sottostante e inserite l&#8217;id che avete copiato dalla finestra del secondo browser.</p>
<p style="margin-bottom:0;"><img class="aligncenter size-full wp-image-160" title="Cattura" src="http://fatmatt.files.wordpress.com/2009/07/cattura.jpg?w=500&#038;h=291" alt="Cattura" width="500" height="291" />A questo punto avete modificato il cookie di sessione della sessione1 , provate a fare Refresh ed otterrete la scritta:</p>
<p style="margin-bottom:0;">Il tuo segreto è: &lt;SEGRETO_SESSIONE2&gt;</p>
<p style="margin-bottom:0;">La vittima vedrebbe così perdere la propria identità.</p>
<p style="margin-bottom:0;"><strong> </strong>Andiamo avanti con le possibili cause di perdita della propria identità a causa dei cookie</p>
<p style="margin-bottom:0;">In php, per impostare un cookie, si usa la sintassi:</p>
<p><!-- 		@page { margin: 2cm } 		TD P { margin-bottom: 0cm } 		P { margin-bottom: 0.21cm } --></p>
<table border="1" cellspacing="0" cellpadding="4" width="100%">
<col width="256"></col>
<tbody>
<tr>
<td width="100%" valign="top" bgcolor="#e6e6e6">&lt;?php</p>
<p>setcookie(<span style="color:#dd0000;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">&#8220;Nome_del_cookie&#8221;</span></span></span></span></span><span style="color:#007700;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">,</span></span></span></span></span><span style="color:#dd0000;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">&#8220;Valore&#8221;</span></span></span></span></span><span style="color:#007700;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">,</span></span></span></span></span><span style="color:#0000bb;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">$durata_del_cookie</span></span></span></span></span><span style="color:#007700;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">, </span></span></span></span></span><span style="color:#dd0000;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">&#8220;/&#8221;</span></span></span></span></span><span style="color:#007700;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">, </span></span></span></span></span><span style="color:#dd0000;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">&#8220;www.miosito.com&#8221;</span></span></span></span></span> )</p>
<p>?&gt;</td>
</tr>
</tbody>
</table>
<p style="margin-bottom:0;">dove i primi 3 argomenti si spiegano da soli, il quarto ci dice che il cookie varrà per tutto il dominio e l&#8217;ultimo parametro fornisce proprio il dominio.</p>
<p style="margin-bottom:0;">Se la vittima visitasse il sito creato ad hoc dall&#8217;attaccante, contenente il codice:</p>
<p><!-- 		@page { margin: 2cm } 		TD P { margin-bottom: 0cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --></p>
<table border="1" cellspacing="0" cellpadding="4" width="100%">
<col width="256"></col>
<tbody>
<tr>
<td width="100%" valign="top" bgcolor="#e6e6e6">&lt;?php</p>
<p>setcookie(<span style="color:#dd0000;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">&#8220;PHPSESSID&#8221;</span></span></span></span></span><span style="color:#007700;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">,</span></span></span></span></span><span style="color:#dd0000;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">&#8220;ticonosco&#8221;</span></span></span></span></span><span style="color:#007700;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">,</span></span></span></span></span><span style="color:#0000bb;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">time()+3600</span></span></span></span></span><span style="color:#007700;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">, </span></span></span></span></span><span style="color:#dd0000;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">&#8220;/&#8221;</span></span></span></span></span><span style="color:#007700;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">, </span></span></span></span></span><span style="color:#dd0000;"><span style="font-family:Consolas;"><span style="font-size:xx-small;"><span style="font-style:normal;"><span style="font-weight:normal;">&#8220;www.unsitointernet.com&#8221;</span></span></span></span></span> )</p>
<p>?&gt;</td>
</tr>
</tbody>
</table>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">e poi visitasse veramente www.unsitointernet.com si ritroverebbe con un cookie con il sesssion_id noto all&#8217;attaccante, una volta che la vittima abbia effettuato il login, l&#8217;attaccante potrebbe accedere alla sua sessione semplicemente replicando il suo SID</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Vi risulterà quindi evidente, che il session id non basta per validare un utente, ma bisogna fornire dati di conferma, che saranno comunque replicabili, ma almeno renderanno il tutto più difficile ad esempio controllando di volta in volta lo USER AGENT, o meglio, un digest MD5 dello stesso, poichè difficilmente un utente nell&#8217;ambito di una sessione si metterà a cambiare user agent.</p>
<p style="margin-bottom:0;">In definitiva però la cosa migliore da fare in questi casi è sfruttare la funzione session_regenerate_id():</p>
<p style="margin-bottom:0;">essa non fa altro che sostituire l&#8217;attuale PHPSESSID con un id nuovo, così, ripetendo questa operazione ad ogni richiesta renderemo la sessione più difficile da agganciare.</p>
<p style="margin-bottom:0;">Altra buona abitudine è quella di controllare che l&#8217;id di sessione sia stato generato dal server,così da avere la conferma che non provenga dall&#8217;esterno (ottimo contro l&#8217;ultimo tipo di attacco mostrato)</p>
<p><!-- 		@page { margin: 2cm } 		TD P { margin-bottom: 0cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --></p>
<table border="1" cellspacing="0" cellpadding="4" width="100%">
<col width="256"></col>
<tbody>
<tr>
<td width="100%" valign="top" bgcolor="#e6e6e6">if (!<span style="color:#0000ff;">isset</span>($<span style="color:#800000;">_SESSION</span>[<span style="color:#ff0000;">'SERVER_GENERATED_SID'</span>])) {</p>
<p><span style="color:#0000ff;">session_destroy()</span>; // destroy all data in session</p>
<p>}</p>
<p><span style="color:#0000ff;">session_regenerate_id()</span>; // generate a new session identifier</p>
<p><span style="color:#800000;">$_SESSION</span>[<span style="color:#ff0000;">'SERVER_GENERATED_SID'</span>] = true;</td>
</tr>
</tbody>
</table>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/158/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=158&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/07/17/capire-la-session-fixation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/07/cattura.jpg" medium="image">
			<media:title type="html">Cattura</media:title>
		</media:content>
	</item>
		<item>
		<title>Netlog vulnerabile a CSRF</title>
		<link>http://fatmatt.wordpress.com/2009/07/11/netlog-vulnerabile-a-csrf/</link>
		<comments>http://fatmatt.wordpress.com/2009/07/11/netlog-vulnerabile-a-csrf/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 12:57:16 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[Advisory]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Vulnerabilità]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=150</guid>
		<description><![CDATA[
Proprio di recente mi sono rimesso sui libri, non quelli dell&#8217;università perchè quelli non li ho mai lasciati e non lascerò per parecchio tempo,  ma quelli che leggo di notte davanti al pc.
Ho ricominciato la mia serie di pubblicazioni proprio parlando di CSRF e facendo una piccola pausa, ho loggato in Netlog, un social di [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=150&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="aligncenter size-medium wp-image-152" title="netlog" src="http://fatmatt.files.wordpress.com/2009/07/netlog.jpg?w=300&#038;h=150" alt="netlog" width="300" height="150" /></p>
<p>Proprio di recente mi sono rimesso sui libri, non quelli dell&#8217;università perchè quelli non li ho mai lasciati e non lascerò per parecchio tempo,  ma quelli che leggo di notte davanti al pc.</p>
<p>Ho ricominciato la mia serie di pubblicazioni proprio parlando di <a href="http://fatmatt.wordpress.com/category/csrf/">CSRF</a> e facendo una piccola pausa, ho loggato in <a href="http://it.netlog.com">Netlog</a>, un social di cui sono membro da ormai più di un anno.</p>
<p>In questo periodo,la mia installazione di firefox è praticamente inutilizzabile per navigare, a causa delle estensioni installate, ma spinto dall&#8217;abitudine , ho aperto nelog proprio con firefox  nel quale erano attive <a href="http://getfirebug.com/">Firebug</a> e <a href="https://addons.mozilla.org/it/firefox/addon/60">Webdeveloper</a>.</p>
<p>Dopo poco tempo sono venuto a capo della questione, scoprendo che quella sezione del sito è <strong>vulnerabile </strong> ad attacchi di tipo CSRF e poichè si tratta di un sito con tantissimi utenti, la faccenda sembra seria. :/</p>
<p>Non posso aggiungere altri dettagli finchè alla Netlog inc (xD) non avranno messo una toppa o finchè non sarà passato troppo tempo.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/150/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=150&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/07/11/netlog-vulnerabile-a-csrf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/07/netlog.jpg?w=300" medium="image">
			<media:title type="html">netlog</media:title>
		</media:content>
	</item>
		<item>
		<title>CSRF Cross site request forgeries: difendersi con i tokens</title>
		<link>http://fatmatt.wordpress.com/2009/07/10/cross-site-request-forgeries-difendersi-con-i-tokens/</link>
		<comments>http://fatmatt.wordpress.com/2009/07/10/cross-site-request-forgeries-difendersi-con-i-tokens/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 13:55:24 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Sicurezza]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=130</guid>
		<description><![CDATA[
In un precedente articolo, ho introdotto il concetto di CSRF, questa volta ci occuperemo di ovvero fornire i concetti di base della protezione contro questo tipo di attacchi. 

Ci tengo a precisare che anche questo articolo conterrà metodi di base per la protezione delle proprie applicazioni, in quanto la scienza dietro gli attacchi è davvero [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=130&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">In un <a href="http://fatmatt.wordpress.com/2007/11/29/csrf-basi-di-cross-site-request-forgery/">precedente articolo</a>, ho introdotto il concetto di CSRF, questa volta ci occuperemo di ovvero fornire i concetti di base della protezione contro questo tipo di attacchi. <img class="alignleft size-medium wp-image-139" title="funny_cat_pictures_092" src="http://fatmatt.files.wordpress.com/2009/07/funny_cat_pictures_092.jpg?w=300&#038;h=235" alt="funny_cat_pictures_092" width="300" height="235" /></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">Ci tengo a precisare che anche questo articolo conterrà metodi di base per la protezione delle proprie applicazioni, in quanto la scienza dietro gli attacchi è davvero molto sviluppata al momento.Abbiamo visto che un attacco di tipo CSRF consiste nel fare in modo che la vittima invii delle richieste inconsapevolmente, sfruttando le sue credenziali. Riportiamo brevemente un esempio per riprendere le fila del discorso: Mentre visitiamo la pagina “posta in arrivo” del nostro account email non protetto, apriamo un altra scheda del browser, capitando in un sito malevolo creato ad hoc per attaccare la pagina del nostro email service provider.  Cliccando su un semplice link del tipo:</p>
<p style="margin-bottom:0;">
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;border-color:black;border-style:thin;border-width:1px;">&lt;a href=”happy_page.php” onClick=”document.send_mail_form.submit()”&gt;Click&lt;/a&gt;</p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;border:1px;">e magari avendo semplicemente (ci sono modi  di gran lunga migliori per inviare richieste POST)  predisposto il seguente form nascosto:</p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --></p>
<p style="margin-bottom:0;">&lt;form name=”send_mail_form” method=”POST” action=”<a href="http://www.unsafe-email-service.com/">www.unsafe-email-service.com</a>”&gt;</p>
<p style="margin-bottom:0;">&lt;input type=”hidden” name=”receiver” value=”randomReceiver1”&gt;</p>
<p style="margin-bottom:0;">&lt;input type=”hidden” name=”receiver” value=”randomReceiver2”&gt;</p>
<p style="margin-bottom:0;">&lt;input type=”hidden” name=”receiver” value=”randomReceiver3”&gt;</p>
<p style="margin-bottom:0;">..</p>
<p style="margin-bottom:0;">&lt;input type=”hidden” name=”receiver” value=”randomReceiverN”&gt;</p>
<p style="margin-bottom:0;">&lt;input type=”hidden” name=”object” value=”Object”&gt;</p>
<p style="margin-bottom:0;">&lt;input type=”hidden” name=”text” value=”randomText”&gt;</p>
<p style="margin-bottom:0;">&lt;/form&gt;</p>
<p style="margin-bottom:0;">
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">comporterebbe l&#8217;immediato e totalmente<strong> involontario</strong> invio delle email con il nostro account di posta elettronica.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Come possiamo mitigare il rischio CSRF ,quantomeno, rendere gli attacchi meno scontati e facilmente implementabili? Un metodo largamente usato, in quanto offre un buon rapporto sicurezza/facilità di implementazione è quello dei <strong>Token</strong>.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Un token è una stringa di testo che funge da validazione per le richieste che inviamo alla nostra applicazione e deve essere correlata alla sessione dell&#8217;utente.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Potremmo sintetizzare il concetto nei seguenti passi: Creo il token, lo salvo nella sessione e lo richiedo per validare ogni input utente. Se il sistema rileva una richiesta POST non accompagnata dal corretto token ci permetterà di riconoscere un probabile tentativo di attacco e di interrompere l&#8217;esecuzione.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><strong>Parte 1</strong>: creiamo il token.</p>
<p style="margin-bottom:0;">Presupponendo che la sessione sia già stata inizializzata</p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">&lt;?php</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">$token =  sha1(uniqid(rand(),TRUE));</p>
<p style="margin-bottom:0;">$_SESSION['token'] = $token;</p>
<p style="margin-bottom:0;">?&gt;</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><strong>Parte 2</strong>: generiamo il form</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">&lt;form name=”myForm” method=”POST” action=”myPage.php”&gt;</p>
<p style="margin-bottom:0;">&lt;input type=”hidden” name=”token” value =” &lt;?php echo $_SESSION['token']; ?&gt; “ /&gt;</p>
<p style="margin-bottom:0;">&lt;input type=”text” name=”myText” /&gt;</p>
<p style="margin-bottom:0;">&lt;input type=”submit” value=”invia”&gt;</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;"><strong>Parte 3</strong>: controlliamo la validità della richiesta</p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">&lt;?php</p>
<p style="margin-bottom:0;">if (!isset ($_POST['token'] OR !isset ($_SESSION['token'] OR   $_POST['token'] != $_SESSION['token'] OR)</p>
<p style="margin-bottom:0;">{</p>
<p style="margin-bottom:0;">//errore! Interrompere l&#8217;esecuzione</p>
<p style="margin-bottom:0;">} else {</p>
<p style="margin-bottom:0;">//Il token è validato, possiamo procedere</p>
<p style="margin-bottom:0;">}</p>
<p style="margin-bottom:0;">?&gt;</p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">n questo modo costringiamo l&#8217;attaccante a scoprire il token assegnato alla sessione della vittima, inoltre questo fa si che l&#8217;attacco colpisca soltanto quell&#8217;utente, o comunque costringe l&#8217;attaccante a replicare il token di ogni vittima, affinchè le richieste artificiali da lui create bypassino il sistema di controllo.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Come migliorare questo approccio?</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Come ho già detto, questo metodo non garantisce la sicurezza assoluta, quindi se state cercando di mettere al sicuro i form di un sito di e-commerce, non vi consiglierei mai di fermarvi a questo livello di validazione; possiamo però migliorare il nostro codice di controllo in diversi modi. Vediamone alcuni.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Generiamo un token per ogni form della pagina che l&#8217;utente visualizza, così da aumentare la complessità del problema, potremmo dire che creare un token per ogni richiesta dell&#8217;applicazione sarebbe un&#8217;ottima cosa.</p>
<p style="margin-bottom:0;">Associamo un tempo di validità del token dopo il quale non verrebbe più considerato valido:</p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">&lt;?php</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">$token =  sha1(uniqid(rand(),TRUE));</p>
<p style="margin-bottom:0;">$_SESSION['token'] = $token;</p>
<p style="margin-bottom:0;">$_SESSION['token_time'] = time();</p>
<p style="margin-bottom:0;">?&gt;</p>
<p style="margin-bottom:0;">
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">e successivamente controlliamo che non sia passato troppo tempo dalla creazione del token, altrimenti lo consideriamo scaduto :</p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">&lt;?php</p>
<p style="margin-bottom:0;">if (!isset ($_POST['token'] OR !isset ($_SESSION['token'] OR   $_POST['token'] != $_SESSION['token'] OR)</p>
<p style="margin-bottom:0;">{</p>
<p style="margin-bottom:0;">//errore! Interrompere l&#8217;esecuzione</p>
<p style="margin-bottom:0;">} else {</p>
<p style="margin-bottom:0;">$token_time = time() &#8211; $_SESSION['token_time'];</p>
<p style="margin-bottom:0;">//Facciamo in modo che la durata massima del token sia di 10 minuti</p>
<p style="margin-bottom:0;">if ($token_time &lt; 600)</p>
<p style="margin-bottom:0;">{</p>
<p style="margin-bottom:0;">//interrompiamo l&#8217;interruzione informando che la pagina è scaduta</p>
<p style="margin-bottom:0;">}</p>
<p style="margin-bottom:0;">//Il token è validato, possiamo procedere</p>
<p style="margin-bottom:0;">}</p>
<p style="margin-bottom:0;">?&gt;</p>
<p style="margin-bottom:0;">
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;">Concludo proponendovi una riflessione: anche la miglior difesa contro attacchi di tipo CSRF può essere superata se non vi affianchiamo una ottima difesa per gli attacchi di tipo XSS, in quanto questi ultimi potrebbero essere utilizzati come “apripista” verso le nostre difese.</p>
<p style="margin-bottom:0;">
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=130&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/07/10/cross-site-request-forgeries-difendersi-con-i-tokens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/07/funny_cat_pictures_092.jpg?w=300" medium="image">
			<media:title type="html">funny_cat_pictures_092</media:title>
		</media:content>
	</item>
		<item>
		<title>Spam is not Dead</title>
		<link>http://fatmatt.wordpress.com/2009/07/08/spam-is-not-dead/</link>
		<comments>http://fatmatt.wordpress.com/2009/07/08/spam-is-not-dead/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 15:35:02 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[Inchiesta]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[netlog]]></category>
		<category><![CDATA[socialnetworks]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=119</guid>
		<description><![CDATA[



Il paradosso del video
 Personalmente sono un utente di diversi social network come twitter, netlog, livespace,  e facebook (ahimè per quest&#8217;ultimo se non fosse per i giochini lo avrei abbandonato), e sono in media collegato con 150 persone per ognuno. Diciamo che molti contatti si ripetono, in quanto molti di essi sono strambi come [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=119&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom:0;"><strong><br />
</strong></p>
<p style="margin-bottom:0;">
<div id="attachment_121" class="wp-caption alignleft" style="width: 272px"><img class="size-full wp-image-121" title="Faceboobs" src="http://fatmatt.files.wordpress.com/2009/07/faceboobs_tshirt-p235321673970123963trlf_400.jpg?w=262&#038;h=266" alt="Faceboobs" width="262" height="266" /><p class="wp-caption-text">Faceboobs</p></div>
<p><strong>Il paradosso del video</strong></p>
<p><strong> </strong>Personalmente sono un utente di diversi social network come twitter, netlog, livespace,  e facebook (ahimè per quest&#8217;ultimo se non fosse per i giochini lo avrei abbandonato), e sono in media collegato con 150 persone per ognuno. Diciamo che molti contatti si ripetono, in quanto molti di essi sono strambi come me ed utilizzano diversi social networks ed io li ho aggiunti in ognuno. In definitiva potrei avere 90 contatti per ognuno dei social sopra citati, quindi arriviamo a circa 450 contatti. Diciamo anche, che un mio amico decida di condividere con me uno di questi video divertenti e che io rimanga colpito a tal punto da postarlo in ognuno dei suddetti siti. Non per vantarmi ma io sono un tipo simpatico e supponiamo che per questo la gente sia portata a cliccare sui miei link e che il giorno della pubblicazione, 180 persone abbiano visto il mio link, ma solo 110 abbiano cliccato.</p>
<p style="margin-bottom:0;">Questo avrebbe portato un +110 al contatore di click di quel video divertente. Notate poi che io non sono l&#8217;unico simpatico stronzo (scusate il termine ma la consonanza è perfetta) che ha postato il video e che ha tanti amici virtuali&#8230; in definitiva quel giorno, il video avrà ricevuto, via passa parola , qualche migliaio di click.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><strong>Un po di considerazioni</strong></p>
<p style="margin-bottom:0;">Ogni utente di un social network è dotato di un <strong>potenziale comunicativo</strong><span style="font-weight:normal;"> che rende potenti le sue pubblicazioni, potremmo fare una bella similitudine con una piazza piena di gente che parla : chi ha la voce più potente o comunque chi riesce a farsi sentire da più gente ha il potenziale comunicativo più alto.</span></p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><span style="font-weight:normal;">Queste considerazioni sono facilmente traducibili in un modello matematico, così come sarebbe facilmente facile fare supposizioni sul potenziale comunicativo non degli utenti, ma dei social network stessi! Fondamentalmente, un contatto ha la possibilità di comunicare con un altro contatto, ma il social network ha la possibilità di comunicare con tutti i suoi contatti!</span></p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><span style="font-weight:normal;">Quando spuntiamo la casellina con scritto “accetto il trattamento dei dati personali bla bla bla” autorizziamo il social network e soprattutto </span><em><span style="font-weight:normal;">gli amici del social network </span></em><span style="font-style:normal;"><span style="font-weight:normal;">a comunicare con noi! E decidono loro cosa comunicarci. Cosa ci comunicheranno? La risposta è semplice:  come farli guadagnare. </span></span></p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><strong><span style="font-style:normal;">Perché tutto questo?</span></strong></p>
<p style="margin-bottom:0;font-weight:normal;"><span style="font-style:normal;">Tempo fa ho loggato in msn utilizzando un vecchissimo e decaduto contatto che avevo e udite udite c&#8217;erano 857 email belle pronte per essere cancellate (ne avrò cancellate almeno 840).</span></p>
<p style="margin-bottom:0;font-weight:normal;">
<p style="margin-bottom:0;font-weight:normal;"><span style="font-style:normal;">Inoltre, controllando la sezione “spam” del mio account di posta gmail ho notato che ogni giorno ricevo circa dalle 8 alle 13 email di spam (ma gmail mi conosce bene e sa cosa farsene)</span></p>
<p style="margin-bottom:0;font-weight:normal;">
<p style="margin-bottom:0;"><span style="font-style:normal;"><span style="font-weight:normal;">Per questo ho deciso di fare un piccolo test con dei miei indirizzi e mail personali, li iscriverò progressivamente a diversi siti internet (non solo i social networks) e monitorerò la quantità di email pubblicitarie a cui sarò sottoposto.</span></span></p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><span style="font-style:normal;"><span style="font-weight:normal;">Appena avrò dei dati interessanti scriverò il seguito di questo articolo.</span></span></p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><span style="font-style:normal;"><span style="font-weight:normal;">Nel frattempo non date via il vostro indirizzo email come se foste un verginello nel pianeta delle amazzoni. (singolare che un verginello nel pianeta delle amazzoni scambi il proprio contatto email eh? Beh altrimenti non sarebbe verginello). Magari procuratevi più caselle email: una per le cose importanti ed un altra per riempirla di spam dei siti a cui vi iscriverete <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </span></span></p>
<p style="margin-bottom:0;">
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=119&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/07/08/spam-is-not-dead/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/07/faceboobs_tshirt-p235321673970123963trlf_400.jpg" medium="image">
			<media:title type="html">Faceboobs</media:title>
		</media:content>
	</item>
		<item>
		<title>MyBrute.com</title>
		<link>http://fatmatt.wordpress.com/2009/04/15/mybrutecom/</link>
		<comments>http://fatmatt.wordpress.com/2009/04/15/mybrutecom/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 09:45:54 +0000</pubDate>
		<dc:creator>fatmatt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[MyBrute]]></category>
		<category><![CDATA[Svago]]></category>

		<guid isPermaLink="false">http://fatmatt.wordpress.com/?p=111</guid>
		<description><![CDATA[Lo svago non può mai mancare! Anche se in questo momento della mia vita  dovrei eliminarlo per riprendermi da questa fase di assoluta improduttività xD Se però, trovo uno svago che contiene : Ottimizzazione, Fama, Crescita e Competizione&#8230;. perdo la testa&#8230; ed eccomi qua  a parlarvi non di codici che iniziano con &#60;?php ma di [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=111&subd=fatmatt&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Lo svago non può mai mancare! Anche se in questo momento della mia vita  dovrei eliminarlo per riprendermi da questa fase di assoluta improduttività xD Se però, trovo uno svago che contiene : Ottimizzazione, Fama, Crescita e Competizione&#8230;. perdo la testa&#8230; ed eccomi qua  a parlarvi non di codici che iniziano con &lt;?php ma di un giochino flash molto divertente <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div id="attachment_113" class="wp-caption aligncenter" style="width: 512px"><img class="size-full wp-image-113" title="cattura" src="http://fatmatt.files.wordpress.com/2009/04/cattura.jpg?w=502&#038;h=310" alt="il mio stylahhhhhhh impegnato nel primo round del torneo (round vinto ovviamente xD)" width="502" height="310" /><p class="wp-caption-text">il mio stylahhhhhhh impegnato nel primo round del torneo (round vinto ovviamente xD)</p></div>
<p>MyBrute.com vi permette di creare il vostro personaggio e di farlo evolvere massacrando di schiaffi gli altri <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , non è un gioco interattivo dovete solamente sedervi comodi e pregare che il vostro personaggio distrugga l&#8217;avversario, combattimenti sempre  brevi ma intensi, divertimento assicurato!</p>
<p>Ad ogni combattimento guadagnate punti esperienza e con l&#8217;avanzare dei livelli guadagnate armi o abilità! L&#8217;unica limitazione che mi ha fatto storcere il naso inizialmente è la limitazione ad un certo numero di incontri al giorno&#8230;. probabilmente implementata per eliminare il fenomeno del NERDING estremo&#8230; anche perchè per essere un giochino flash da una certa dipendenza <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Però ogni tanto vengono organizzati dei tornei che vedono il vostro personaggio impegnato in una marea di scontri ravvicinati, è una goduria rivedersi i replay dei propri combattimenti <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Cominciate pure sfidando il mio:</p>
<p><a title="Sfida il mio Brute!!" href="http://stylahhhhhhh.mybrute.com">http://stylahhhhhhh.mybrute.com</a></p>
<p>Buon divertimento e che vinca il migliore !</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fatmatt.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fatmatt.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fatmatt.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fatmatt.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fatmatt.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fatmatt.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fatmatt.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fatmatt.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fatmatt.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fatmatt.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fatmatt.wordpress.com&blog=1698979&post=111&subd=fatmatt&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fatmatt.wordpress.com/2009/04/15/mybrutecom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a523c7359e4f62dc8a62f3bf2c906397?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fatmatt</media:title>
		</media:content>

		<media:content url="http://fatmatt.files.wordpress.com/2009/04/cattura.jpg" medium="image">
			<media:title type="html">cattura</media:title>
		</media:content>
	</item>
	</channel>
</rss>