Skip to content

Instantly share code, notes, and snippets.

@AppSecExplained
Created April 11, 2023 18:09
Show Gist options
  • Save AppSecExplained/aab510eead65c9c95aa20a69d89c9d2a to your computer and use it in GitHub Desktop.
Save AppSecExplained/aab510eead65c9c95aa20a69d89c9d2a to your computer and use it in GitHub Desktop.
<?php
// A script to check what you can use for RCE on a target
$test_command = 'echo "time for some fun!"';
$functions_to_test = [
'system',
'shell_exec',
'exec',
'passthru',
'popen',
'proc_open',
];
function test_function($func_name, $test_command) {
if (function_exists($func_name)) {
try {
$output = @$func_name($test_command);
if ($output) {
echo "Function '{$func_name}' enabled and executed the test command.\n";
} else {
echo "Function '{$func_name}' enabled, but failed to execute the test command.\n";
}
} catch (Throwable $e) {
echo "Function '{$func_name}' enabled, but an error occurred: {$e->getMessage()}\n";
}
} else {
echo "Function '{$func_name}' disabled or not available.\n";
}
}
foreach ($functions_to_test as $func) {
test_function($func, $test_command);
} ?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment